(supermind量化)artical/振幅大于1#rsi小于65#归属母公司股东的净利

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,rsi小于65,归属母公司股东的净利润(同比增长率)大于20%小于等于100%。

选股逻辑分析

该选股逻辑综合考虑了技术指标和公司基本面的因素,振幅和rsi为技术指标,反映了市场短期波动情况和股票的超买超卖情况。同时,在这基础上,加入了公司基本面中归属母公司股东净利润同比增长率的筛选条件,更加全面地考虑了股票的盈利能力和成长潜力。

有何风险?

选股策略过于依赖归属母公司股东净利润同比增长率这一因素,而忽略了其他可能对股票涨跌产生影响的因素,如公司负债情况、市场情况等。在选择参考时间段和计算方式时,也可能存在数据突变或者数据波动的情况,会对选股策略造成一定的影响。

如何优化?

可考虑在该选股逻辑基础上,引入更多的技术指标如KDJ、MACD等进行筛选,同时增加其他基本面指标如市盈率、市净率等以及公司治理等情况作为筛选条件,提高选股策略的有效性和盈利能力。在选择参考时间段和计算方式时,也需要避免过短或过长的时间段和过度平滑的计算方式,增加筛选时段的鲁棒性和健壮性。

最终的选股逻辑

选股逻辑为:振幅大于1,rsi小于65,归属母公司股东的净利润(同比增长率)大于20%小于等于100%。同时,还要考虑其他技术指标如KDJ、MACD等,以及其他基本面指标如市盈率、市净率等。

同花顺指标公式代码参考

振幅:(HIGH-LOW)/REF(CLOSE,1)*100

RSI:SMA(MAX(CLOSE-REF(CLOSE,1),0),N,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),N,1)*100

净利润:IF((LYR1 (net_profit_att_comp - net_profit_att_comp_ttms)) / ABS(LYR1 (net_profit_att_comp_ttms)) >20% AND (LYR1 (net_profit_att_comp - net_profit_att_comp_ttms)) / ABS(LYR1 (net_profit_att_comp_ttms)) <=100%, 1, 0)

Python代码参考

# 振幅
amplitude = (high - low) / ref(close, 1) * 100

# RSI
up = max(close - ref(close, 1), 0)
down = abs(close - ref(close, 1))
rs = sma(up, N, 1) / sma(down, N, 1)
rsi = rs / (1 + rs) * 100

# 净利润同比增长率
profit_growth = lyr1((net_profit_att_comp - net_profit_att_comp_ttms)) / abs(lyr1(net_profit_att_comp_ttms))
profit_condition = (profit_growth > 0.2) & (profit_growth <= 1)

# 选取符合条件的股票
selected_stocks = selector(amplitude > 1, rsi < 65, profit_condition)

# 筛选出股票的相对强度并选取强度最强的前20%
rps = (close - sma(close, N)) / sma(close, N)
top20 = int(len(context.selected_stocks) * 0.2)
sorted_stocks = sorted(selected_stocks, key=lambda s: rps.loc[s].iloc[-1], reverse=True)
selected_stocks = sorted_stocks[:top20]

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧