量化qmt开通教程与qmt小市值选股策略(附代码)
发布时间:2026-2-10 17:06阅读:181
今天给大家推荐一个小市值选股策略,下面我讲一下这个策略的逻辑概述,
选股逻辑:
1、选取中小板 399101 指数成份股作为初始池
2、剔除里面的ST股票、次新股、停牌的股、涨停跌停股、北交所和科创板的股票
3、选取流通市值最小的前100个股票
4、再选取每股收益大于0的保留前100个
5、最后在这100只中,每个行业选出一只股票,然后取市值最小的股票N个用于交易
调仓逻辑:
逻辑也很简单,每周二会按照选股逻辑选出6个股票,然后卖出之前持有的,买入最新的6个股票。当然如果持有的股票涨停了就会继续持有,把剩余的仓位买入新调入的股票。
止盈止损:
每天在10点去根据条件判断止盈止损,这里我设置了几个条件 1、持有的股票收益>100%止盈 2、跌破成本的91%就无条件止损 3、如果中小板 399101 指数平均跌幅 > 5%,全部清仓。
OK,以上就是基本逻辑了,下面开始代码展示,
1、获取中小综指成份股
这个还是很方便的,直接调用xtquant里的函数就可以获取了代码如下:
返回值是一个包含股票代码的列表['000001.SZ', '000002.SZ', '000063.SZ', '000069.SZ',...
2、排除 4、8、68开头的股票
这里也是基本的列表操作
3、过滤次新股上市不足1年的直接去掉
4、过滤ST股票这里在接口文档没有找到可以直接获取ST股票列表的接口,所以直接根据股票名称来判断是不是ST股
5、过滤停牌股
xtquant接口中InstrumentStatus表示合约停牌状态,<=0:正常交易
6、获取流通市值最小的200个股票这个方法里我同时过滤了涨跌停的股票
7、基本每股收益>0的股票
一开始下载财务数据的时候我用的是download_financial_data接口,一直没响应,有人知道是什么原因吗?后来改成download_financial_data2就没问题了。
8、获取每个行业市值最小的股票
这里分了2步写的,首先是获取股票对应的申万二级行业
接下来就是把每个行业市值最小的股票取出来
最后我们用result = df_top1_industry.nsmallest(stock_count, 'float_amount')获取市值最小的N个股票用于交易。
以上就是整个策略的选股逻辑核心代码了。
总结
关注"叩富问财"公众号,回复"资深吴经理",联系专属客户经理开通量化交易权限!
立即行动:打开微信,搜索"叩富问财",在对话框中输入"资深吴经理",开启你的量化交易之旅!
温馨提示:投资有风险,选择需谨慎。
什么是QMT量化,怎么开通QMT?


问一问

+微信
分享该文章
