(同花顺量化)2019分红比例>25%_、9点25分涨幅小于6%、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 9点25分涨幅小于6%
  • 2019分红比例>25%

选股逻辑分析

这个策略的逻辑是基于技术分析和基本面分析。首先,要求至少5根均线重合,这表明股票价格趋势稳定,多条均线形成支撑,有利于股价上涨。其次,要求9点25分涨幅小于6%,这表明股票价格没有受到大幅波动,有利于投资者稳定投资。最后,要求2019分红比例大于25%,这表明公司分红丰厚,有利于投资者获得稳定收益。

有何风险?

这个策略的局限性在于它只能分析股票价格趋势和分红情况,而不能考虑公司的财务状况、行业背景等因素。此外,如果股票价格在9点25分涨幅过大,也可能导致策略失效。

如何优化?

为了优化这个策略,可以考虑加入财务指标和行业背景分析,以更全面地评估股票的投资价值。此外,可以考虑加入技术指标和市场情绪分析,以更好地预测股票价格走势。

最终的选股逻辑

import talib

def get筛选条件():
    # 至少5根均线重合的股票
    ma5 = talib.MA(close, timeperiod=5)
    ma10 = talib.MA(close, timeperiod=10)
    ma20 = talib.MA(close, timeperiod=20)
    ma30 = talib.MA(close, timeperiod=30)
    ma60 = talib.MA(close, timeperiod=60)
    ma120 = talib.MA(close, timeperiod=120)
    ma250 = talib.MA(close, timeperiod=250)
    if ma5[-1] == ma10[-1] == ma20[-1] == ma30[-1] == ma60[-1] == ma120[-1] == ma250[-1]:
        return True
    else:
        return False

def get_price_change():
    # 9点25分涨幅小于6%
    price_change = close - open
    price_change = price_change / open * 100
    if price_change[-1] < 6:
        return True
    else:
        return False

def get_dividend_ratio():
    # 2019分红比例大于25%
    dividend_ratio = dividends / close * 100
    if dividend_ratio[-1] > 25:
        return True
    else:
        return False

def get筛选结果():
    # 合并筛选条件
    result = get筛选条件() and get_price_change() and get_dividend_ratio()
    return result

python代码参考

import talib

def get筛选条件():
    # 至少5根均线重合的股票
    ma5 = talib.MA(close, timeperiod=5)
    ma10 = talib.MA(close, timeperiod=10)
    ma20 = talib.MA(close, timeperiod=20)
    ma30 = talib.MA(close, timeperiod=30)
    ma60 = talib.MA(close, timeperiod=60)
    ma120 = talib.MA(close, timeperiod=120)
    ma250 = talib.MA(close, timeperiod=250)
    if ma5[-1] == ma10[-1] == ma20[-1] == ma30[-1] == ma60[-1] == ma120[-1] == ma250[-1]:
        return True
    else:
        return False

def get_price_change():
    # 9点25分涨幅小于6%
    price_change = close - open
    price_change = price_change / open * 100
    if price_change[-1] < 6:
        return True
    else:
        return False

def get_dividend_ratio():
    # 2019分红比例大于25%
    dividend_ratio = dividends / close * 100
    if dividend_ratio[-1] > 25:
        return True
    else:
        return False

def get筛选结果():
    # 合并筛选条件
    result = get筛选条件() and get_price_change() and get_dividend_ratio()
    return result

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论