Schannep’s Capitulation Indicator

在《Dow Theory for the 21st Century》中,作者Jack Schannep提出了一个指标可以预测熊市底部,基本原理是计算三大指数(道琼斯工业指数、道琼斯运输业指数、标普500指数)与10周时间加权平均(ten-week time-weighted average,TWA10)的差,若差低于-10%则标记。作者没有公开具体的算法,但是提到可以使用50天指数移动平均(EMA50)来近似TWA10来达到相似的效果。代码以富途牛牛脚本编写,如下:

PERCENT = EMA(CLOSE, 50) / CLOSE;
LAST_PERCENT = REFV(LAST_PERCENT, 1);
NEXT_PERCENT = REFXV(NEXT_PERCENT, 1);
DRAWICON(LAST_PCT < 1.1 AND PCT >= 1.1, C*0.98,1);
DRAWICON(PCT >= 1.1 AND NEXT_PCT < 1.1, C*0.98,2);

当然,观察指数最新数据时,没办法知道区间的右端点。这里的使用EMA的算法得到的结果与书中给出的信号表还有点偏差。

使用WMA代替EMA

TWA时间加权平均公式计算如下

TWA=\frac{2}{n(n+1)}\sum\limits_{0}^{n-1}P_{-i} \cdot (n-i)

既然作者提到使用TWA计算移动平均,那么在富途牛牛中,我们可以用WMA函数代替EMA,得到的结果更加精确一点。

减少多余信号

单独考虑1个指数发出的信号会有很多噪音,如果某天3个指数同时发出信号才作记录,那么信号会少一些,且我们仅考虑处理后信号区间的起始端点。

有时上述算法会相隔2、3天就发出信号,此时我们可以设置一个时间窗口,比如1周内不考虑新的信号以减少噪音。