1,关于系统优化的参数训练集的选择
一般的原则是:数据越多越好,品种越多越好。但是也不尽然。以上证指数为例,
89年底开始的那波牛市,几乎每天都上涨,一直涨到92年5月份的高点,指数在一年多的时间里几乎上涨了一倍。这种供求比严重失衡的卖方市场的交易历史,几乎不可能再重现。更消极的是,这段历史中,几乎所有长线的牛市策略都可以转到大钱;把这段数据加入训练集后,将会导致”最优“策略和”最劣“策略之间的对比性下降。就好比说,高考的时候,有80%的试题全是送分题,不是文盲的都可以拿分,那么这张卷子就无法很好的区分好学生和坏学生。因此,从这两个角度考虑,这段交易历史必须排除出系统参数的优化训练集。
此外,还有诸如1995年5月23日,大盘指数暴跌16%,起因是”新股发行的传言”。还有,1996年12月16日暴跌10%左右,起因是“交易制度中增加涨跌停版”。这些情况,一般属于交易历史的早期那些不成熟市场的行为。对未来行情的启发意义不大,我主张都应该排除出训练集。
话说回来。虽然这些极端情况被排除出了训练集。但是在最后的交易策略的性能测试中,倒是应该再把这些数据包含进来。看看你的系统能不能扛住这样的暴涨暴跌,也就是测试了一些小概率事件下的系统鲁棒性。
2,对于交易策略构建的“由简到繁”的方法论
交易策略将由一系列买入、卖出、止损、加仓等规则构成。一个成熟的交易策略,必然是参数具有鲁棒性,参数变化带来的盈利能力的变化应该是连续的,相邻参数测试点之间,不该出现盈利突变。这是构建系统的最基本的要求。
那么,在构建一个系统的过程中,应当遵循由简到繁的步骤。
也就是说,系统0的所有参数均满足“性能连续”的要求。在系统0 的基础上加入一个新的规则以及相关的参数,构成新的系统1,就要求系统1也满足“性能连续”,否则,这条新的规则,应视为“数据拟合”的不良规则而被排除。
这条方法论是近几个月走的弯路的总结。在之前的系统中,有一条规则是有“数据拟合”嫌疑的规则,也就是说,调整规则的参数,在最后的盈利能力上出现许多不连续的部分,虽然在某些参数下,系统的盈利能力“看起来非常好”,但是无法解释这个参数相邻的那些“非常糟糕”的盈利能力。为什么x=29的时候,盈利能力像巴菲特一样,而x=30的时候,却糟糕的要把钱亏光?这就是很危险的数据拟合了。
由于一开始没有意识到对这个“由简到繁”的构建方法论,所以犯了个错,就是让这个“数据拟合”规则一直留在系统里。在这个“拟合”的病态系统基础上,无论我如何修改其他规则和优化参数,都无法获得良好的多维连续曲面。一直在做无用功,直到我意识到这条规则的“拟合”性而决定排除这条错误的规则,才使得系统变得“连续”起来。
所以,一定要严守这样的“由简到繁”的方法论。如果当前系统存在相邻参数的性能突变,那么就一定要先排除那几个有拟合嫌疑的规则,除非能够从更基本的经济学原理对这个突变进行解释。否则,在这样的病态系统的基础上增加规则,纯粹是在浪费时间。就算获得了看起来很不错的盈利性能,最后也无法证明这个盈利性能不是通过拟合而来,因而也就“不敢”把这个规则用于交易实战。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。