1、回测报告详解
模型回测的主要目的是了解模型特点,通过回测发现问题,找出程序或者交易逻辑不合理的地方。量化策略的几个通病,比如过度拟合、幸存者偏差,如果不能找到真实的问题所在,是不敢用到实盘中的。
软件针对机构量化的专业回测角度提供详尽的回测报告和统计分析图表,为研究员评估策略有效性提供参考。
场景1:多指标、多维度分析模型实盘可行性
策略能不能上实盘,研究员要结合回测报告去综合分析。看策略总结的是市场真正的规律还是偶然事件,在经历了各种市场状况后还能否达到一个稳定的收益效果。
软件的回测报告针对收益、稳定性、盈利能力等每一个评估方向都提供了多种指标,让研究员多指标结合,深度挖掘模型的表现,例如:
看策略是否具备获利能力,可以看收益、收益率、扣除最大亏损后收益率...
看策略风险情况,是否有爆仓风险,可以看权益最大回撤、损益最大回撤、最大持续亏损次数、平均每次亏损、最大每手亏损、单次最大亏损...
看策略是否稳定,可以看胜率、盈亏比率、R方、夏普比率、索提诺比率...
评估策略可行性,看在实盘中能否坚持执行,可以看信号个数、空仓周期数、最长连续空仓周期数、最大持续亏损次数、单次最大亏损...
评估策略成本是否偏高,资金使用率高不高,可以看平均资金使用率、最大资金使用率、手续费、滑点损耗...

除了回测报告直接提供的指标外,还可以在这些数据基础上衍生计算更多指标,深度挖掘策略表现。例如著名的凯利公式:
f* =(b*p -(1-p))/b
其中:f*为开仓最佳资金比例、b为模型的盈亏比率、p为胜率
研究员可以从回测报告直接得到胜率和盈亏比率数值,代入到公式中,得出策略最优开仓比率,使用计算出的f*值乘以心理承受损失的比例去控制最大仓位。

回测指标项计算参考:附件1:效果测试指标项说明
场景2:动态分析策略执行的可行性
回测指标给出的是模型是否能赚钱、稳不稳定的参考结果,但策略在实盘中能否坚持运行下来,研究员还需要对其收益、风险指标的动态变化进行分析。
如下图,分项统计图表从二维视角对回测数据进行延展,回测期间权益如何波动、回撤了多少次,每次回撤后花了多久修复、模型的盈利和亏损都落在哪些区间都一目了然,研究员可以结合机构的风险管理目标,客观分析在实盘中面临这样的回撤或亏损压力,策略能否坚守运行。

统计图表还可以将交易数据截面化展示,如下图,研究员可以直观的了解到模型每一笔交易相比最优开平仓价格的差距,评估模型交易效率高低。

分项统计图表详解参考:附件2:图表分析各图表项说明
场景3:总结策略阶段性表现
机构需要对量化模型的绩效定期统计和总结,对各个报告期的市场行情以及品种相关的基本面信息进行分析,判断策略的有效性,以及模型在哪些时段内还需要优化改进。
如下图,时段统计图表可从收益、胜率、盈亏比、回撤全方位评估策略的表现,对策略不同时间段内的表现情况进行统计总结,大大提升研究员工作效率。

阶段统计指标计算参考:附件3:阶段统计指标说明
操作方法:
左侧导航条选择【回测】页,对合约进行主图回测后,点击鼠标右键->【模型回测报告】。
典型问题解答
1、是否支持逐笔回测?
答:支持;模型中写入SIGCHECK函数时,支持逐笔回测。
2、胜率和盈亏比哪个更重要?
答:评价一个模型,不能单只看收益率的,胜率和盈亏比是二个更重要的评价指标。
胜率和盈亏比就像一对兄弟,最理想的状态是高胜率的同时又能保证高盈亏比,遗憾的是这种情况只能是理想状态,实盘交易过程中是不存在这种情况的。
不同类型的交易策略对胜率和盈亏比的评价标准和倾向也不同。短线交易,高频、震荡回归策略,具有高胜率、低盈亏比的特点;而长线交易,常见的趋势跟踪策略,往往是低胜率、高盈亏比。理论上盈亏比和胜率的乘积大于0.6的模型就是可以盈利的,乘积越大代表模型越好。
低胜率也是可以盈利的。例如:10次交易,7次亏损3次盈利,胜率仅为30%,但是只要盈亏比超过2.4,相当于每次亏损1元、盈利2.4元,10次交易最终还是盈利的。
对于长线趋势策略而言,一个品种一年中出现明显趋势的次数并不多,模型能否成功的关键是抓住大的趋势波动,所以胜率是很难达到很高的水平的,这时想办法提高盈亏比,让利润充分奔跑,更容易获得较高的收益。
3、什么是杠杆倍数?
答:杠杆倍数 = 最大资金使用率 / 保证金率。为什么看测试报告一定要看杠杆倍数?因为杠杆倍数直接影响收益率。
例如:同样的模型、初始资金、保证金比例,假设杠杆倍数为1时,收益率是20%。这时加一倍的仓,杠杆倍数变为2,那么收益率就会变成40%。会发现多出的盈利并不是量化策略带来的,是因为加大了资金使用率,但也同时扩大了风险。所以一个模型的收益率,必须是在一个合理的杠杆倍数下才有参考意义。
4、权益和损益有什么区别?
答:权益计算的是账户可用资金和持仓保证金,是包含了浮动盈亏的,但这些浮动盈亏在你没有平仓以前还没真的变现,最后实际平仓变现时候,金额可能会有变化;而损益计算的是每次持仓为0时,账户的可用资金,是不包括浮动盈亏的,所以一般损益回撤更能体现本金真实的回撤情况。
5、夏普比率是什么意思?
答:夏普比率代表了每承受一个单位的风险,会产生多少的超额收益。夏普比率大于1,代表收益高于风险。
期货交易中有个显著特点,预期收益越高,需要承担的交易风险也越大;预期收益较低,承担的交易风险也相对较低。而对于一个理性的交易者,追求的往往是在固定所能承受的风险下,追求最大的收益;或在固定的预期收益下,追求最低的风险。而夏普比率正是衡量风险收益比的指标,收益相同的两个模型,一般会选择夏普比率更高的模型,因为这个模型相对风险较低。
6、模型中指定交易合约,回测报告是根据数据合约还是交易合约计算?
答:回测报告是用来检验策略的,指定交易合约影响的是交易结果,不是策略本身,因此指定交易合约的情况下,回测报告是用数据合约计算的。
回测报告中也提供了指定交易合约收益差和最终报告,是使用交易合约计算的收益结果,便于用户分析指定交易合约的交易效果,并且信号明细中提供了指定交易合约明细,供用户对比分析。
指定交易合约收益差:交易合约收盘价和数据合约收盘价的差。
2、敏感性测试
实际交易过程中发现,很多模型回测报告的收益非常好,但是一到实盘运行收益就大打折扣。很多时候是因为回测报告是在固定的手续费和滑点状态下测试的,实战中一旦滑点或手续费增大,有些模型收益就会大幅降低。研究员可以通过敏感性测试提前发现策略的这种风险。
敏感性测试可自动绘制出滑点/手续费等变量逐渐增大时,收益率、胜率、回撤等数据的变化曲线,评估模型的实战能力。
场景:了解滑点对模型的影响大小,分析模型实战能力
滑点越大,模型的收益率肯定越低,但滑点对收益率的影响有多大,是很难从回测报告中看出来的。研究员可以通过敏感性测试,了解策略在多大的滑点范围内有盈利的机会,分析策略的实盘可行性。
如下图,是策略收益率和滑点的敏感性测试曲线,当出现2个滑点模型就彻底失效,完全失去盈利能力,实盘中我们很难保证成交没有滑点,这样的模型显然是不能应用到实盘中去的。

操作方法:
回测后点击鼠标右键->【敏感性测试】。