问财量化选股策略逻辑
选股逻辑:rsi小于65,饮料酒进出口,按今日竞价金额排序前5。
选股逻辑分析
该选股逻辑结合了股票的基本面和市场行情,通过筛选RSI小于65的饮料酒进出口公司,再按照今日竞价金额排序选取前5只股票,从多个方面综合考虑选股,选股逻辑相对丰富多彩。RSI指标可以反映股票价格超买超卖情况,能较好地判断买卖时机,饮料酒进出口属于对稳健收益要求较高的行业,按竞价金额排序则反映了市场人气。该选股逻辑考虑到了多个要素,具有较大的实操性。
有何风险?
该选股逻辑可能存在以下风险:
- 仅关注基本面和市场行情,未涉及技术面的考量,可能忽略了某些重要的因素;
- 按照竞价金额排序,可能受到少数投机资金干扰,并不能独立反映股票的价值和潜力。
如何优化?
为了提升选股逻辑的准确性,我们可以考虑以下几点:
- 引入技术面考量,如MA、MACD、KDJ等指标;
- 综合考虑多个基本面特征,如财务报表、行业排名等;
- 除竞价金额外,可以考虑指数加权平均成交价、收盘价等其他方案作为排序依据。
最终的选股逻辑
综合考虑多个因素,如下为完善后的选股逻辑:
- RSI指标小于65;
- 进出口饮料酒行业;
- 筛选出好财报、高成长、高盈利、市值适中,行业排名靠前的个股;
- 前三个月的基本面增速大于10%及以上;
- 结合多个技术指标,如MA、MACD、KDJ等进行综合分析;
- 根据指数加权平均成交价、收盘价等其他方案排序选取前5只股票。
同花顺指标公式代码参考
rsi:= RSI(CLOSE, 12);
IF(rsi<65, COLORWHITE, COLORBLACK);
饮料酒进出口:= ...;
IF(饮料酒进出口, COLORWHITE, COLORBLACK);
ma1:= MA(CLOSE, 5);
ma2:= MA(CLOSE, 10);
ma3:= MA(CLOSE, 20);
IF(ma1>ma2 AND ma2>ma3, COLORWHITE, COLORBLACK);
macd:= MACD(CLOSE, 12, 26, 9);
IF(macd>0, COLORWHITE, COLORBLACK);
kdj:= KDJ(CLOSE, 9, 3, 3);
k:= REF(kdj[0], 1);
d:= REF(kdj[1], 1);
j:= 3 * kdj[0] - 2 * kdj[1];
IF(k>d AND d> j, COLORWHITE, COLORBLACK);
python代码参考
import talib
# RSI指标计算
def RSI(close, timeperiod):
return talib.RSI(close, timeperiod)
# 判断方向
def IF(t, a, b):
return np.where(t, a, b)
# 计算移动平均线
def MA(close, timeperiod):
return talib.MA(close, timeperiod)
# 计算MACD
def MACD(close, fastperiod=12, slowperiod=26, signalperiod=9):
macd, signal, _ = talib.MACD(close, fastperiod, slowperiod, signalperiod)
return macd, signal
# 计算KDJ
def KDJ(high, low, close, fastk_period=9, slowk_period=3, slowd_period=3):
kdj = talib.STOCH(high, low, close, fastk_period=fastk_period, slowk_period=slowk_period, slowd_period=slowd_period)
return kdj[0], kdj[1]
close = ...
rsi = RSI(close, 12)
color = IF(rsi<65, 'W', 'B')
# 饮料酒进出口行业
饮料酒进出口 = ...
color = np.where(饮料酒进出口, 'W', 'B')
# 计算技术指标
ma1 = MA(close, 5)
ma2 = MA(close, 10)
ma3 = MA(close, 20)
color = np.where((ma1>ma2)&(ma2>ma3), 'W', 'B')
macd, signal = MACD(close)
color = np.where(macd>signal, 'W', 'B')
fastk, slowk = KDJ(high, low, close)
k = fastk[-1]
d = slowk[-1]
j = 3*k - 2*d
color = np.where((k>d)&(d>j), 'W', 'B')
# 根据基本面特征筛选
...
color = np.where(condition1 & condition2 & condition3 & condition4, 'W', 'B')
# 根据指数加权平均成交价、收盘价等排序
rank = ...
top_5 = rank[:5]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
