问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,20日均线大于120日均线。
选股逻辑分析
该选股策略同样采用了振幅指标和反包指标来选择波动较大、具有反转信号的股票,并加入了均线指标来确定股票的趋势性,筛选出在趋势明显的股票。该选股逻辑比较注重股票的成长性、流动性和趋势性。
有何风险?
该选股策略依赖于均线指标的表现,但一旦市场走势不符合股票的历史均线表现,该策略的效果可能会受到影响。同时,如果选股时振幅波动较大,但并非处于股价反转状态,也可能选择到并不优质的股票。
如何优化?
可以引入其他技术指标,如MACD、KD等,以及公司的基本面指标来辅助选股,从更多角度综合分析,减小策略的风险。
最终的选股逻辑
基于以上分析,提出下面完善后的选择逻辑:
- 振幅大于1;
- 反包出现;
- 计算20日均线和120日均线,20日均线大于120日均线;
- 过滤得到满足条件的股票。
同花顺指标公式代码参考
以下是该选股策略的指标公式代码:
F01: HIGH/LOW-1 > 0.01; // 振幅大于1
F02: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03: MA(CLOSE, 20) > MA(CLOSE, 120); // 20日均线大于120日均线
FILTER:F01 AND F02 AND F03;
SELECT(IF(1, 1, 0),"选股"); // 输出文本信息:选股
python代码参考
以下是 Python 实现该策略的选股逻辑:
def stock_filter(dv, symbols):
# 获取数据,计算指标
high = dv.get_ts("high", symbol=symbols)
low = dv.get_ts("low", symbol=symbols)
close = dv.get_ts("close", symbol=symbols)
ma20 = close.rolling(window=20).mean()
ma120 = close.rolling(window=120).mean()
amplitude = high / low - 1
reverse_pattern = (Ta('CDL2CROWS', 0, open, high, low, close) == 100)
selected_stocks = ((amplitude & reverse_pattern) &
(ma20 > ma120))
selected_stocks.sort_values("close", ascending=True, inplace=True)
return selected_stocks.index.tolist()
在计算股票指标的基础上,引入均线指标进行加强策略的选股能力,进而根据阈值选取符合指标要求的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
