【功能介绍】:wh8 延续/忽略回测信号,该如何选用? (文华财经)

投资者咨询:【功能介绍】:wh8 延续/忽略回测信号,该如何选用? (文华财经)
来源:文华财经  日期:2018-4-17 15:19

K线图右键》装入到程序化模组后台运行,在新建模组的第二步,可以选择下面2种运行方式
 
那这两种运行方式分别在什么情况下使用呢?又有什么区别?



此贴主要给大家从这两个方面介绍一下:

 1.延续/忽略回测信号的区别,该如何选用

 2.在盘中模组运行中断时,这2个选项对模组子账户持仓及信号的影响


 3.常见问题



图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 文件名:图片1.png

                                     
技术人员回复
日期:2018-4-17 15:21

一、延续回测信号”  和 忽略回测信号的区别,该如何选用?



1.延续回测信号     

   表示的是:从系统K线图加载到模组中,将保留回测看到的这些历史信号。也就是说,模组中也可以看到之前的历史信号,并在盘中延续这些信号继续运行。


   常用于:

   1.想要在模组中,能看到之前回测的历史信号

   2.想要延续历史信号,并按历史最后信号,延续之后的交易


2.忽略回测信号

   表示的是:从系统K线图加载到模组中,清空初始化之前的历史信号。也就是说,模组从加载时刻重新开始运行,不以任何历史信号为基础。


   常用于:

   1.想要更快速的加载模组(因为延续历史信号需要根据历史数据进行回测,在选取数据量大时,计算会需要一些时间。忽略的方式加载更快)

   2.模组从建立时刻重新运行,不需要带入任何的历史信号,也不需要以历史信号做依据

   3.如果当前思路比较特殊,无法在模组建立时带入准确的历史回测信号时,这种情况下运行方式会默认为:忽略回测信号的方式。
 



————————————————————————————————————————————————————————————————

 
举个例子:

如果主图回测之后,从18年2月开始计算历史信号,并且最新一个历史信号是BK

那我选择延续回测信号的效果: 

装入模组后,模组也是从18年2月开始显示信号,并最新历史信号也是BK,并且模组会接着最后的BK历史信号继续运行

后续模组判断出的第一个信号会是SP信号,等到持仓为0后,才会继续判断下一次交易
 
选择忽略回测信号的效果: 

装入模组后,模组没有历史信号,模组以无持仓的状态重新运行

后续判断的第一个信号会出开仓信号,接着再判断平仓条件。
 

 



                                             
技术人员回复
日期:2018-4-17 15:25

二、在盘中模组运行中断时,这两个选项对后续模组子账户持仓及信号的影响



在模组运行中,我们建议大家24小时连续运行


如果使用不规范,可能会出现:盘中关闭软件、盘中才启动软件、夜盘不开机等行为,这些都会导致模组盘中连续运行中断


当模组运行中断时,这两种运行方式在‘信号显示和‘持仓带入’也存在不同的影响



很多客户因为操作不规范,第二天开机发现模组没有历史信号了,持仓没被带入了,就是这个原因。建议仔细阅读



————————————————————————————————————————————————————————————————



(一)、信号显示



1.延续回测信号:模组运行中断的情况下,不会清空历史信号,缺失的信号会用回测信号填补


2.忽略回测信号:模组运行中断的情况下,会清空历史信号


(1)如果本次启动与前一次退出之间没有产生新数据,则不会影响历史信号的显示,加载后可以看到历史信号并延续运行


(2)如果本次启动与前一次退出之间产生新数据,由于历史信号已经发生改变,则会清空所有的历史信号,加载成功之后,相当于重新开始运行。  



(二)、持仓带入



1.延续回测信号:如果是选择延续回测信号,只要没有出现新信号,就会自动带入持仓 


2.忽略回测信号:只要是选择忽略回测信号,K线数据必须连接上,否则不会带入持仓  





————————————————————————————————————————————————————————————————


举个例子:



例: 我选择延续回测信号的方式


(1) 昨天15点闭市后退出,21点夜盘没开机,模组中断运行,直到今早9点开盘后才开启模组,此时模组中还会显示历史信号


        如果夜盘期间我的模型一直没出新信号,虽然模组中断,但子账户持仓还在模组中,不需要手动处理持仓


        如果夜盘期间我的模型出了新的信号,原来的模组信号持仓就无法被模组识别了,需要手动处理持仓



例: 我选择忽略历史信号的方式


 (1)昨天15点闭市后退出,在21点开盘前打开,由于关机期间没缺失数据,所以模组运行不会有影响。


        模组中还会显示历史信号,子账户持仓也会正常带入。


 (2)昨天15点闭市后退出,22点才打开软件,由于关机期间合约已经产生新数据,所以会影响模组


        启动后就看不到历史信号了,也不会带入原子账户持仓,需要手动处理持仓

     

 




           
技术人员回复
日期:2018-4-17 15:29
三、常见问题



1.选中忽略历史信号,那我的指标数值会重新开始计算吗?


指标数值是根据历史K线数据来计算的,不会从开始运行之后再去累计重新计算。


忽略历史信号仅仅是不显示历史信号,但是不影响指标数值的计算,可以放心使用

 


 

2.回测初始资金分配了10万,装入模组之后,模组期初权益变成15万,为什么?


  新建模组的时候,如何使得模组权益和回测参数中设置的资金分配量一样?



与装入模组时选择的运行方式有关


如果装入模组方式是延续历史信号,也就是历史信号都参与资金计算,所以当前的权益数值其实是包含历史信号表现的


如果历史回测这段,模型一直盈利额,那在加载模组时,模组的权益也会比初始值大


想要装入就按照设置的10万来计算,在K线图右键》装入模组后台运行的时候,选择忽略历史信号的方式来装入就可以了

 

 

 

3.为什么有些情况建立模组的时候只能选择忽略历史信号?


这种情况应该是大家没有在模型中编写指定交易合约,而是在加载模组时才去控件里选择交易哪个合约


因为想要模组显示历史的回测信号,必须保证回测信号和模组运行的信号完全一致才行


如果主图回测没指定交易合约,就相当于主图只回测数据合约,没考虑交易合约。


那主图看到的信号和实际模组运行交易信号是存在差异,这种情况不适合把历史信号带入到模组中,因此会默认忽略回测信号的方式。



 

解决方法:


如果是指数,可以在模型最后加入TRADE_OTHER('AUTO');语句,实现自动交易主力合约并自动换月(如果是指令价可以配合使用CHECKSIG_MIN函数一起用


这样在回测的时候可以取到对应的交易合约,回测的信号和实际真实交易信号一致,这样就可以选择延续回测信号的方式了



 

除此之外,还有一些有模型的特殊写法,计算不了历史信号,系统只能默认忽略历史信号


例如:模型中含有GETPRICE函数,或者含有STOP函数手动指定了交易合约 





按此在新窗口浏览图片
文件名:图片2.png

               
技术人员回复
日期:2018-4-17 15:31
 请不要在此跟帖!