(同花顺量化)2021年_、10天内涨停天数大于2、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 10天内涨停天数大于2
  • 2021年

选股逻辑分析

  • 这个策略基于均线和短期表现来筛选股票。首先,要求至少5根均线重合,这表明股票价格在不同时间段内保持稳定。其次,要求10天内涨停天数大于2,这表明股票在短期内有较强的上涨动力。最后,要求股票在2021年,这表明该策略适用于2021年的市场环境。

有何风险?

  • 这个策略可能无法捕捉到长期趋势。因为该策略只考虑短期表现,可能会忽略股票的长期走势。
  • 这个策略可能会过于保守。因为该策略要求至少5根均线重合,可能会错过一些短期表现较好的股票。

如何优化?

  • 可以考虑增加更多的均线,以更好地捕捉股票的长期趋势。
  • 可以考虑加入其他指标,如成交量和市盈率等,以更好地筛选股票。

最终的选股逻辑

  • 选取至少5根均线重合的股票
  • 选取10天内涨停天数大于2的股票
  • 选取2021年的股票
  • 在满足以上条件的股票中,选取成交量和市盈率较高的股票

python代码参考

import talib

def get_stock_data(stock_code):
    # 获取股票数据
    data = talib.get_data_yahoo(stock_code, start='2021-01-01', end='2021-12-31')
    # 计算均线
    ma5 = talib.MA(data['Adj Close'], timeperiod=5)
    ma10 = talib.MA(data['Adj Close'], timeperiod=10)
    ma20 = talib.MA(data['Adj Close'], timeperiod=20)
    # 获取股票的涨停天数
    data['streak'] = data['Adj Close'].diff().rolling(window=10).sum().cumsum()
    data['streak'] = data['streak'].where(data['streak'] > 0, 0)
    # 获取符合条件的股票
    filtered_data = data[(data['Adj Close'].rolling(window=5).mean() > ma5) & 
                         (data['Adj Close'].rolling(window=10).mean() > ma10) & 
                         (data['Adj Close'].rolling(window=20).mean() > ma20) & 
                         (data['streak'] > 2)]
    # 返回符合条件的股票数据
    return filtered_data

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论