龙听期货论坛's Archiver

龙听 发表于 2014-2-16 23:29

关于效果测试的收益率

[p=30, 2, left][font=宋体][size=10.5pt]效果测试是整个程序化交易过程中非常重要的一部分,它用历史的行情,帮助我们了解模型是否可以盈利,甚至帮助我们了解更多的模型的综合表现能力。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]Wh8[/size][/font][font=宋体][size=10.5pt]效果预览中提供两种不同的信号执行方式为用户进行模型的历史回测:[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]1[/size][/font][font=宋体][size=10.5pt]、[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完,确认信号后下单(即收盘价测试)[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]2[/size][/font][font=宋体][size=10.5pt]、出信号立即下单,不进行信号复核[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]我们回测中会发现,同样的模型,选择这二种信号执行方式,也就是选择不同的信号执行价格,测试结果却相差甚远。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]实盘的模组中,又有七种信号执行方式,这七种与模型回测中的二种怎么对应呢?实盘的信号,与回测是否会完全一致?收益率会高于回测结果还是会低于回测结果呢?[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]以下是详细的分析说明:[/size][/font][/p][p=30, 2, left][b][font=宋体][size=10.5pt](一)回测方式:[/size][/font][/b][b][font=Arial][size=10.5pt]K[/size][/font][/b][b][font=宋体][size=10.5pt]线走完,确认信号后下单[/size][/font][/b][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:如果[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完信号仍然存在,则将这根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线的收盘价作为成交价计算盈亏。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]这个选项,与实盘模组中以下[/size][/font][font=Arial][size=10.5pt]4[/size][/font][font=宋体][size=10.5pt]种信号执行方式相对应(排序不分优劣)[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]1[/size][/font][font=宋体][size=10.5pt]、[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完,确认信号后下单。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:这是在下一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线的第一笔数据出现的时候,判断上一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线是否有信号,有信号就下单。委托价为下一跟[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线的开盘价。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]我们对比可以看出,实盘委托价格与回测的成交价就差一笔,效果测试和实盘效果会十分接近,就差一笔的价差。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]结果:信号一致;收益率接近。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][b][font=Arial][size=10.5pt]2[/size][/font][/b][b][font=宋体][size=10.5pt]、[/size][/font][/b][font=宋体][size=10.5pt]出信号立即下单,[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线走完进行信号复核[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:当根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线满足条件立即下单,当下一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线的第一笔数据出现之后判断上一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线条件是否满足,不满足做信号消失处理,满足信号确认固定。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]由于出信号立即下单,下单以后到[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线结束期间,信号可能出现忽闪(信号消失了,到[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线走完前又出现)。如果没有出现忽闪,下单的价格比[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线走完下单跟有利,盈利会比回测更多;如果信号出现了忽闪,导致系统做信号消失处理,你会损失价差和手续费。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]根据我们的统计分析,忽闪的概率与模型本身的胜率指标是负相关的,胜率越高的模型,出现忽闪的概率越低。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]结果:信号一致;胜率高于[/size][/font][font=Arial][size=10.5pt]50%[/size][/font][font=宋体][size=10.5pt]的的模型实盘收益率高于回测,胜率小于[/size][/font][font=Arial][size=10.5pt]50%[/size][/font][font=宋体][size=10.5pt]的模型实盘收益率会低于回测。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]3[/size][/font][font=宋体][size=10.5pt]、出信号[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒后确认下单,[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线走完进行信号复核[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:当根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线出现信号以后,第[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒再判断一次,满足条件后下单,当下一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线的第一笔数据出现之后判断上一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线条件是否满足,不满足做信号消失处理,满足信号确认固定。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]这个选项是[/size][/font][font=Arial][size=10.5pt]“[/size][/font][font=宋体][size=10.5pt]出信号立即下单,[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线走完复核[/size][/font][font=Arial][size=10.5pt]”[/size][/font][font=宋体][size=10.5pt]的改进版,由于[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒的时间过滤,信号忽闪的概率会降低,收益率会得到改善。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]结果:信号一致;胜率高于[/size][/font][font=Arial][size=10.5pt]50%[/size][/font][font=宋体][size=10.5pt]的的模型实盘收益率高于回测,胜率小于[/size][/font][font=Arial][size=10.5pt]50%[/size][/font][font=宋体][size=10.5pt]的模型实盘收益率会低于回测。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]4[/size][/font][font=宋体][size=10.5pt]、[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完前[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒确认下单,[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完进行信号复核[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:当临[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完前[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒开始持续判断是否满足条件,只要满足条件就下单。当下一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线的第一笔数据出现之后判断上一根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线条件是否满足,不满足做信号消失处理,满足信号确认固定。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]这个选项是[/size][/font][font=Arial][size=10.5pt]“[/size][/font][font=宋体][size=10.5pt]出信号立即下单,[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线走完复核[/size][/font][font=Arial][size=10.5pt]”[/size][/font][font=宋体][size=10.5pt]的另外一个改进版,由于采用了接近[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线结束才下单,出现忽闪的时间变短了,信号忽闪的次数会降低,收益率会得到改善。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]结果:信号一致;胜率高于[/size][/font][font=Arial][size=10.5pt]50%[/size][/font][font=宋体][size=10.5pt]的的模型实盘收益率高于回测,胜率小于[/size][/font][font=Arial][size=10.5pt]50%[/size][/font][font=宋体][size=10.5pt]的模型收益率会低于回测。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][b][font=宋体][size=10.5pt](二)回测方式:出信号立即下单,不进行信号复核[/size][/font][/b][/p][p=30, 2, left][font=宋体][size=10.5pt]计算原理:[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线中有满足条件的价格即出现信号下单,一根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线只出一个信号。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]对应的模组中应该选择的信号执行方式为(排序不分优劣)[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]1[/size][/font][font=宋体][size=10.5pt]、出信号立即下单,不进行信号复核[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:当根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线满足条件立即下单,信号确认固定。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]虽然原理上与回测完全一样,但是实盘是支持一个[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线多个信号的,模型会比回测的表现的更好。分为以下二种情况:[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]([/size][/font][font=Arial][size=10.5pt]1[/size][/font][font=宋体][size=10.5pt])[/size][/font] [font=宋体][size=10.5pt]一根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线上先满足[/size][/font][font=Arial][size=10.5pt]bp[/size][/font][font=宋体][size=10.5pt]然后又满足[/size][/font][font=Arial][size=10.5pt]bk[/size][/font][font=宋体][size=10.5pt],会比回测的[/size][/font][font=Arial][size=10.5pt]bk[/size][/font][font=宋体][size=10.5pt]提前一根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线发出信号,[/size][/font][font=Arial][size=10.5pt]bk[/size][/font][font=宋体][size=10.5pt]的时机会更好,成交价位更有利。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]([/size][/font][font=Arial][size=10.5pt]2[/size][/font][font=宋体][size=10.5pt])[/size][/font] [font=宋体][size=10.5pt]一根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线上先满足[/size][/font][font=Arial][size=10.5pt]bk[/size][/font][font=宋体][size=10.5pt],然后又满足[/size][/font][font=Arial][size=10.5pt]bp[/size][/font][font=宋体][size=10.5pt],会比回测的[/size][/font][font=Arial][size=10.5pt]bp[/size][/font][font=宋体][size=10.5pt]提前一根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线发出信号,当根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线就平仓了,[/size][/font][font=Arial][size=10.5pt]bp[/size][/font][font=宋体][size=10.5pt]的时机会更好,成交价格更有有利。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]当然,实盘提升收益的程度仍然取决与模型的胜率,胜率越高的模型,实盘收益率改进就更大。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]结果:信号不一致;实盘收益率高于回测效果。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]2[/size][/font][font=宋体][size=10.5pt]、出信号[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒后确认下单,不进行信号复核[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:当根[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线出现信号以后,第[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒再判断一次,满足条件后下单。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]这个方式就是[/size][/font][font=Arial][size=10.5pt]“[/size][/font][font=宋体][size=10.5pt]出信号立即下单,不进行复核[/size][/font][font=Arial][size=10.5pt]”[/size][/font][font=宋体][size=10.5pt]的改进版,加了[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒时间的过滤,会过滤一些虚假信号,提高模型的实际胜率表现。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]一根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线多信号会实盘表现的提升,与[/size][/font][font=Arial][size=10.5pt]”[/size][/font][font=宋体][size=10.5pt]出信号立即下单,不进行复核[/size][/font][font=Arial][size=10.5pt]“[/size][/font][font=宋体][size=10.5pt]一样[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]结果:信号不一致;实盘收益率高于回测效果。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt]3[/size][/font][font=宋体][size=10.5pt]、[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完前[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒确认下单,不进行信号复核[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]原理:当临[/size][/font][font=Arial][size=10.5pt]K[/size][/font][font=宋体][size=10.5pt]线走完[/size][/font][font=Arial][size=10.5pt]N[/size][/font][font=宋体][size=10.5pt]秒开始持续判断是否满足条件,只要满足条件就下单。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]这个方式就是[/size][/font][font=Arial][size=10.5pt]“[/size][/font][font=宋体][size=10.5pt]出信号立即下单,不进行复核[/size][/font][font=Arial][size=10.5pt]”[/size][/font][font=宋体][size=10.5pt]的另外一个改进版,通过临近[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线走完才下单,来提高模型的实际胜率表现,但是会贻误战机,可能会错失好的入市点。[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]一根[/size][/font][font=Arial][size=10.5pt]k[/size][/font][font=宋体][size=10.5pt]线多信号会实盘表现的提升,与[/size][/font][font=Arial][size=10.5pt]”[/size][/font][font=宋体][size=10.5pt]出信号立即下单,不进行复核[/size][/font][font=Arial][size=10.5pt]“[/size][/font][font=宋体][size=10.5pt]一样[/size][/font][/p][p=30, 2, left][font=宋体][size=10.5pt]结果:信号不一致;实盘收益率高于回测效果。[/size][/font][/p][p=30, 2, left][font=Arial][size=10.5pt] [/size][/font][/p][p=30, 2, left][b][font=宋体][size=10.5pt]另外,老版本的[/size][/font][/b][b][font=Arial][size=10.5pt]“[/size][/font][/b][b][font=宋体][size=10.5pt]出信号立即下单,[/size][/font][/b][b][font=Arial][size=10.5pt]K[/size][/font][/b][b][font=宋体][size=10.5pt]线走完进行复核[/size][/font][/b][b][font=Arial][size=10.5pt]”[/size][/font][/b] [b][font=宋体][size=10.5pt]的选项,因为对信号忽闪无法考虑全面,会造成回测结果的收益率偏高的问题,从而误导客户。[/size][/font][/b][b][font=Arial][size=10.5pt]wh8[/size][/font][/b][b][font=宋体][size=10.5pt]最后定版的时候删除了这个选项。文华正在开发能考虑到所有忽闪情况的新算法,新算法开发好以后会重新开放这个功能。[/size][/font][/b][/p]

页: [1]