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

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

问财量化选股策略逻辑

该策略基于以下三个条件进行股票筛选:

  1. 至少5根均线重合的股票
  2. 10日涨幅大于0小于35
  3. 2019分红比例>25%

选股逻辑分析

该策略通过筛选均线重合的股票来寻找趋势较为明确的股票,同时结合10日涨幅和分红比例来筛选有潜力的股票。其中,10日涨幅大于0小于35表示该股票在过去10天内有上涨趋势,但涨幅不大,可能存在进一步上涨的空间;2019分红比例>25%表示该股票具有较高的分红潜力,可能吸引投资者的关注。

然而,该策略可能存在以下风险:

  1. 筛选出的股票可能过于集中于某些行业或板块,导致组合的行业配置过于集中,从而增加组合的系统性风险。
  2. 筛选出的股票可能过于依赖短期市场走势,导致组合的业绩波动较大。

如何优化?

为了优化该策略,可以考虑以下方法:

  1. 采用更多的均线组合来筛选股票,以提高策略的稳定性和适应性。
  2. 采用更多的财务指标来筛选股票,以更好地评估股票的价值和潜力。
  3. 采用风险管理方法,如组合权重的分散和止损策略,以降低组合的系统性风险。

最终的选股逻辑

以下是一种基于5根均线重合、10日涨幅大于0小于35、2019分红比例>25%的策略:

def my_strategy():
    # 获取所有A股股票
    stocks = get_stocks()

    # 筛选出至少5根均线重合的股票
    filtered_stocks = [stock for stock in stocks if len(get_line_chart(stock).lines) >= 5]

    # 筛选出10日涨幅大于0小于35的股票
    filtered_stocks = [stock for stock in filtered_stocks if stock['10ma'] > stock['close'] - 0.35 * stock['10ma'] and stock['10ma'] < stock['close'] + 0.35 * stock['10ma']]

    # 筛选出2019分红比例>25%的股票
    filtered_stocks = [stock for stock in filtered_stocks if stock['dividend_ratio'] > 0.25]

    # 返回筛选后的股票列表
    return filtered_stocks

python代码参考

import yfinance as yf

def get_stocks():
    # 获取所有A股股票
    stocks = yf.download('000300.XSHG', start='2020-01-01', end='2021-01-01')['AAPL'].sort_values(by='trade_date')
    return stocks

def get_line_chart(stock):
    # 获取股票的历史K线图
    chart = stock['close'].plot(figsize=(12, 6), title=stock['name'], legend=False)
    return chart

def get_10ma(stock):
    # 获取股票的10日移动平均线
    return stock['close'].rolling(window=10).mean()

def dividend_ratio(stock):
    # 获取股票的分红比例
    return stock['dividend'] / stock['close'] * 100

def my_strategy():
    # 获取所有A股股票
    stocks = get_stocks()

    # 筛选出至少5根均线重合的股票
    filtered_stocks = [stock for stock in stocks if len(get_line_chart(stock).lines) >= 5]

    # 筛选出10日涨幅大于0小于35的股票
    filtered_stocks = [stock for stock in filtered_stocks if stock['10ma'] > stock['close'] - 0.35 * stock['10ma'] and stock['10ma'] < stock['close'] + 0.35 * stock['10ma']]

    # 筛选出2019分红比例>25%的股票
    filtered_stocks = [stock for stock in filtered_stocks if stock['dividend_ratio'] > 0.25]

    # 返回筛选后的股票列表
    return filtered_stocks

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论