vnpy学习_04回测评价指标的缺陷

之前自己对CTA一直很好奇,原因之一是其回测曲线形态非常诱人,基本都是是单调上涨的,今天阅读了vnpy的源代码才弄明白,原来其回测曲线是基于交易次数,而非交易时间的,也就是说x轴表示次数。这样的的话就很好解释为何其形态表现好了。但这么评价也存在较大风险或漏洞。
**问题1:忽视基础资产在这个区间表现。 ** 大部分cta都是基于趋势的(或者通道突破)都差不多,这种行情下,策略表现优劣极大程度由行情本身决定的,比如,赶上一个小牛市,那么大部分天数的行情都是存在明显趋势的,cta表现就很好。也即是策略好坏大概率取决于行情而非策略本身。换句话来说,即使一个策略不好,我总能找到一些标的在一些时间上回测结果较好(或者通过严苛的开仓条件进行优化,分钟线基础上即使开仓严苛也会有较多信号产生)。
比较合理的做法是将策略的资产图和基础资产都表示出来,如果基础资产上涨10%,考虑高杠杆因素,如果策略涨幅超过10%*10杠杆,那么认为极好的。如果低于10%10杠杆,但是波动率非常低,也可以认为不错,如果低于10%10,但波动率又很高,即使回测曲线笔笔挣钱,也很难说明策略优秀。
举个例子,双均线在时序角度的回测上变现一般不大好,原因是开仓频率过低,比如长期60-120均线,一般大牛市都能捕捉到(结合止损策略,回撤也可以做小),但是由于开仓阈值太高,导致大部分行情都是空仓,最终效果可能比不过基准标的。但是如果用cta的交易次数衡量的华,其效益一样会比较诱人。这里意思并非cta的次数衡量不好,而是说其丢失了一部分信息,而这部分信息其实是比较重要的。就是收益从那种很那个行情形态中获取的。 采用时序收益图,行情虽然不太完美,但可以较明显的看出特定行情对特定策略的收益关联性,实际对于我们跑实盘是有很大参考意义的。
问题2:按照交易终止的配对来判断交易盈亏(暂时不考虑其隐含了先进先出的交易配对规则,以及当日平仓操作的低手续费)(同样隐含了忽略时间价值的问题)。
每一笔交易都以exittrade作为结算点,
比如:(样例,价格是元)
0101:买入3单位,价格3元
0103:卖出1单位,价格4元,
0107:卖出2单位,价格5元
那么对应tradelist-pair:
0101,0103,1单位,1元,总收益1
1=1:第一个1是2-1,个单位,第二个1是价格4-3,
0101,0107,2单位,2元,总收益2
2=4:
那么反映到收益图上其实是
0103:1(盈利)
0107:4(盈利)
总收益5,虽然理论上也是对的,按照这个操作方式的确可以取得这个收益,但是这个可以作为评价策略的指标么?
不放再补充下行情
0101:价格3,这里买3
0102:价格8
0103:价格4,这里卖1
0104:价格7
0105:价格11
0106:价格7
0107:价格5,这里卖2
如图: 

从交易次数角度,胜率100%,无亏损,非常不错的策略了。 但从图上可见,实际策略卖在局部最低价,卖点是极差的。 其优化潜力非常大,用交易次数-收益视图,却无法看出(还有一种理解,换用不同的配对策略,先进先出和后进先出等,总盈利不影响,盈亏比和收益曲线会受到影响)。
这表明用传统的次数型评价是有缺陷的。
如果用时间-资产角度的评估,则问题1和2都可以解决。对于1,可以观察到何种行情就会给策略带来较好表现,对于2也可以看出策略潜力。
`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值