(supermind量化-)振幅大于1、500日内至少2次涨停、20日均线大于120日均线

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

问财量化选股策略逻辑

本选股策略在日线上选取以下股票:振幅大于1、500日内至少2次涨停,20日均线大于120日均线的股票。

选股逻辑分析

本选股策略选用多个技术指标进行筛选。振幅是反映价格震荡幅度的重要技术指标,可以筛选出波动较大的股票。涨停次数是衡量股票投资热度的指标,比较有利于快速抓住当前市场情况下的优质个股。20日均线和120日均线则是主力资金持续布局的信号,均线的相交和交叉则往往预示着后续股价的走向。通过这些技术指标的综合应用,可以筛选出股价波动大、趋势稳健的优质个股。

有何风险?

选股策略对技术指标的依赖较强,可能会过多追逐热点,忽视基本面因素。同时,市场的变化也会影响到策略的选股效果,在行情反转或者走势调整期间可能会出现一定幅度的回撤。

如何优化?

优化思路包括策略修正和优化参数方向两个方面。首先,可以针对不同行业、不同市场环境等调整技术指标参数和阈值,提高选股的准确性。其次,结合技术指标和基本面因素,构建多因子模型,从多个维度筛选个股,减少市场波动的风险。

最终的选股逻辑

选取振幅大于1、500日内至少2次涨停,并且20日均线大于120日均线的股票。

同花顺指标公式代码参考

  1. 振幅公式:(high-low)/close
    通达信代码:(HHV(HIGH,1)-LLV(LOW,1))/REF(CLOSE,1)
  2. 涨停次数公式:计算500日内涨停次数,使用rolling()和sum()函数求和
    通达信代码:(HIGH/LLV(LOW,1)>1.099).SUM(500)
  3. 均线公式:使用MA函数计算20日均线和120日均线
    通达信代码:MA(CLOSE,20)、MA(CLOSE,120)

python代码参考

import tushare as ts

# 定义需要筛选的企业类型
property_list = ['证券', '银行', '保险']
# 定义振幅筛选条件
amplitude_filter = 0.01
# 定义涨停次数筛选条件
rise_stop_filter = 2
# 定义均线筛选条件
short_ma = 20
long_ma = 120

# 获取基本面数据
data = ts.get_stock_basics()
# 筛选振幅满足条件的股票
selected_stocks = data[data['high'] - data['low'] >= amplitude_filter * data['close']]
# 筛选涨停次数满足条件的股票
selected_stocks = selected_stocks[(selected_stocks['high'] / selected_stocks['low'].shift(1) > 1.099).rolling(500).sum() >= rise_stop_filter]
# 筛选均线满足条件的股票
selected_stocks = selected_stocks[selected_stocks['ma20'] > selected_stocks['ma120']]
# 输出选中的股票
print(selected_stocks.index.tolist())

以上代码仅供参考,具体实现方法可以根据投资者需要和市场情况进行调整。

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

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

    模板如何使用?

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


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

评论