Schannep的Dow Theory及回测记录

在《Dow Theory for the 21st Century》中,Schannep对传统的Dow Theory进行了改进。根据作者在书中提出的理论,结合书及网站上的回测记录,发现了一些需要注意的地方。

Capitulation买入

书中提到,首次出现Capitulation信号后,买入25%,在随后的反弹并首次出现3%以上回调时买入25%,最后在道氏理论信号发出买入信号后买入50%。

网站上修改了建仓/加仓的比例,Capitulation时买入50%,道氏理论发出信号时买入最后的25%。

Capitulation的止损

If a completed Dow Theory buy signal and new bull market were not to follow some future capitulation, then you would be partially invested in what would be a failed upturn. In that case, if the markets then were to go on to new lows on two of the three indices, selling out of the position would be indicated into that continuing bear market. But this has not happened over the last 50 years.

书中作者提到,如果capitulation之后没有出现牛市,那么初始的建仓需要在创新低后止损,但是作者后面也提到在过去50年中并未出现这种情况。结合回测记录,作者并未进行任何止损。

另一种牛市信号

除了传统的底底高+顶顶高的牛市信号,作者认为只要上涨超19%就进入牛市,这个定义可以在市场从底部V反且没有明显回调时更早发出信号。

另外,在仔细观察回测记录就会发现,1971/9/7也发出了一个买入信号,该信号在3个指数相对最近的次要趋势创新高时发出,此时DJI为916.47点。结合3个指数当时的走势,可以看到DJI随后下跌13%。而书上的买点相对靠后,在1972/1/12年DJT上破时买入,此时DJI为910.82点。

其他差异

在1957/10/22市场相对底部出现后的买入信号,书上和网站的信号分别为1957/11/29及1958/4/21。造成这种差异的可能原因是1957/11/29,DJT为103.97,离前高1957/10/23 113.16相差约8.1%。差异太大,导致书和网站采取了两种截然不同方式。

根据书119页,

Note 1. At the time of the signal, the DJTA was “seriously” diverging by 8.1% so I only acted on half the new signal and waited on the final half for the DJTA to confirm; consequently the sell was adjusted to midway between the new and the old signal levels for a 454.72 average cost and only a 1.1% better price level. When the Transports have to move as much as 8 to 10%, I would wait on half for confirmation.

1957/11/29,DJI与S&P 500上破时建仓50%,1958/5/6 DJT上破时加仓50%,平均入场点位454.72。

网站上,作者干脆推迟确认,在1958/4/21,3个指数均上破时满仓,入场点位450.72。

其他未给出的信号

SignalDateDJI%StatusDateDJT%DateS&P 500%
1960/9/28569.08Market Low9/29123.379/2852.48
10/14596.48+4.8%Bounce10/14127.623.5%10/1454.864.5%
10/25566.05-5.1%New Low/Pullback/New Low10/25123.51-3.2%10/2552.20-4.8%
11/7597.63Breakup11/3127.8811/454.96
Buy-211/4596.07

其他疑问

1972/4-1972/7,有一个Sell-2型信号(DJI与DJT确认),书和网站均未给出。

1972/7-1972/11,有一个Buy-1型信号(DJI与S&P 500确认),书和网站均未给出。

按照传统理论,上述2个信号因为DJI和DJT未相互确认,所以不会发出,此时市场被认为趋势延续。可能的解释是DJT走势与DJI、S&P 500的走势差别太大,所以信号有效性存疑,这可能也是1957年底延迟买入的原因。

WordPress更新时提示配置FTP账号的处理方法

通常更新时提示需要输入FTP账号的原因是WordPress根目录权限配置不正确,解决方法如下:

修改根目录权限

检查根目录(我的是/srv/www/wordpress),发现用户是root,将用户和组都更改为http服务的用户(我用的是apache,默认是www-data)。

cd /srv/www
sudo chmod -R www-data:www-data wordpress

启用direct更新方法

修改根目录下wp-config.php文件,增加如下代码:

define('FS_METHOD', 'direct');

通过以上修改,就可以更新WordPress而不需要配置FTP了。

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周内不考虑新的信号以减少噪音。

Preview中多窗口预览

使用macOS的Preview时,有时候想要并排显示同一个pdf,最简单的就是使用File->Duplicate来创建一个副本,关闭副本窗口时选择Delete。缺点就是会创建一个临时文件。

另一种方法就是用”open -n”打开需要预览的pdf,这样会创建Preview的另一个实例。这要求我们获取当前文件的路径,可以通过Apple Script来实现。

if application "Preview" is running then
    tell application "Preview"
        set theDocs to documents
        if (count of theDocs) > 0 then
            set thePath to path of item 1 of theDocs
            return thePath
        else
            return ""
        end if
    end tell
else
    return ""
end if

以上代码仅当Preview运行时返回当前文档的路径。

有了上述脚本,我们可以

  1. 创建一个Shortcuts来运行”open -n”命令,获取当前文档并打开新的Preview实例预览该pdf。
  2. 为shortcut设置一个全局的快捷键,方便快速调用。

使用”open -n”有一个小问题,就是当修改其中一个pdf保存后,另一个实例也会重新加载pdf,导致当前浏览的页面跳转到其他页面。

Safari无法打开Passwords页面

今天遇到Safari的一个bug,复现步骤如下:

  1. macOS需要设置登录密码
  2. 删除登录密码
  3. 在Safari的Settings中选择Passwords
  4. 无法显示Passwords页面

通过重新为macOS设置登录密码可以解决这个问题。

如果你最近一次打开Safari的Settings界面,并停留在Passwords界面,此时将无法显示Settings界面。想要再次显示Settings界面,可以通过Create Profile…曲线救国。

目前没有什么好的解决方法,除了再次设置登录密码外。