问财量化选股策略逻辑
选股逻辑:振幅大于1,rsi小于65,2021年营收/2018年营收大于1.1。
选股逻辑分析
该选股逻辑除了考虑了技术指标(振幅、rsi)之外,还加入了基本面指标——公司近三年的营收情况,进一步筛选出成长性较强的公司。同时,该选股逻辑注重了成长性与投资安全性的平衡,可以有效降低投资风险。
有何风险?
该选股逻辑较为简单,只考虑了技术指标和企业财务指标,未对宏观经济、行业发展等因素进行充分考虑,存在一定的选股失误风险。同时,只考虑了2021年和2018年的营收情况,对公司的盈利能力、业绩增速等因素没有进行较好的考虑,影响选股的精准性。
如何优化?
除了考虑营收增长外,可以加入对其他企业财务指标(如净利润增长率、股息率等)的考虑,综合判断公司的业绩。同时,可以引入宏观经济、行业发展等因素进行筛选。另外,可以对财务数据进行更加详细、全面的分析,引入更多指标进行筛选。
最终的选股逻辑
选股逻辑为:振幅大于1,rsi小于65,2021年营收/2018年营收大于1.1,同时综合考虑公司的其他企业财务指标和宏观经济、行业发展等因素。选取成长性强、投资安全的公司作为投资对象。
同花顺指标公式代码参考
振幅:(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
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
# 营收增长率
revenue_growth = (revenue.loc[:, '2021-12-31'] / revenue.loc[:, '2018-12-31']) - 1
# 选取符合条件的股票
selected_stocks = selector(amplitude > 1, rsi < 65, revenue_growth > 0.1)
# 筛选出股票的相对强度并选取强度最强的前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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。