问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,MACD零轴以上。
选股逻辑分析
该选股逻辑继续沿用了技术面指标的筛选方法,其中振幅大于1是过滤噪声的必要条件。反包策略可以较为准确地识别出股票的涨跌趋势,同时加入MACD指标后,可以更为确认股票具备较好的上涨潜力。
有何风险?
该选股逻辑仍然较为简单,没有充分考虑到基本面因素的影响,且筛选过程相对单一,容易导致误判和漏选较好的股票,需要充分考虑基本面因素和宏观环境等综合因素。
如何优化?
可以加入更多基本面指标,如财务数据、行业信息等综合考虑。在判断MACD指标时,可以通过加入其他技术指标进行协同判断,过滤掉短暂的反弹行情,以限定选股范围。
最终的选股逻辑
基于以上分析,我们提出改进后的股票筛选逻辑:
- 振幅大于1;
- 反包出现;
- MACD柱线在零轴以上。
同花顺指标公式代码参考
以下是通达信指标的公式代码示例:
F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:NOT(SIGN(CLOSE-REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03:(EMA(CLOSE, 12)-EMA(CLOSE, 26))>EMA(REF((EMA(CLOSE, 12)-EMA(CLOSE,26)),1), 9); // MACD柱线在零轴以上
FILTER:F01 AND F02 AND F03;
SYMBOL_SORT("热度", SORT_DESCEND);
SELECT(IF(F04, 1, 0), "诊股"); // 输出文本信息:选股
python代码参考
以下是用 Python 实现该策略的选股逻辑:
def stock_filter(dv, symbol):
# 获取股票数据
high = dv.get_ts("high", symbol=symbol)
low = dv.get_ts("low", symbol=symbol)
close = dv.get_ts("close", symbol=symbol)
# 计算反包指标
close_shifted = close.shift(1)
close_lagged = close.shift(-2)
reverse_signal = (close > close_shifted) & (close_shifted < close_lagged)
# 计算MACD指标
dif, dea, macd = ta.MACD(close.astype(float).values, fastperiod=12, slowperiod=26, signalperiod=9)
is_macd_above_zero = macd[-1] > 0
# 选股
selected_stocks = (high / low - 1 > 0.01) & reverse_signal & is_macd_above_zero
selected_stocks = selected_stocks[selected_stocks].sort_values(by="heat_rank", ascending=False)
return selected_stocks.index.tolist()
该示例代码使用了Python的技术指标库TA-Lib计算选股逻辑,并加入MACD指标进行筛选,需要基于大量的数据进行计算、筛选,以期获得更加准确的选股结果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
