套利模型加載在不同合約上的問題 [文華財(cái)經(jīng)]
- 咨詢內(nèi)容:
同一個(gè)套利模型,其中涉及到價(jià)差的均值:MA(SPREAD,60),分別加載在第一腿和第二腿合約1分鐘圖上,由于第二腿合約是不活躍合約,1分鐘數(shù)據(jù)有斷的,這樣MA(SPREAD,60)涉及到到60根K線的時(shí)間與第一腿就不同了。計(jì)算出來的價(jià)差均值也有差異。請問老師有沒有什么辦法可以解決?
- 文華技術(shù)人員:
目前WH8套利程序化仍在開發(fā)階段,暫時(shí)沒有很好的編寫方式,您的SPREAD是怎么定義的呢?是通過跨周期模型編寫的?
- 文華客服:
是的。加載在1分鐘上,加載在8612和8609上的均值和方差不同,因?yàn)?612是非主力合約,有些1分鐘沒有成交,所以那根K線就沒有。
定義CC:
C0:=CLOSE;
定義價(jià)差:
#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); - 網(wǎng)友回復(fù):
把跨周期模型修改以下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));//如果兩個(gè)價(jià)格都大于0,取其差值,否則取各自最近一次大于0時(shí)的價(jià)差
MEAN0:MA(S,270);
SIGMA0:STD(S,270); - 網(wǎng)友回復(fù):
這個(gè)問題跟S的寫法應(yīng)該沒關(guān)系,我之前的寫法相當(dāng)于是其中一個(gè)合約無成交的話是空值,您的寫法是取前值。但關(guān)鍵不是S取什么值,而是K線的根數(shù)不同,比如:
8609是主力合約,每1分鐘都有成交,所以一天有270根1分鐘K線,那么在當(dāng)天收盤時(shí)MA(S,270)是當(dāng)天所有1分鐘K線對應(yīng)的價(jià)差的均值;
8612不是主力合約,不是每分鐘都有成交,比如中間少了5根K線,那么在當(dāng)天收盤時(shí)MA(S,270)是(當(dāng)天所有1分鐘K線+昨天最后5根K線)對應(yīng)的價(jià)差的均值。
我也試過把270用BARSLAST(DATE<>REF(DATE,1))+1替代,那么計(jì)算MA用到的數(shù)據(jù)區(qū)間是相同的,但是因?yàn)镵線根數(shù)不同,所以MA的值還是不同。
相當(dāng)于前一種方式是MA=SUM/N中的SUM不同,后一種方式是MA=SUM/N中的N不同。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容