问财量化选股策略逻辑
选股逻辑:振幅大于1,底部抬高,三个技术指标同时金叉。
选股逻辑分析
该选股逻辑同样从技术面出发,振幅大于1表示股票波动较大,底部抬高则表示股票已经反弹,同时,三个技术指标的金叉表示当前时刻多头趋势较为强势,从而可以选出具有上涨潜力的个股。
有何风险?
该选股逻辑同样忽略了公司的基本面数据,只考虑了技术面指标,受市场短期情绪的影响比较大,存在一定的风险。同时,金叉的形成可能具有一定的追涨性,使得选股策略容易被市场情绪所左右。
如何优化?
与上一个选股逻辑相似,相对于前一个选股逻辑,该逻辑需要加入其他因素进行筛选,如市盈率、市净率、成长性方面数据、股票行业位置等因素可以进一步优化策略。同时可以使用峰值检测或者其他形态学方法为策略加入更多形态学条件,最终得到更为准确的选股策略。
最终的选股逻辑
在分析和优化该选股策略后,我们可以得到最终的简化选股逻辑:
- 振幅大于1;
- 底部抬高;
- MACD、KDJ、RSI等三个技术指标同时金叉;
- 20日均线在250日均线上方;
- 市盈率<60;
- 市净率<10;
- 去除ST和*ST股票;
- 止损条件:30日均线以下止损,或下跌超过8%止损。
同花顺指标公式代码参考
以下是在同花顺上实现该选股策略的指标公式代码:
C1: AMP()>1;
C2: BOTTOM(HIGH,C1)>BOTTOM(HIGH,C1+1);
C3: DIF>DEA AND CROSS(DIF,DEA);
C4: KDJRSI_BUY(KDJ_J)>0 AND KDJRSI_BUY(KDJ_K)>0 AND KDJRSI_BUY(RSI_RSI1)>0;
C5: MA(CLOSE,C2,20)>MA(CLOSE,C2,250);
C6: PE<=60 AND PB<=10;
C7: MV<=10000000;
C8: NOT(INSTR('ST',SINFO) OR INSTR('*ST',SINFO));
SELECTOR:=C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8;
RESULT:=SELECTOR;
Python代码参考
以下是Python实现该选股逻辑的部分代码:
from stockstats import _STOCK_COMPARABLE_INDEXES, StockDataFrame
# 定义股票池
s_pool = ['SH.600000', 'SH.600036', 'SH.600519', 'SZ.000858',
'SZ.000333', 'SH.601398', 'SH.601288', 'SZ.000002',
'SZ.000651', 'SH.600030']
# 筛选振幅大于1,底部抬高,三个技术指标同时金叉的个股
selected_stocks = (sdf['amp'] > 1) & \
(sdf['low'].rolling(window=C1).apply(lambda x: (np.argmax(x[-C1:]) == C1 - 1) and (np.argmax(x[:-C1]) < np.argmax(x[-C1:])), raw=False)) & \
(sdf['macd'] > sdf['macdh']) & (sdf['kdjk'] > sdf['kdjd']) & (sdf['rsi_6'] > sdf['rsi_12']) & \
(sdf['close'].rolling(window=20).mean() > sdf['close'].rolling(window=250).mean()) & \
(sdf['pe'] <= 60) & \
(sdf['pb'] <= 10) & \
(~sdf['scode'].str.contains('ST')) & \
(~sdf['scode'].str.contains('*ST'))
# 加入止损策略:30日均线以下止损,或者下跌超过8%止损
sdf['ma30'] = sdf['close'].rolling(window=30).mean()
sdf['sell_signal'] = (sdf['close'] < sdf['ma30']) | ((sdf['close'] - sdf['close'].shift(1)) / sdf['close'].shift(1) < -0.08)
selected_stocks = selected_stocks & (~sdf['sell_signal'])
# 返回选中个股的代码
return selected_stocks['symbol'].tolist()
通过在Python中实现综合考虑技术面和基础面数据的选股逻辑,并加入市场趋势等因素进行筛选,可以提高选股的准确度和质量,让我们更加准确地发现具有上涨潜力的个股。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
