问财量化选股策略逻辑
选股逻辑:振幅大于1,rsi小于65,涨幅<2.6且涨幅>-5。
选股逻辑分析
该选股逻辑同样选取了股价波动较大、超买程度不高的个股,并通过涨幅进行筛选。相对于涨停板等限制涨跌幅的策略,涨幅的限制较小,可以更好地发现价格波动较大的个股。同时,该逻辑同样考虑了超买程度,通过rsi过滤掉超买的个股,以减少风险。
有何风险?
该选股策略的风险是可能忽略了公司的基本面和业绩情况,因此会漏掉一些潜在的优质股票。另外,涨幅可能因为市场因素波动较大,选股的结果受到市场因素的影响幅度可能较大。
如何优化?
可以加入更多的指标来综合考量基本面,如市值、市盈率、净利润增长率等;同时,可以加入其它技术指标如移动平均线等来判断股票走势的方向。此外,可以在筛选时加入更多行业及主题特征的判断,以增加策略的稳定性。
最终的选股逻辑
选股逻辑为:振幅大于1,rsi小于65,涨幅<2.6且涨幅>-5,并结合基本面、行业特征等进行筛选。
同花顺指标公式代码参考
振幅:(high-low)/ref(close,1)*100>1
RSI:rsi(N)<65
涨幅:<2.6 and >-5
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
# 涨幅
pct_change = (close - ref(close, 1)) / ref(close, 1) * 100
pct_filter = (pct_change < 2.6) & (pct_change > -5)
# 选取符合条件的股票
selected_stocks = selector(amplitude > 1, rsi < 65, pct_filter)
# 筛选出股票的相对强度并选取强度最强的前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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。