将技术分析进行到底
提供专业的程序化交易解决方案

一份回测报告隐藏的信息

用一个例子解读文华回测报告背后的信息。


本文来源于对知乎提问(https://www.zhihu.com/question/58937026)的回答,并非我本人的模型。以下所有结论均直接从报告数据中推测而来,并未向提问者咨询任何关于模型的信息。

比较直观的信息,@我心飞翔 和 @峰人月 在公众号文章的留言中基本都提到了:

  • 固定10手下单。如果用的是非过滤模型,下单手数在模型中设定,回测报告中将没有开仓手数这一项信息。如果过滤模型使用了SETDEALPERCENT按照资金比例开仓,回测报告中,开仓手数后将显示“资金比例”字样。
  • 模型中使用的是反手指令。第一,指令总数少于交易次数。不考虑信号消失,“模型中只使用反手指令”是“指令总数应等于交易次数”的充要条件。未使用反手指令的情况下,指令总数应是交易次数的2倍。第二,空仓周期数比较短。“模型中只使用反手指令”是“空仓周期短”的充分条件,但不必要。
  • 存在信号消失的情况,且次数较多。交易次数比指令总数多,说明有些交易并不是模型的交易指令发出的。只有两种情况在没有交易指令的情况下会进行交易:第一,K线走完进行复核时信号消失;第二,自动换月,换月的次数一般比较少。
  • 回撤大。虽然报告中的回撤比数据是1.95%,但是绝对数值为70310,相当于10手持仓所需的保证金。
  • 平均每手盈亏少。扣除手续费,平均每手盈利6.79,远小于一个滑点的价值,25元。

除此之外,还可以看出以下信息:

  • 最大盈利发生时间是2016年10月11日21:00。查看主连会发现,当天发生了换月。猜测模型中没有使用TRADE_OTHER进行自动换月,所以最大盈利不真实。
  • 最大亏损发生时间是2016年11月11日22:42。这一天并未发生主力换月,所以亏损应该是真实的。
  • 胜率76.44%,盈利的交易次数56143次。指令总数只有28857个,远小于总盈利次数。很奇怪,这些盈利交易是哪里来的呢?是因为消失的那些信号。存在信号消失的情况,说明模型中一定使用了CHECKSIG来实现K线走完之前提前下单,K线走完复核。再考虑到测试周期是1分钟,且铝的活跃度不高,事实基本就明确了:1分钟K线走完之前出信号下单,而且是反手信号,在短时间内K线走完复合信号条件时,信号消失了,此时对前面的反手信号进行反向交易,出现了大量的小幅盈利。这就是胜率的来源。虽然该模型看似符合高频策略高胜率的特点,但是胜率的来源揭露了真相。较大的回撤也印证了这一点。
  • 虽然是固定10手,但是反手指令下单量实际是20手。另外,在1分钟周期上,信号出现和消失之间间隔时间可能很短,而且都是反手指令。这些都提高了滑点出现的可能性。

测试报告如下图:

未经允许不得转载:文华程序化 » 一份回测报告隐藏的信息
分享到: (0)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    一看眼熟。。。这是我的回测 哈

    jeff1年前 (2017-07-25)回复
    • 不好意思拿来用了一下

      HiQuant1年前 (2017-07-25)回复

横冲直撞 一直到最远方