(supermind量化-)振幅大于1、500日内至少2次涨停、前日实际换手率_3~28_

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、500日内至少2次涨停和前日实际换手率在3%~28%之间的股票。

选股逻辑分析

该选股策略在技术面上注重股票价格波动和市场热度,并考虑了实际换手率的大小,有望筛选出关注度较高的且有一定市场活跃度的个股,能够指导投资者更好地把握市场动向。

有何风险?

由于该选股策略只考虑了技术面和市场活跃度等部分因素,并未充分考虑公司的基本面,可能会忽略股票的风险因素而在投资过程中带来风险。另外,该选股策略直接选取换手率在3%~28%之间的股票,但没有对部分股票的实际情况进行分析,可能有一定人为干扰,在一定程度上影响了选股的准确性。

如何优化?

可以在常规的技术面和市场活跃度筛选的基础上,加强对公司基本面的关注,如增加对公司业绩、估值、竞争优势等方面的考虑,以此做出更准确的股票筛选。同时,可以综合考虑多个指标,如资金面、行业环境等等,对异常的行情进行判断,提高选股策略的准确性和稳定性。

最终的选股逻辑

挑选振幅大、至少2次涨停,且前日实际换手率在3%~28%之间的股票。

同花顺指标公式代码参考

振幅大于1:

(HIGH - LOW) / PRE_CLOSE > 0.01

500日内至少2次涨停:

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

前日实际换手率:

3 <= ACTIVETRADERATIO && ACTIVETRADERATIO < 28

排序:

SORT('振幅×2+涨停次数+实际换手率', False)

python代码参考

import tushare as ts

selected_stocks = []
for code in ts.get_stock_basics().index:
    #获取股票数据
    daily_data = ts.get_today_ticks(code)
    if daily_data is None or len(daily_data) < 30:
        continue
    #判断振幅和涨停次数
    if (daily_data.price.max() - daily_data.price.min()) / daily_data.price.mean() < 0.01:
        continue
    if (daily_data.price / daily_data.price.shift(1) > 1.099).rolling(500).sum() < 2:
        continue
    #判断实际换手率是否符合要求
    if daily_data.ACTIVETRADERATIO.iloc[-2] < 3 or daily_data.ACTIVETRADERATIO.iloc[-2] >= 28:
        continue
    selected_stocks.append(code)

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

因市场行情随时变化,以上内容仅供参考,具体操作需要根据市场情况和风险规避策略自行决定。

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

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧