程序化交易分析——过度拟合现象

所谓过度拟合,指的是对于样本数据,描述的准确度很高,而对于样本外数据,描述的准确度却很差。具体到程序化交易中,就是历史行情效果很好,而在未来行情中却失效。本文尝试解释造成过度拟合的原因,并提出避免过度拟合的几种方法。

 

 

01、过度拟合产生的原因

序化交易系统的设计过程包括两个部分,这两个部分都有可能造成过度拟合。交易系统设计的第一部分是形成一个完整的交易规则体系。形成交易规则一般有自上而下和自下而上两种方法:自上而下的方法是基于对市场行情的长期观察总结出来规律,再在规律的基础之上形成数量化的交易策略,这一过程需要长时间交易经验的积累;

 

自下而上的方法是从市场数据出发,进行统计分析得出市场特征而形成的交易策略。交易者在将交易系统用历史数据进行回测时,往往会根据测试结果对交易规则进行重新训练形成新的交易规则,或者对这些规则进行组合,这样产生的交易系统很容易是对市场数据的拟合。同时在数量化实现交易系统的过程中,一般会采用参数来描述系统。设计者会通过增加参数个数和优化这些参数,寻找出最佳的交易系统。如果参数个数较多或过度优化参数,往往就会产生对历史行情的完美过度拟合,而未来的绩效却大打折扣。

 

 

02、如何避免过度拟合

设计交易系统的目标是在未来实盘的行情中可以产生利润,而不是为了追求一条漂亮的历史测试曲线,过度拟合的交易系统是一个“美丽的陷阱”。如何逃离这个陷阱呢?我们认为可以从交易规则的形成和交易系统开发两大方面着手。现代数学对金融市场的数据分析表明,时间价格序列包括两个部分:

 

第一部分是确定项,可以从中找出一定的规律;

 

第二部分是随机项,没有确定性的规律可言,出现某一现象只是概率性的。

 

当我们从市场历史行情中提取交易规则时,需要分析规则的逻辑性和规律性,交易规则需要能够反映市场的规律性,具有一定的合理性。同时交易规则的数量不宜过多,过多的交易规则如同对一个事物的描述加上太多的定语,而非事物本质的反映,如果事物的表象发生变化,描述就失效了,只有对事物本质的描述才是事物本身的定义。当交易者通过各种途径形成交易规则后,在具体的交易系统设计过程中,需要注意如下问题:

 

第一,增加历史测试数据样本容量,避免交易次数过少。

如果历史测试数据量较少,虽然设计的系统在样本内效果良好,但是较短时间段的测试不具有说服力,系统未来的表现很难预期。而较少的交易次数往往是由于增加过多的交易规则限制,对亏损的交易进行了强过滤,是一种典型的过度拟合行为。



第二,在测试时,将测试的数据样本分为样本内和样本外。

设计系统的时候采用样本内数据,然后用样本外数据测试得出的系统,如果效果大大降低,那么这种系统极有可能是拟合的。



第三,核心参数不宜过多。

参数过多的系统是一个多自由度系统,在优化多个参数之后总会得出一个漂亮的系统,但这种系统的可靠性是令人怀疑的。



第四,在对交易系统的参数进行优化时,我们需要对最优参数附近的参数进行考察。

如果附近参数系统的性能远差于最优参数的性能,那这个最优参数有可能是一个过度拟和的结果,数学上称为奇点解,是不稳定的。如果市场的特征稍微发生变化,最优参数可能会成为最差参数。



第五,将交易系统用于其他品种,观察其效用。

免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
如果觉得文章对你有用,请随意赞赏收藏
相关推荐
相关下载
登录后评论
Copyright © 2019 宽客在线