博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中低频量化交易策略研发03_注意事项与应对
阅读量:4294 次
发布时间:2019-05-27

本文共 1573 字,大约阅读时间需要 5 分钟。

3.1 未来信息的规避

未来函数对于回溯测试的可靠性有负面的影响,因此在实际的策略研发过程当中是需要极力规避的。最直接的办法莫过于将研发完成的量化交易策略放入实际环境中进行模拟交易或者实盘交易,原因在于实际交易中判断策略执行的时间点总是现在,因此必然是无法得到未来的信息的然存在一些未来信息的种类,

还有一类是难以发觉甚至是难以避免的,例如在其他资料中讨论较多的存活者偏差这种问题常常发生在选股策略当中,一些较为常见的股票数据库实际上已经根据当前的信息剔除了之前由于退市等问题而消失的股票的数据,使用这些数据库的数据进行回溯测试就会产生存活者偏差的问题

3.2 过度拟合与欠拟合

过度拟合和欠拟合的具体表现而言,两者有相似之处也由于不同之处。正如上面所述,两种问题都会导致策略的实际盈利能力下降,这是它们的相同之处。但是欠拟合的量化交易策略由于对数据的描述和挖掘能力不足,往往在历史数据优化下和实际交易中都表现不好,

因此在回溯测试时就可以比较直观的分辨出来。过度拟合的量化交易策略则不同,由于在拟合样本数据时过度的优化,进而拟合了样本中噪音的特性,因此常常是历史数据优化下的结果很好,只有在实际交易中才会显著变差,也就是俗称的泛化能力低下。在实际的量化交易策略研发过程当中,这样的性质增加了过度拟合判别的难度。

在大部分情况下,一个量化交易策略往往既具有过度拟合的问题,也具有欠拟合的问题,原因在于金融资产的内在属性并不像物理学等学科所研究的对象一样,存在一个较为明确的运行逻辑,同时也比语音识别等数据科学问题的情况更加复杂和模糊,

人们现在对于资产价格运行模式等问题的了解还处在非常皮毛的状态。
实际工作中研究人员既需要减少量化交易策略过度拟合的程度,也要同时减少策略欠拟合的程度。解决欠拟合的途径较为清晰,就是不断的尝试各种各样的策略,基于更多、更好的策略模型来挖掘交易资产的内在特征,获得相应的盈利能力。当然,
尝试新策略是量化交易策略研究工作的基本要求,因此欠拟合这一问题也较少的被研究人员所提及
从本质上说,简化策略当然是一个行之有效的较少过度拟合的方法,参数过多、模型过于复杂可能会导致过度拟合这一看法已经成为了一个公论。但是与此同时,简化策略又与研究者要解决欠拟合、尝试找到更合适的策略的目标背道而驰
好在针对回溯测试过程而言,存在着一些可以用来判别过度拟合问题的技巧,
除此之外,增加回溯测试时使用的样本量也是一个可能会产生作用的做法不经判断而盲目的增加数据量,就可能对量化交易策略的盈利能力造成误判。
而且在中国市场这种运作时间较短、环境变化较快的市场上,该问题就更加严重。完全消除这个矛盾需要研究人员对本质问题充分理解和把握,这并不是仅靠一个合理的量化交易策略研发框架就可以解决的问题。

3.3 回溯测试与真实环境的差异

回溯测试与真实环境之间差异的情况,大致可以分为两类。其中一类差异是可以通过人为设置回溯测试、或者人为限定真实交易的手段而基本消除的。在这一类差异当中,实际交易时的买卖点与回溯测试下的买卖点不一致的问题是一个比较常见的例子。

另外一类回溯测试与真实环境之间的差异则是很难通过人为的修改和设置来消除的,其中最常见的是实际环境中会产生的交易成本。
此外,很难通过人为的修改和设置来消除的差异还包括量化交易从业者对于量化交易系统的整体判断和情感因素
例如量化交易员对于量化交易策略整体风险的承受能力,虽然在研发过程中,研究者可能会设定一个 30%的警戒线,如果亏损达到 30%则判定策略失效并放弃策略,但是实际的运行过程中,5%
的亏损已经让人惴惴不安,10%的亏损则让人开始怀疑策略的正确性并重新检验,20%的亏损可能就让人放弃坚持并修改策略了。有主观判断存在,就有偏误和差异存在,这是交易策略都固有的问题,

转载地址:http://mkfws.baihongyu.com/

你可能感兴趣的文章
从字节码看Java中for-each循环(增强for循环)实现原理
查看>>
Java集合类框架学习 1 —— 概述与基础
查看>>
Java集合类框架学习 2 —— ArrayList(JDK1.8/JDK1.7/JDK1.6)
查看>>
Java集合类框架学习 3 —— LinkedList(JDK1.8/JDK1.7/JDK1.6)
查看>>
为什么HashMap继承了AbstractMap还要实现Map接口
查看>>
Java集合类框架学习 4.1 —— HashMap(JDK1.6)
查看>>
Java集合类框架学习 4.2 —— HashMap(JDK1.7)
查看>>
Java集合类框架学习 4.3 —— HashMap(JDK1.8)
查看>>
简单了解sun.misc.Unsafe
查看>>
Java集合类框架学习 5.1 —— ConcurrentHashMap(JDK1.6)
查看>>
Java集合类框架学习 5.2 —— ConcurrentHashMap(JDK1.7)
查看>>
Java集合类框架学习 5.3—— ConcurrentHashMap(JDK1.8)
查看>>
jdk1.8 LongAdder源码学习
查看>>
java设计模式学习笔记——扩展型模式1
查看>>
java并发编程学习笔记1
查看>>
C# List进行分页操作
查看>>
sql的left join 、right join 、inner join之间的区别
查看>>
Android 快速开发框架:推荐10个框架
查看>>
一路编程,一路迷茫,一路醒悟,接着迷茫,再醒悟再迷茫
查看>>
架构师修炼之道
查看>>