技术交易系统参数优化的问题

机械化化交易的书籍在市面上层出不穷,大多数打算进行机械化交易的朋友都会去阅读一两本或者更多,这些书里面每一本都会提到交易模型的参数优化的问题。光凭技术手段并不足以解决所有交易的问题,这就是为什么说交易是一门艺术之所在。

而我们使用机械的交易方法是为了尽可能的避免人为的判断和情绪对交易的不良影响,在我们没有形成自己的一套交易体系之前通过机械的方法来进行交易无疑可以少走很多弯路,把时间和金钱留给我们用来积累更多的经验,让我们首先确保在市场中生存,再去追求如何使交易变成艺术。

什么是参数优化?对于一些模型来说会有一些参数,这些参数设置的主要含义可能是为模型提供一个周期,举个例子来说象5日均线上穿10日均线,参数优化实际上就是对参数的各个值进行一次测试,找到盈利最大的那次值,如上面函数的n和N,我们利用系统的参数优化功能就可以把n(1~10),N(10~30)都测试一遍,找到最好的那个值。

参数优化的基本矛盾

参数优化的基本矛盾在于,选取出的最优的参数数值只是在历史数据上成立的,就是说往回看用这个或这组参数能够获得最大的收益,但行情的发展却是无法完全预料的,可以找到历史上表现最好的参数,但是这个参数未必在未来是最好的。因为每种系统设置参数的用意不同,更有甚者可能历史上最好的参数在未来可能就是一组很糟糕的参数。

比如一个参数的设置刚好让你抓住了一波大行情,在参数优化取到这样的值时很有可能对未来没有任何帮助。当然有些参数优化是由于减少了平均的亏损率使你的系统的效果更好,这种参数优化可能对未来会有一定意义,但也不是绝对的,因为行情的发展有其不可预知的一方面。

所以参数优化的基本矛盾在于历史统计结果和行情未来发展之间的矛盾。本文的主要目的就是为了在这样的问题面前,我们该如何处理,如何辩证的看待参数优化带来的利与弊,更重要的是提供一个方法让大家面对参数优化的时候知道该怎么办。

统计研究


为了研究这个问题,首先我对我自己使用的一个很成熟的模型的各个参数值进行了测试,并把一些关键的数据如收益率,交易次数进行了统计。首先介绍一下我的交易系统,我的交易系统是属于趋势跟随型的一个交易系统,跟所有趋势跟随型的交易系统有着同样的特点。

就是趋势形成的时候进入头寸,当权益回吐一定程度的时候认为是是趋势结束了轧平头寸,胜率不高,但在趋势市中能够赚钱来弥补在盘整震荡市中必然要赔的钱。这个系统只有一个参数,其设置的目的是为了给系统中所使用的计算公式和技术指标提供周期。

这里需要提到的一点是,很多人说模型最好不要设置参数,做好了模型应该把参数固定在模型内部不再改变。市场总是在变化的,而我们使用模型就是为了抓住这种变化中的规律,当然这种规律也是会变的,给模型留有一个参数就是为了调节这种变化,比如使用均线系统,如果品种总是大起大落,那么使用短一点的周期就可以了。

因为行情变化的总是比均线走的快,不会总触发平仓或者开仓条件,但是后来发现这个品种不是那么活跃了,那么就应该调整参数把周期调长一些,以适应市场。而不是以一刀切的观点认为没有参数就不再面对参数优化的问题了。

这个观点之所以错误,是他看到了参数优化的矛盾,而没有意识到我们做交易的最根本目的是什么。我们做交易最根本的目的是在于获取利润,而不是逃避仅仅一个参数优化的问题。不过这里还需要提醒的是,参数固然要设置,但是不能设置过多,设置最多两个足矣,自己必须搞清楚设置这个参数的意义是什么。

参数设置过多一方面代表的是你的交易思想的不成熟,因为成熟的交易思想是抓住市场中本质的东西,而本质的东西并不需要太多的变量来对其进行描述;另一方面,过多的参数等于说给程序更大的灵活性,以适应更多情况的行情,但你在选择参数的时候会面对更大的困惑,因为多参数的模型经优化后的一组参数值很有可能是让你灵活的系统最符合历史行情的情况,这就是所谓的“参数拟合”。

来源:攀缠锋祖博客,欢迎分享与交流,(QQ/微信:251563188)

难论系操盘手特训营》--让交易的乐趣从学习开始!