MT4历史回测参考价值

楼主  收藏   举报   帖子创建时间:  2019-05-05 06:17 回复:0 关注量:554
MT4历史回测参考价值
在MT4软件中提供了非常方便的历史回测功能,很多朋友喜欢用历史回测来判断一个EA的优劣来选交易程序,这是一个很大的误区,原因有以下因素:
一、数据偏差
           MT4测试中你会发现有复盘模型质量和输入图表错误一栏,一般情况下都不是100%的,好的也就是90%多,也就是说MT4的数据质量本身就比不了实盘的,这些是无法处理的。除了这些数据质量,其次在点差、滑点等方面的数据历史回测的数据是无法按实盘记录的,这也是数据有误的重要原因,即便有的人去花钱买数据,也是一样无法记录这些实盘中实时变动的因素。
此外,回测设置中有“复盘模型”一栏,大部分都是选择“每一个即时价格(基于所有可能利用的最小时段的每一个价格的分形插值计算)”不要以为这就是每一个价格,括号里面长长的而且很拗口的说明包括很多内容,几个定语解释一下:“所有可能利用的”——那么就是有不能利用的;“最小时段的”——MT4最小时段就是1分钟呀,回测过程中模拟不了实时价格呀!;“每一个价格的分形插值”——不要只看前面每一个价格,重点在于后面分形插值,分形插值很多朋友可能不理解,缠论的“分形”大家都知道吧(再不知道的问度娘),这里分析插值就是按价格波动的图形分形后插入几个值,说的很清楚了只是分形后插入的几个价格,不是实时价格!!!;“计算”——计算是如何计算的呢,这个问题还是去问迈达克公司吧!反正这说明中的每一个定语都是在告诉你不是每一个价格!!!
上面这所有因素都是导致历史回测无法比拟实盘的关键因素。
二、未来函数
      这个可以说是一种作弊了,有的程序使用未来函数,在回测的历史数据程序提前已经知道了今天的涨跌,然后才开出来的单子,但是实盘中怎么可能提前确定今天一定会涨或跌呢? 未来函数的杀伤力在于历史回测中你无法察觉。就像一个分析师说:“高抛低吸”,要是提前知道这是哪里是高顶哪里是低底,还用你废话。
三、过拟合状态
       过度拟合是量化策略回测最容易犯的错误,而且也是符合人性的。人性总是希望得到看起来最佳的效果,所以会通过参数寻优来寻找最佳参数。但得到的最佳参数只是正好符合了历史的价格运行,所以在未来是大概率会失效的。还有喜欢研究的朋友会钻牛角,他们会想测试之前五年甚至十年的数据,应该会避免未来的失效性把!其实,之前五年或者十年的波动中至今波动结构已经完全变了,你去拟合所有波动结构后,最终的结果就是几乎所有行情都达不到开单条件了!未来行情失效和几乎找不到交易机会是过度拟合的终极结果!量化策略要尽可能简单,逻辑清楚,大道至简。
四、真实交易环境限制
         上面提到过,这里包括手续费、隔夜费、点差、滑点还有交易延迟等等,实际交易价格与测试价格的差别等等。隔夜费、点差等成本实盘是变化的,此外交易滑点非常关键,特别是对日内的短周期策略。交易滑点的影响与交易周期的长短成反比。交易延迟会导致实际交易价格与测试价格有较大差别,在测试时成交到的价格实际交易时是成交不到的,可能会有滑点的效果。  
         量化的本质是追随市场适应市场,而不是主导市场,市场未来是不可预测的,而量化策略对市场变化的适应性强弱也无法量化分辨,所以这导致很难真正的评估实盘和回测的差别到底有多大。
五、策略适应行情
         策略是有周期的,站在风口上,猪都会飞。在趋势行情下,盘整策略会亏,在盘整行情下,趋势策略会亏。所以有时候策略表现不好,并不一定是策略本身出了问题,而更可能是你的策略正好遇到回撤周期。但这个就是最磨人的,长时间的回撤会使人怀疑自己,骑虎难下。
六、回测无法解决的问题
       回测本身的局限性,就导致它解决不了所有问题。实际成交都是毫秒级别的,而我们看到的回测数据,都是1分钟的K线数据,历史回测中不管有没有的实时价格,肯定是假设都成交了。还有高频交易,基本上只能够实盘测试。
      总之,一定要正确看待回测。对回测数据的分析,基本上大家关注的重点是盈利比,交易次数和最大回撤等指标。请记住:历史回测不能作为交易策略盈亏能力的衡量标准,而是为了发现尽可能多的交易逻辑的不合理之处,包括程序的BUG。
打赏