加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]向前走的backtesting方法(Walk forward Backtes

(2013-12-03 19:56:54)
标签:

转载

来自网络

向前走的backtesting方法(Walk forward Backtesting) - 可以看交易系统是不是有稳健度

http://www.programtrading.tw/viewtopic.php?f=8&t=59
我们在做backtesting可以有两种不同的方式。第一种是一般人常用的backtesting方式。第二种是我今天想要报告的 」向前走的Backtesting方法」 (Walk Forward Backtesting)。(注:翻译的不好听请见谅,也有人翻译成」移动窗格」)

 

第一种方式:一般人做Backtesting应该都是把手上所有的历史数据都拿来做backtesting,像下面的这张图一样。用所有蓝色区域的历史数据(称之为In-Sample-Data)来跑backtesting。然后跑出来一条漂亮平滑的资金曲线后,就拿着这组参数值实际拿钱下场交易了。然后拿实际资金下场交易的时间,在下面的这张图里面就是用红色的区域来表示。

http://s1/middle/9c2ed77bgbb1b451cae20&690forward Backtes" TITLE="[转载]向前走的backtesting方法(Walk forward Backtes" />

 

在红色区域实际交易的时间中,通常实际的表现不会像蓝色区域backtesting的结果那么漂亮。这可能是因为我们有curve fitting的情形,结果发生交易系统死掉 ,Fail的情形(这就发生在我身上过。没错,就是这种情形害我一晚赌输一百万)。

 

第二种方式:就是Walk Forward Backtesting,这种方式的作法就像是下面的图所显示的,如果我们有12个星期的历史资料可以用的话,我们先用第1到第4个星期的数据来跑优化,然后将跑出来的参数值套用在第5个星期的资料上。这时候第1-4个星期的数据就是In-Sample-Data,套用在第5个星期的绩效就是Out-Of-Sample的绩效。


http://s5/middle/9c2ed77bgbb1b481d83e4&690forward Backtes" TITLE="[转载]向前走的backtesting方法(Walk forward Backtes" />

 

然后我们把测试的window往后挪一个星期,重新跑第2-5个星期的优化,然后将跑出来的参数值套用在第6个星期上。这样重复8次。然后将所有out-of-sample的结果结合在一起(就是图下面绿色的部分)。就会是这个交易系统真正实际交易可能会出现的绩效performance。

 

这种方法因为做了许多次的walk forward test(这个例子里面做了8次),所以当我们拿实际资金下去操作的时候(就等于是第9次的walk forward test),所得到的绩效就会很可能很接近之前8次的结果。

 

这个观念其实相当不错,但是我在一般中文的网站里面都找不到有人做这样的study,应该是很少人在做这个方法。不过在Tradestation的Forum里面,这个Walk Forward Optimizer却是最多人有兴趣在讨论的东西。有Tradestation账号的人可以来这里看:

https://www.tradestation.com/Discussion

http://s12/middle/9c2ed77bgbb1b4ae50cfb&690forward Backtes" TITLE="[转载]向前走的backtesting方法(Walk forward Backtes" />

另外我最近在看的一本书:

The Evaluation and Optimization of Trading Strategies (Wiley Trading) by Robert Pardo (Hardcover - Feb 8, 2008)

里面也提到说,当交易系统设计完成之后,要实际交易以前,绝对一定要先经过Walk Forward Analysis。因为我们要看一个交易系统的稳健度(Robutness),Walk Forward Analysis是一个很好的分析方法。

 

下面的这个图是这本书建议系统开发的标准流程,在Real Time Trading之前的一个流程就是Walk Forward Analysis. 这个步骤也是决定一个交易系统 go or no go的重要步骤。


http://s2/middle/9c2ed77bgbb1b4d343881&690forward Backtes" TITLE="[转载]向前走的backtesting方法(Walk forward Backtes" />

今天报告这个题目其实有点艰深,如果有兴趣的人可以自己来这里看看:

http://www.profsoftware.com/bt/

有比较详细的说明,这里还有试用版的软件可以download下来测试。

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有