(supermind量化-)振幅大于1、500日内至少2次涨停、非ST(10点之前选股票)

用户头像神盾局量子研究部
2023-08-21 发布

问财量化选股策略逻辑

本选股策略在当日开盘前10点选取振幅大于1、500日内至少2次涨停、不是ST股票的标的,同时结合五部涨停战法作为进一步确认标准。

选股逻辑分析

本选股策略综合了技术面、市场热度指标和股票基本面组成,振幅大、多次涨停、非ST股票体现了技术面和市场热度,同时五部涨停战法的运用又在一定程度上增加了筛选的准确性。选择的标的很可能已经在市场上被广泛关注,但是同时也可能有过高的超预期风险。

有何风险?

该选股策略排除了ST股票,但仍然存在其他基本面因素(如财务造假)会对选中股票的风险带来影响的风险。另外,策略可能出现市场热度长期下降,而选择的股票出现长期熊市的风险。

如何优化?

可以引入财务数据、盈利历史和行业前景等方面的因素,来进一步优化选股策略。这样做可以为我们提供更为全面的选股依据,从而更好地控制风险。 另外,可以结合技术分析和市场研究等工具,进一步完善选股策略。

最终的选股逻辑

选取振幅大、至少2次涨停、非ST(10点之前选股票)的股票,并且符合五部涨停战法的标准。

同花顺指标公式代码参考

振幅大于1:

 (HIGH - LOW) / PRE_CLOSE > 0.01

500日内至少2次涨停:

 SUM(HIGH / REF(LOW,1) > 1.099,500) >= 2

非ST股票:

 MARKET != 'ST'

其中,非ST股票可以通过通达信中的MARKET字段进行筛选。

python代码参考

import tushare as ts

selected_stocks = []
for code in ts.get_stock_basics().index:
    #获取股票数据和标记信息
    daily_data = ts.get_hist_data(code, ktype='D')
    mark_data = ts.get_stock_basics().loc[code]['name']
    #筛选标的
    if daily_data is None or len(daily_data) < 80:
        continue
    if mark_data.startswith('ST'):
        continue
    if (daily_data.high.max() - daily_data.low.min()) / daily_data.close.mean() < 0.01:
        continue
    if (daily_data.high / daily_data.low.shift(1) > 1.099).rolling(500).sum() < 2:
        continue
    #判断五部涨停战法
    if (daily_data.open - daily_data.close.shift(1)).rolling(6).sum().iloc[-1] >= 0.1 * daily_data.close.iloc[-1]:
        selected_stocks.append(code)

#输出选中的股票
print(selected_stocks)

以上仅供参考,具体操作需要根据市场情况和自身的风险偏好进行决策。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论