关于趋势交易里资金回撤的一种改善思路

本文主要试图讨论一种趋势交易下的资金管理方式。

对于趋势化交易,我们的资金曲线,往往会出现类似下面的情况:

2012_0909_01

也就是在一个比较大的资金上涨之后,会跟着出现若干次连续的下降,甚至回到上涨之前。这种资金回撤,实在是打击积极性。

这种情况,我认为出现的原因如下:

1、使用了趋势化交易

如下面一个典型的趋势化交易图可以看到,趋势化交易主要是通过抓取大的波段来获利,但是其过程中,会经历不少小的震荡。而一般情况下,一波大的行情之后,容易出现一个小的平台,行情会在这个平台上辗转反侧,然后再会走向新的趋势方向。

2012_0909_02

2、使用了资金管理

这是一个相当重要的原因。由于我目前主要研究的是基于百分比调整的资金管理模式,所以我也主要对这种模式下的交易进行分析。这种资金管理,其原理是获利后账面增长时,加大交易量。

可以想象,一个趋势被捕捉到以后,碰到小平台前,资金量会出现一个比较大的资金增长。而百分比的资金管理模式,基本都会在这种情况下做出新的计算, 在下一次交易里,放大交易量。可是不幸的是,正好这个时候,是在一个平台内横盘,见上图。于是放大了的交易量,会在横盘期进行交易。多数情况下,损失不可 避免。

———————–

所以这也就导致我产生一个简单的解决思路:

1、在获取大的盈利后,减少下一次的交易量。

比如盈利前交易是10手,程序检测到是大幅度盈利后,可以判断为抓住一波趋势,于是,通过某种算法减少交易量,比如减到8手。

2、上面的调整方式是和百分比交易的资金管理是矛盾的,所以,对于这里的减少交易量,仅维持若干次交易就终止。比如上面的例子,减少到8手后,不能一直这样下去,否则资金管理就产生了混乱,而是在经历若干次交易后,恢复到正常的交易水平。

理想的情况下,减少的交易可以熬过这个横盘,并且维持一定的交易量,以防完全的踏空。

———————–

针对上述思路,我编写了程序,并且做了测试。

交易程序:某趋势化交易

资金管理:基于百分比和optiaml F基础上的改进方法(可以参见我前面文章的讨论)

回撤管理:检测到资金大幅增加后在若干次交易里减少交易量

测试程序:Tradeblazer(TB)

测试商品:SR1301、TA1301、RB1301

测试周期:2012年1月1日到~今天,5分钟线

下面是三种商品的测试曲线和数据,其中1手是固定1手的交易,用于做基础对比,资金管理,是指只引入资金管理后的测试,回撤管理,是指引入资金管理+回撤管理后的测试。

需要这里特别说明的是,由于是一种方法的探索,所以我在程序上,对减少的交易量、减少交易量的持续时间,都作为优化变量来进行测试,以期观察不同组 合下的表现。从测试过程来说,有点过度优化的倾向,但是下面的数值,并非是完全取的最优的数值,也尽量避免取那些所谓的“孤岛”现象对应的数值。所以下面 的测试数据,基本是可信且具有代表性的。

SR1301的对比测试:

2012_0909_03

其绩效的具体数值如下:

2012_0909_08

TA1301的对比测试:

2012_0909_04

其绩效的具体数值如下:

2012_0909_09

RB1301的对比测试如下:

2012_0909_05

其绩效的具体数值如下:

2012_0909_10

从测试情况来看,改善并非完全都是有效的。比如对于TA1301的交易,几乎没有什么改善。对于SR1301,回撤的改善不大,但是利润率的提高却是巨大的。对于RB1301,改善都比较大。

下面是我取的SR1301的改善前后的资金变化对比图,大家可以自行对比观察一下引入回撤管理后的影响变化。

有资金管理,无回撤管理:

2012_0909_06

有资金管理,有回撤管理:

2012_0909_07

最终结论:

不论改善的程度如何,整体来看,都是有提高的。但是引入过多的变量,会带来新的问题,谁也不知道未来是什么样的,以过去的交易来优化的数值,在未来 未必能产生效果,所以参数的取舍,是需要非常谨慎的。不过从具体的测试结果来看,大部分的参数,都能改善交易绩效,我想这主要是因为我的交易系统,有着本 文开头提到的两个固有的问题而造成的,这样来看,对于我目前的交易系统,使用回撤管理,应该还是有用的。

特别说明:

本文仅作理论性的探讨,并且对于交易系统和资金管理都是有针对性的,如果采用的是量化交易,那么我认为这种方式可能就不适用了。

为了简化问题的讨论,而让主题明确,本文忽略了具体的交易方式和资金管理模型,但是我想应该适用于通用的趋势交易和通用的百分比资金管理模型。至于其中提到的对资金变化的检测,倒是采取了一点特别的技巧,这里也一并忽略了,相信设计这样的检测程序并非难事。

另外这里纯粹是对资金管理的一种附加模型讨论,凌驾于交易模型之外,其实如果交易模型本身能设计的精巧一些,回避这样的回撤,那也是另外一种思路了。