量化分享量化回测常见的陷阱!

  • 2022-08-16
  • John Dowson

我们家买的刚需房98平,整个装修下来花了20万,朋友来参观都很羡慕我家的大阳台,我最喜欢的也是大阳台,很漂亮,视野也超级好,当初也是看中了这个阳台才买的这个户型,齐家青青给大家晒晒~ 客厅铺设本站

量化分享量化回测常见的陷阱!本站

  网上出现了越来越多的分析软件、交易策略,咋一看回测的效果都非常漂亮,获利百分之几百的收益十分普遍。

  这里建议大家在亲眼看到策略代码之前,都要保持半信半疑的谨慎态度,因为策略的收益是可以人为做出来的。

  真正赚钱的策略一定是由自己开发并建立起自信的策略,这也是为什么要介绍大家制作量化交易策略的方法,授人鱼不如授人以渔嘛。

  很多量化交易的朋友在指定策略时往往容易犯下这几种类型的错误:前视偏差、不设置滑点、无手续费、过度优化等。这些错误可以使你在回测阶段把不盈利策略变得盈利,但是在真正的交易中却会造成灾难性的后果。

  首先介绍下前视偏差。前视偏差是指在策略回测阶段采取了未来的信息来决定之前的交易,而这些信息在实盘操作中是无法获知的。这里我们提供几个典型的案例来介绍下:

  买入策略1:“当天的收盘价突破前一天的最高价,则利用当天开盘价买入股票”,很明显,在开盘价成交几乎是不可能的事情了。

  前视偏差是我们要极力避免的错误。如何避免前视偏差?可以使用“滞后”的历史数据来计算策略信号。

  滞后的数据意味着,在涉及到移动平均值、最高价、最低价、成交量等指标时,只使用“上一”交易日的收盘数据。

  比如:shift(1)是在index不变的情况下对序列的值向后移动一个单位。目的是获取昨天为止的最高/最低价格。这样就能使用“滞后”的历史数据来计算策略信号。

  很多人会低估偷价的危害性,事实上,固定点数的偷价相当于在原本的资金曲线上叠加了一条斜率为正的直线(在每次交易都是固定手数的情况下)。

  假设一年250个交易日,每个交易日均对一只长期保持10元的股票执行一次100股的买卖,每次买卖都偷价1个tick(tick设置为1个点,即0.1元),那么全年下来可以多获利5000.1100 = 5000元,这甚至超越了你的本金(10*100=1000)。

  然而,现实的情况是不但无法低于一个tick的价格成交,更多的反而是高于一个甚至多个tick的价格成交。原因很简单,大多数趋势交易者都会在某个关键点位建仓,竞争导致价格在这些关键位置形成剧烈波动,并且这种波动通常是对程序化交易不利的波动。

  所以在构建一个频率较高的交易系统的时候,更多是要考虑和解决滑点问题。手续费相当于在原本的资金曲线上叠加了一条斜率为负的直线(在每次交易都是固定手数的情况下)。

  策略进行测试时,如果不计入手续费,资金曲线可能会产生巨大差异,甚至不计手续费时盈利的策略,在计入手续费后可能产生亏损。

  假设你买入10000股,每股票价格为10元,以此为例,对其买入成本计算:买入股票所用金额:10元/股×10000股=100000元;过户费:

  滑点是指触发指令的价格和最终成交价格之间的差异,它是难免会发生的情况,通常滑点产生的原因有以下两类:

  滑点是一个合格的交易策略必须充分考虑的因素。如果在一个交易策略中,将滑点数设置为0,即采用现价指令买卖证券其资金曲线就会优于同一个滑点数不为0的策略。

  通常我们要在最极端的条件下去构建和测试系统,一般系统都是高于2个tick的滑点来构建的。接下来谈谈过度优化。过度优化是指为了迁就历史数据的噪音而将一个策略的参数或者规则反复优化到最佳的情况。

  假如要把某个策略的资金曲线做的非常出色,我们可以这么优化:针对某段特定的行情进行参数优化,之后将分段行情对应的资金曲线拼接起来,得到一个表现更优秀的资金曲线。

  也可以指定过去某几个表现较差的交易日不进行交易。上述经过加工的回测一定表现优异,单纯为了追求资金曲线,这类策略模型仅仅适用于过去发生但未来不会再重现的历史偶然事件,并不考虑是否适用于未来的行情。

  因此采用的参数越少,可以优化的规则越少,自然过度优化的情况就能够得到很好的避免,并且,越少参数构建的策略,往往越稳健,无论其时效性或鲁棒性均能超越众多复杂的策略。

  合理选择样本。有些策略覆盖的股票品种太少,时间周期太短,不能充分展现策略效果。这些策略只能用于个别品种上,或者在更长时间周期上的资金曲线可能表现的并没有那么好。

  有些策略虽然覆盖了较长的时间段,或较多的品种或市场,但仅仅覆盖了一种类型的行情(例如一轮较长时间的大牛市)。这些策略在遇到截然不同的市场情况时,表现可能会大相径庭。

  进行样本外测试。构建策略模型时,将历史数据根据时间先后分为两段。参数优化和定性选择使用前一段数据(训练集),策略模型的测试使用后一段数据(测试集)。

  两段数据的大小要大致相等,若数据量不够,则至少用三分之一的数据做测试。训练集的最小含量由样本含量经验规则确定。

  以上介绍的这些策略陷阱都有一个共性,就是在回测时表现地非常优异,但与实盘并不相符,很多交易者在策略的开发中不自觉地会犯下这类错误,如果将回测结果作为自己预期收益和风险管理的依据,后果不堪设想,大家千万要引以为戒。

本站 欧式装修案例精选(公众号:jia-oszx)为您提供欧式装修案例、家居素材、家装资讯! 茫茫人海中,为防大家走失,请大家不妨按照以下方式“置顶”吧! 欧式装修案例精选” → 点击右上角“...” → 点选

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

评论留言

发表评论