篇策略 篇研究 个想法
回测

基于经典TD序列的市场择时研究

2020-03-11 14:27:49 分享了策略 816 5 14

一、经典TD指标原理介绍

我们追求的择时策略便是想通过一些指标的分析或者模型的判断来预测市场未来的走势,通常来说有两种分析手段,分别是:基本面分析技术分析

基本面分析通常是从宏观经济、以及企业的财务状况去判断证券的合理价值。即通过研究价格波动背后的原因,从而判断股票未来的走势,但基本面分析无法判断未来市场变化的时点和幅度。针对该不足,Charles Dow于十九世纪初发明了道氏理论,此理论包括了以下三大原理:

第一,价格反映一切市场行为。

第二,价格跟随着特定的趋势变化,而不是完全随机的。

第三,历史会不断重演。

它的基本原理概括来说就是提前发现市场买方卖方力量衰竭的阶段————市场走势由买方和卖方共同作用形成,当买方的力量大于卖方时走势表现为上涨,反之为下跌,但买卖双方力量强弱的表象往往是动态变化的,当走势上涨一段时间后,买方力量必然面临衰竭,从而市场转为下跌,反之亦然。

二、TD序列指标的具体操作介绍

根据最原始的理论:一个完整的TD序列预测过程由启动阶段交叉条件计数阶段三部分组成,当走势经过一系列的连续启动之后,开始考虑交叉条件,自满足交叉条件处的K线开始进入计数阶段,当TD序列计数达到13时,则预示市场原来的趋势已经处于衰竭的时刻,并有发生反转的倾向。若TD计数在到达13之前又进入了新的启动阶段,则取消原来的计数,而从满足交叉条件的新K线重新开始计数。

接下来,我们分别介绍每个阶段。

买入启动阶段:当市场上连续出现9根K线,其收盘价比之前第4根K线收盘价低时,我们称之为一个买入启动阶段。 买入交叉阶段:若市场走势已经完成了启动阶段,且其中第8、9或随后K线处的最高价大于等于其第3根K线之前到第1根K线中的最低价,则称其满足买入交叉条件。 买入计数阶段:在买入交叉条件得到满足后,若当前K线的收盘价比之前第2根K线的收盘价低,则买入计数加1。且当交叉条件出现在第8或第9根K线时,计数从第9根K线开始进行。当交叉条件出现在随后K线时,计数从该K线开始进行。

卖出启动阶段:当市场上连续出现9根K线,其收盘价比之前第4根K线收盘价高时,我们称之为一个卖出启动阶段。 卖出交叉:若市场走势已完成了启动阶段,且其中第8、9或随后K线处的最低价小于等于其第3根K线之前直到第1根K线中的最低价,则称其满足卖出交叉条件。 卖出计数:在卖出交叉条件得到满足后,若当前 K 线的收盘价比之前第2根K线的收盘价高,则卖出计数加1。且当交叉条件出现在第8或第9根K线时,计数从第9根K线开始进行;当交叉条件出现在随后K线时,计数从该K线开始进行。

上述策略以买入判定为例概括来说便是:

买入启动阶段是探测市场价格下跌,买入交叉是判定市场有反弹可能,买入计数是等市场下跌的趋势衰竭之后再入场以便获得较大收益。这个过程看起来非常有道理,但其中的原定参数是否适合我们的目标市场,以及该如何调整等是我们面临的较大问题。

三、经典TD序列指标的历史情况

这一段我们将给出历史数据的判定代码,先采用最原始的参数观察其在历史数据中的表现情况。

历史数据获得和处理

我们目前采用的是btc/usdt在binance的天级别行情

以下是针对整个历史数据记录所有回测点的代码,代码中参数的代表意义请结合下文的注释和上文的对于买点和卖点的判定条件理解为佳。

下图是根据历史数据得到的买点和卖点的分布,可以看出表现并不是非常好,而且在2017年末的高峰时期并没有抓住机会,初步解释是可能是计数条件的难度导致达成的时候已经错过了时机。从策略的执行条件来看,我们可以直观地感受到在启动阶段和计数阶段是整个策略中较难以达成的,因此我们初步的改善可以通过减弱启动阶段和计数阶段的判定难度来尝试着观察买卖点的分布情况。

隐藏输出

四、回测

接下来给出的函数是判定当前时间是否买卖的函数,而不是给出整个时间序列的买卖点。这里我们采用的参数是经典参数。

在下面的回测中,总体来看,不是非常突出但是比起基准来说还是较为稳定的,相对来说并没有特别大的波动。

隐藏输出

五、总结

从上文的TD序列择时研究中我们可以得到一些启发和改进想法:

1、针对不同的市场,通过基本面分析或者历史数据的技术分析,调整参数或者是在TD序列的思想上调整判定方法判定条件等来更好地适应目标市场。

2、由于市场一直在变化,不能理所当然地假定市场是平稳且一成不变的,因此我们可以在算法中动态调整参数。例如,我们可以引入之前一篇文章中的偏度以及EMA等来描述市场的震荡情况,根据震荡情况在算法中进行动态调整。

3、每次的交易仓位也是影响收益的关键,如何根据当前指标调整也是改进方向之一。

4、整个策略的复杂性的提升会增大优化策略的难度,当各种参数的组合数过大时,通过人的手工便很难进行参数的最优化,初步想法是可以引入机器学习,以收益率,最大回撤等构成的综合指标最优为目的来优化参数,但最后模型是否能收敛以及效果如何还有待考量。

以上只是本人复现了这个策略的一些个人感想,仅供参考。

篇策略 篇研究 个想法