选股逻辑
选取振幅大于1、MACD零轴以上、15分钟周期MACD绿柱变短的股票。
选股逻辑分析
相较于之前的选股逻辑,新增了15分钟周期MACD绿柱变短的条件,更加注重短期走势的变化。振幅大于1和MACD零轴以上的条件依旧保留,仍然是对波动性和多头力量的重视。
有何风险?
该逻辑在选择短期走势变化的股票时,可能会忽略一些长期驱动力较强但短期走势不佳的股票,同时该逻辑也忽略了基本面的影响,存在一定程度的风险。
如何优化?
可以将15分钟周期MACD绿柱变短的条件更改为绿柱变为正,这样可以更好地捕捉到短期走势变化的机会。同时可以加入其他技术指标和基本面指标,作为选股条件,通过机器学习等方法优化指标权重和股票筛选模型,提高选股效果。
最终的选股逻辑
选取振幅大于1、MACD零轴以上、15分钟周期MACD绿柱变为正的股票。
同花顺指标公式代码参考
- 振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
- MACD零轴以上:CROSS(MACD(12,26,9),0)>0
- 15分钟周期MACD绿柱变为正: REF(MACD(12,26,9),2)>0 AND MACD(12,26,9)>=MACD(12,26,9),2)
选取股票代码:
- SELECTED: VAR1 AND VAR2 AND VAR3;
python代码参考
import tushare as ts
import talib
def get_filter():
# 获取MACD指标
df = ts.get_stock_basics()
macd = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
macd_15min = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9, timeperiod=15)
# 获取振幅大于1
mask1 = abs(df['high'] - df['low']) / df['open'] > 0.01
# 获取MACD零轴以上
mask2 = macd[2] > 0
# 获取15分钟周期MACD绿柱变为正
mask3 = (macd_15min[2] > macd_15min[2].shift(1)) & (macd_15min[2] > 0)
# 综合mask并返回
mask = [code for code in mask1.index.values if (code in mask2.index.values) and (code in mask3.index.values)]
return mask
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。