QMT量化软件实战:快速判断股票是否“戴帽”(ST/PT)
发布时间:4小时前阅读:53
在A股市场,你经常会看到股票名字前面挂着“ST”或“PT”这两个字母,就像给股票“戴了个帽子”。这是交易所给股民的一个警告信号,意味着这只股票有问题。那么它们具体代表什么意思,以及怎么用QMT软件快速把它们筛掉?
一、ST和PT到底是什么意思?
ST(Special Treatment,特别处理)
大白话:就是这只股票最近财务状况或者经营出现了明显的问题,比如连续两年亏损、或者财务造假被查到了。
后果:每天涨跌幅限制从10%变成5%(创业板、科创板是20%变10%),而且买的时候需要签风险警示书。说白了,就是交易所提醒你:“这票有雷,悠着点。”
PT(Particular Transfer,特别转让)
大白话:这个现在基本退市了,以前是指已经连续三年亏损,被暂停上市,只能在特定日子用特别方式交易。
现状:现在A股已经没有PT股了(大多退市或恢复上市),但很多老股票的历史数据里还有这个标识。如果你在回测历史策略时碰到,要注意避开。
为什么筛选它们重要?
因为一只股票如果被戴帽(ST)或者曾有过PT历史,往往说明这家公司财务有严重问题,未来股价暴跌甚至退市的风险极高。很多量化策略在做选股时,第一件事就是先过滤掉这些“垃圾股”。
二、怎么用QMT快速判断股票是否处于ST/PT状态?
核心思路:QMT软件本身的数据里,可以用Python代码直接拉取每只股票的历史“ST状态标记”。
下面这个代码片段(注意:因为截图原因可能不完整,但核心逻辑没变),你可以直接复制到QMT的策略编辑器中,用来判断某只股票在指定日期是否处于ST或PT状态。
# -*- coding: utf-8 -*-
# 用QMT获取某只股票在指定日期是否被ST或PT
import datetime
def is_st_or_pt(stock_code, date):
"""
判断某只股票在指定日期是否处于ST或PT状态
:param stock_code: 股票代码,比如 '000001.SZ'
:param date: 日期,比如 '2023-01-01'
:return: True(是ST/PT)或 False(正常)
"""
# 这里调用QMT的API获取该股票在指定日期的状态标记
# 实际使用时需要替换为QMT的对应数据接口
# 例如:get_security_info(stock_code, date).is_st 之类的
# 伪代码如下:
market_data = get_security_info(stock_code, date)
if market_data:
return market_data.get('is_st', False) # 或者检查 'security_type' 字段
return False
# 示例用法
stock = '600519.SH' # 假设是贵州茅台
target_date = '2023-06-30'
if is_st_or_pt(stock, target_date):
print(f"{stock} 在 {target_date} 处于ST/PT状态,过滤掉")
else:
print(f"{stock} 在 {target_date} 状态正常,可以考虑")
关键点说明:
代码不全的应对:因为截图或排版原因,上面的代码可能缺少一部分(比如QMT真正的函数名),你需要去QMT的文档里搜 get_security_info 或 get_trade_detail_data 找到正确的字段。
QMT的实际数据字段:在QMT里,股票信息通常有一个 is_st 字段,或者 security_type 字段里会有 'ST'、'PT' 之类的标记。你可以用 print(dir(data)) 打印出来看具体的属性名。
常用过滤逻辑:大部分量化策略就是先拉出所有股票,然后遍历一遍,把 is_st 为 True 的踢掉,剩下的才是正常票。
三、避坑提示
- ST 会动态变化:一只股票今天正常,明天可能因为财报出问题变成ST。所以你的策略里,每天都要重新判断一次最新的ST状态。
- 历史回溯要小心:如果你在做历史回测(比如用2020年的数据),当时有些股票可能还不是ST,但现在是。回测时一定要用 当时 的ST状态数据,而不是现在的。QMT提供历史快照数据。
- PT基本绝迹:现在A股已经没有PT股票了,但如果你在回测旧数据(比如2015年以前),可能还会遇到。建议直接统一过滤掉所有曾有过PT状态的股票。
一句话总结:用QMT写策略时,第一行代码就应该加上一个“ST/PT过滤”函数,把那些“戴帽”的雷股扔掉。代码不全没关系,核心逻辑就是去拉QMT的 is_st 字段。跑通了之后,你选的股票基本就避开了最大的坑。
股票开户找我!优惠多多!免费提供量化工具!QMT & PTrade 均可开通!
温馨提示:投资有风险,选择需谨慎。


问一问

+微信
分享该文章
