(同花顺量化)2019分红比例>25%_、集中度70_20%、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选择RSI小于65、集中度70%以上和20%以下、2019年分红比例大于25%的股票。

选股逻辑分析

该选股逻辑是综合了技术分析和基本面分析的思路,通过筛选符合RSI小于65和集中度70%以上和20%以下的技术条件,轻松筛选高潜力股票。而2019年分红比例大于25%则能反映出企业的盈利能力和对投资者的回报能力,有利于提升股票的稳定性和长期收益。

有何风险?

该选股逻辑存在以下风险:

  1. 过度依赖历史数据,未必反映当前市场情况;
  2. 忽略了宏观经济和市场环境的因素;
  3. 分红比例较高且集中的股票可能存在分红政策调整和风险;
  4. 偏重于短期收益而忽略了企业的长期增长潜力;
  5. 符合条件的股票数量可能较少,不具备多样化的风险控制。

如何优化?

  1. 结合其他技术指标、形态和趋势等因素进行评估;
  2. 综合基本面因素,例如估值、资产质量、盈利增长等等;
  3. 尽量选择稳定的企业和行业/板块,降低选股风险;
  4. 加强风险控制和资金管理,控制仓位和亏损;
  5. 调整分红比例的选股条件,例如适量降低分红比例的选股门槛;
  6. 增加选股结果的多样性,例如将选出的股票尽量均匀地分布在不同的行业/板块。

最终的选股逻辑

选择RSI小于65、集中度70%以上和20%以下、2019年分红比例大于25%的股票。

同花顺指标公式代码参考

SELECTED_STOCKS = RSI < 65 AND ((CYCLEONE_INDUTRY_RATIO > 0.7) OR (CYCLEONE_INDUTRY_RATIO < 0.2))
AND DIVIDEND2019_RATIO > 0.25

CAN_SELECT = SELECTED_STOCKS

python代码参考

from jqdata import *
import talib

# 定义选股条件
def select_condition(context):
    # 获取所有主板股票
    q = query(
        valuation.code,
        valuation.circulating_market_cap,
        finance.SW1_CODE,
        indicator.bid_per_winner,
        indicator.csi500_weight,
        indicator.status,
        valuation.market_cap,
        valuation.pe_ratio,
        finance.DividendFinancing.dividend_ratio_ondemand_2019,
        volume,
    ).filter(
        finance.SW1_CODE != '751030',  # 排除科创板
        indicator.status == 1,  # 当前股票不停牌
        indicator.board_type == '主板',  # 当前股票在主板
    )
    # 按市值排序并筛选出前5
    all_stocks = get_fundamentals(q).sort_values('circulating_market_cap', ascending=False)[:5]
    # 获取选股结果
    selected_stocks = all_stocks.loc[talib.RSI(get_bars(all_stocks['code'].tolist(), context.window, '1d', ['high', 'low', 'close'])['close'], timeperiod=14).iloc[-1] < 65]
    selected_stocks = selected_stocks.loc[(CYCLEONE_INDUTRY_RATIO > 0.7) | (CYCLEONE_INDUTRY_RATIO < 0.2)]
    selected_stocks = selected_stocks.loc[selected_stocks['finance.DividendFinancing.dividend_ratio_ondemand_2019'] > 0.25]
    return selected_stocks

# 获取选股结果
def select_stocks(context):
    selected_stocks = select_condition(context)
    return selected_stocks

# 注册选股函数
m = M.instruments(v['margin'])
m.add_strategy(select_stocks, force=True)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论