套利模型加载在不同合约上的问题 [文华财经]
- 咨询内容:
	
	同一个套利模型,其中涉及到价差的均值:MA(SPREAD,60),分别加载在第一腿和第二腿合约1分钟图上,由于第二腿合约是不活跃合约,1分钟数据有断的,这样MA(SPREAD,60)涉及到到60根K线的时间与第一腿就不同了。计算出来的价差均值也有差异。请问老师有没有什么办法可以解决? 
-  文华技术人员:
	
	目前WH8套利程序化仍在开发阶段,暂时没有很好的编写方式,您的SPREAD是怎么定义的呢?是通过跨周期模型编写的? 
-  文华客服:
	
	是的。加载在1分钟上,加载在8612和8609上的均值和方差不同,因为8612是非主力合约,有些1分钟没有成交,所以那根K线就没有。 定义CC: C0:=CLOSE; 定义价差: #IMPORT[8612,MIN5,CC] AS VAR1 
 C1:=VAR1.C0;#IMPORT[8609,MIN5,CC] AS VAR2 
 C2:=VAR2.C0;S:C1-C2; 
 MEAN0:MA(S,270);
 SIGMA0:STD(S,270);
-  网友回复:
	
	把跨周期模型修改以下S变量试试有没有帮助: #IMPORT[8612,MIN5,CC] AS VAR1 
 C1:=VAR1.C0;#IMPORT[8609,MIN5,CC] AS VAR2 
 C2:=VAR2.C0;S:IFELSE(MIN(C1,C2)>0,C1-C2,VALUEWHEN(C1>0,C1)-VALUEWHEN(C2>0,C2));//如果两个价格都大于0,取其差值,否则取各自最近一次大于0时的价差 
 MEAN0:MA(S,270);
 SIGMA0:STD(S,270);
-  网友回复:
	
	这个问题跟S的写法应该没关系,我之前的写法相当于是其中一个合约无成交的话是空值,您的写法是取前值。但关键不是S取什么值,而是K线的根数不同,比如: 8609是主力合约,每1分钟都有成交,所以一天有270根1分钟K线,那么在当天收盘时MA(S,270)是当天所有1分钟K线对应的价差的均值; 8612不是主力合约,不是每分钟都有成交,比如中间少了5根K线,那么在当天收盘时MA(S,270)是(当天所有1分钟K线+昨天最后5根K线)对应的价差的均值。 我也试过把270用BARSLAST(DATE<>REF(DATE,1))+1替代,那么计算MA用到的数据区间是相同的,但是因为K线根数不同,所以MA的值还是不同。 相当于前一种方式是MA=SUM/N中的SUM不同,后一种方式是MA=SUM/N中的N不同。 
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240  进行 有偿 编写!(不贵!点击查看价格!)
                        
相关文章
- 
                        没有相关内容
                       

 
                     会员登录/注册
会员登录/注册