开拓者期货期权程序化系统交易论坛

标题: 谈谈系统失效 [打印本页]

作者: flyfish    时间: 2013-1-14 17:38:39     标题: 谈谈系统失效

坛子里看过很多不错的系统,也看过很多不错的文章,但印象中提到系统失效的文章几乎没有。今天就以自己的粗浅经验说说这个话题。

2010年,我初次接触程序化交易,当时用的是文华。经过几个月的研究,写了一个橡胶系统,由于历史数据的限制,只能回测到1年内的数据,但这段回测的结果很不错。当时没经验,急于赚钱,直接就开始实盘了。实盘头两个月很顺利,每个月的盈利都有20%以上,那叫一个高兴啊,我相信有类似经历的同学能体会我那时的心情。于是,第三个月开始,我融资了,噩梦随之而来。就从我融资之后开始,第三个月大幅回撤,超过了我回测中的历史最大回撤幅度,而且毫无停止回撤的迹象。我真的怕了,立刻停止了交易,继续跟踪的结果是又回撤了至少半个月,才开始大幅盈利后来还创新高,可那时我已经成了惊弓之鸟,不敢再启用这个策略了。这是最让我吐血的一次经历,看到了持续盈利的曙光,却被当头一个大闷棍打落山崖。

后来的跟踪研究发现了两个问题,一个是指数和合约的差异对实际操作结果的影响比我预想的要大不少,另一个则是文华的回测结果有问题,严重不准。于是彻底抛弃了文华,试用过TB和金字塔之后选择了TB。

现在回头看,当时的问题很多,其中一个重要问题就是没有考虑系统回撤幅度超过历史最大时应该怎么办,更进一步就是没有考虑系统的回撤幅度超过多少时就认为它失效了,再进一步就是没有考虑从系统原理来看出现什么情况系统就失效了。最后这个是本质,必须对系统有很深的理解,对这个问题才能有明确的答案,否则大多是凭感觉和经验而已。

那么,有没有一个通用性较好的普遍原则可以用来判断一个系统是否失效了呢?我在网络上找到了一些经验解答,结合我自己的个人经验,现跟大家分享一下。

首先,基于日线周期的系统,回测的交易次数要达到100或以上,基于分钟线周期的系统,回测的交易次数要更多,具体多少,难以量化,我个人经验是根据系统不同的原理,在200-1000之间都可能是合适的。也有以回测的Bar的数量作为标准的,回测Bar数要达到2000个。有人认为回测时间长度要达到5年甚至10年,对于国内的期货品种来说这个不太现实。

其次,回测交易次数满足要求后,可以看到测试报告里有个最大回撤(绝对金额,不是比例)的数据,我们将这个数据称为MDD。这里要强调一点,就是这个MDD应该是以“只做1手”为基准的,也就是回测的时候要选择固定1手方式,不要选择资金比例方式。

这两个条件满足后,按一般经验,可以把回撤达到2MDD作为系统失效的判断条件。但要记住,这只是一个经验条件,如果你对系统的理解很深,能够从原理上知道系统在什么情况下失效,那就不需要这个。不过对于大多数同学来说,这个2MDD作为判断条件还是比较有效的。

这样得到2MDD后,再进行样本外测试,也就是模拟盘,这个阶段主要是看模拟盘的信号和结果是否跟对模拟盘期间数据的回测结果相符,另外就是看最大回撤是否会达到或超过2MDD。模拟盘的时间长度,似乎以样本内测试(也就是模拟盘之前的回测)的一半为佳,不过这很考验人的耐心。如果你实在着急想尽量缩短模拟盘的时间,以我个人的经验,再怎么缩短也不要少于3个月时间。

如果你的模拟盘没有出现2MDD的回撤,那么恭喜你,可以进入实盘了。
作者: 沧海一粟    时间: 2013-1-14 18:08:29

很多资金曲线图,只是看起来很美。真要到实盘,那个回撤幅度和时间就不是一般人可以受得了的。
作者: 受伤的小鱼    时间: 2013-1-15 02:46:48

为什么没人谈,个人认为能谈的人认为不需要谈,
这简直就是一常识!!!!
作者: 无心    时间: 2013-1-15 08:24:09

失效?
怎么会失效呢
怎么会不失效呢

趋势 模型在盘整期赔钱
难道我们说他失效了吗

趋势模型在单边行情移动止损了
行情继续原来趋势走错过一大波
难道我们说他失效了吗

任何策略都有不适应期
反过来说没有对作任何行情都有效的策略

相对来说
没有拟合的简单策略适应性广一些
作者: jm35021    时间: 2013-1-15 09:00:27

谈失效前,似乎先给“失效”下一个定义比较好.....究竟怎样算是失效了,当我们认为这个模型已经失效弃之不用了,它忽然旱地拔葱一般猛赚一笔,这个.....如何是好,还是给个定义吧,或者说,这玩样本就是相对的,没有绝对而言.....还是模糊些吧,做期货和做人一样,有时候真不要太认真......含糊些
作者: 冬雨    时间: 2013-1-15 09:19:48

学习了。
作者: 美股的虾米    时间: 2013-1-15 09:35:11

l楼主说的不错啊,大多人都是抱着幻想希望来跑实盘,可是不知道当实盘出问题时怎么处理
作者: 盛世长城    时间: 2013-1-15 10:59:36

2倍的MDD!有魄力!
作者: flyfish    时间: 2013-1-15 13:22:37

受伤的小鱼 发表于 2013-1-15 02:46
为什么没人谈,个人认为能谈的人认为不需要谈,
这简直就是一常识!!!! ...

对于新手或初级阶段的人来说,了解一下这个可以少走弯路。所以我觉得谈一下还是有必要的。
作者: flyfish    时间: 2013-1-15 13:31:00

无心 发表于 2013-1-15 08:24
失效?
怎么会失效呢
怎么会不失效呢

问题在于我们无法预知系统会回撤到什么程度,所以要有一个界限,超过这个界限就要重新考虑系统是否有什么隐藏的问题。

而你所说的趋势模型在盘整期赔钱,只要不超过2MDD我们就可以认为它仍然处于正常范围内,仍然有效。如果超过2MDD,那也许回撤会超过30%,50%,甚至80%,无法预知,即使后来仍然能恢复盈利,这也不是一个安全的系统了。
作者: flyfish    时间: 2013-1-15 13:34:48

jm35021 发表于 2013-1-15 09:00
谈失效前,似乎先给“失效”下一个定义比较好.....究竟怎样算是失效了,当我们认为这个模型已经失效弃之不 ...

是否真的完全失效,要事后才能看出来。在系统运行过程中一般是不能100%确认失效的(除非对系统原理有深入的理解)。这时2MDD可以作为一个临界点,达到这个点,那么我们就有理由怀疑这个系统可能失效了,此时停止系统是为了回避风险。
作者: flyfish    时间: 2013-1-15 13:35:26

美股的虾米 发表于 2013-1-15 09:35
l楼主说的不错啊,大多人都是抱着幻想希望来跑实盘,可是不知道当实盘出问题时怎么处理 ...

嗯,这就是我写这个帖子的目的。
作者: 受伤的小鱼    时间: 2013-1-15 23:38:17

flyfish 发表于 2013-1-15 13:31
问题在于我们无法预知系统会回撤到什么程度,所以要有一个界限,超过这个界限就要重新考虑系统是否有什么 ...

没有安全的!
作者: 受伤的小鱼    时间: 2013-1-16 05:51:33

本帖最后由 受伤的小鱼 于 2013-1-16 05:52 编辑
flyfish 发表于 2013-1-15 13:22
对于新手或初级阶段的人来说,了解一下这个可以少走弯路。所以我觉得谈一下还是有必要的。 ...


, 我认错!!!!!say sorry!
作者: 无心    时间: 2013-1-16 06:13:09

flyfish 发表于 2013-1-15 13:31
问题在于我们无法预知系统会回撤到什么程度,所以要有一个界限,超过这个界限就要重新考虑系统是否有什么 ...

趋势策略如果遇到很长的盘整期,即使超过2倍回撤,也不能说失效,而应说有效,就更应坚持,因为盘得越久,随之而来的行情越大,
作者: 无心    时间: 2013-1-16 06:14:31

只的说:如果你趋势策略错过6成以上的单边行情,才算失效
作者: liq77    时间: 2013-4-1 07:37:48

楼主的MDD之说正在得到检验。。。
作者: wawe588    时间: 2013-4-16 15:07:43

有些策略,要看逻辑上是不是通得过吗,能通得过基本不太会实效,而不是一些特例搞出来的策略
作者: liq77    时间: 2013-4-17 06:57:56

失效还是未失效是楼主定义的,例如2MDD。每个人都可以有,也应该有自己的定义。就像趋势跟踪者对自己要跟的“趋势”所作的定义一样。各人有不同的标准,无所谓对和错。
问题在于系统交易必须对损失有一个控制,否则就和做错了死扛没设么两样了。
楼主的两倍MDD是一个标准,很好执行,过了两倍说明有问题,先下线再说,以免损失失控。接下来是要找出产生问题的原因。这个是高难度的挑战。如果对模型运作的原理和逻辑构架没有深刻的认识,只怕是无法“以其昏昏,使人昭昭”。
作者: camedia    时间: 2014-7-25 17:42:05

觉得楼主说的很不错,值得认真学习一下。
作者: stevenliang123    时间: 2015-3-13 17:44:33

回测平台的构建有问题啊兄弟,怎么能依赖行情软件呢? 用正经的统计软件做吧,首推MATLAB,EXCEL也可以




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2