套利模型加載在不同合約上的問題 [文華財經]
- 咨詢內容:
同一個套利模型,其中涉及到價差的均值: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 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容