(同花顺量化)10天内涨停天数大于2_、集中度70_20%、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 集中度70<20%
  • 10天内涨停天数大于2

选股逻辑分析

这个策略的逻辑是寻找那些均线密集的股票,同时要求这些股票的集中度较低,以及在最近10天内有超过2次的涨停记录。这些条件的组合可能会筛选出一些具有较强市场表现的股票。

然而,这个策略的局限性在于它可能过于侧重于短期市场表现,而忽略了长期的基本面因素。此外,由于该策略使用了多个技术指标,因此可能会面临过度拟合的风险。

有何风险?

  • 过度侧重于短期市场表现,可能导致忽略长期基本面因素
  • 过度拟合风险,由于使用了多个技术指标

如何优化?

  • 优化策略时可以考虑加入基本面因素,以更全面地评估股票的价值
  • 可以尝试使用正则化等方法来降低过度拟合的风险

最终的选股逻辑

  • 股票的均线数量不少于5根
  • 集中度70<20%
  • 近10天内至少有2次涨停记录
  • 考虑加入基本面因素

python代码参考

import talib

def get_rolling_average(prices, n):
    """
    获取n日的滚动平均值
    """
    if n <= 0:
        return prices
    rolling_mean = talib.MA(prices, n)
    return rolling_mean

def get_concentration(prices, n):
    """
    获取n日的集中度
    """
    if n <= 0:
        return None
    rolling_mean = talib.MA(prices, n)
    rolling_std = talib.STDDEV(prices, n)
    concentration = rolling_mean / rolling_std
    return concentration

def get_stock_score(prices, n, c, ma1, ma2, ma3, ma4, ma5):
    """
    计算股票得分
    """
    rolling_mean1 = get_rolling_average(prices, ma1)
    rolling_mean2 = get_rolling_average(prices, ma2)
    rolling_mean3 = get_rolling_average(prices, ma3)
    rolling_mean4 = get_rolling_average(prices, ma4)

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

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

    模板如何使用?

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


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

评论