[EA]自动交易系统与曲线套入
关于“曲线套入”。
这里先讲两个故事:
某人练习射箭,可总射不准,看到其他人箭箭红心,不禁眼红,后来他想了一个好办法,就是先把箭射出去,然后跑到箭射入的目标处把“箭靶”画上,这样看来,也是箭箭红心;
又话说英国赌球风气盛行,某君也想通过赌球捞一把,可是他老猜不中,于是他想了一个点子:周末开赛前,他通过黄页选定了3000个人作为目标,分别去信,声称自己能准确预测周末A队对B队的战果,对其中1000人,他预测A队获胜,对另外中的1000人,他预测B对获胜,剩下的1000人,则预测两队战和;下一个周末,他对上周预测准确的1000人又分成3批发信,分别作出3种预测,再下周亦如是。。。到剩下33人的时候,他又分别向他们去信,声明如想要获得本周末赛果的预测,需先向他支付1000英镑,结果,这些人中的大部分对这个“独具慧眼”的专家早已倾心不已,某君终于大赚一笔。
所谓的“曲线套入”,就是利用历史资料匹配系统,针对一段历史行情与指标、数据的关系编写EA,为使EA看起来有良好的表现,不断地对参数作出调整、优化,设置过滤条件,使EA与历史资料数据之间完全吻合,结果可以肯定,这套EA在历史数据测试中表现良好,会在大涨之前适时地买入,大跌之前适时地卖出,可是当下次大涨大跌之前EA还会适时地发出信号吗?恐怕不能,因为这个EA是针对过去的状况编写的,它不一定适用于未来。从自己的经验总结,EA设定的条件越多,结构越复杂,“曲线套入”的情况就越严重。话又说回来,编写EA不能离开历史资料,不然我们就成了盲人摸象,无从入手,怎样避免过度的“曲线套入”,我是这样做的,首先准备足够长的历史资料数据,将其分成两份,前一份用于观察,后一份尽量不去看它,EA出来后先用前一份数据作测试、调整,直到EA达到目标要求后再用后一份历史资料去测试它,如果这时EA的表现和前一份数据差不多,那么我认为这个EA基本合格了。