跨期套利原理:同品種期貨,交割時間不一樣,交易價格也不一樣,但它們具有一定相關性,根據其價格差波動套利。
研報進行跨期套利組合:瀘深IF300期指、上證IH50期指和中證IC500期指的兩合約跨期:當月-次月、當月-當季、當月-下季以及蝶式跨期:(當月-次月)-(次月-當季)
本文僅以中證500的當月-次月和當月-當季為例進行進行探討。
本策略以復現【中信證券股指期貨專題研究:跨期價差分析與跨期套利研究】為主。
跨期價差定義其中,F1表示當月合約價格,F2表示次月或者當季合約價格。
品種跨期組合具體分析一、數據提取品種跨期組合為:
1)瀘深IF300期指:當月-次月、當月-當季2)上證IH50期指:當月-次月、當月-當季3)中證IC500期指:當月-次月、當月-當季
這些股指期貨合約在AT上對應的編碼如下表:
二、品種跨期組合分析
中證500期指我們選取合約號為IC1601、IC1602和IC1603的中證500期指合約,時間段為2015年7月21日到2015年12月31日這段時間的分鐘高頻數據進行分析。
成交量分析不同月份股指期貨合約的流動性差異較大,通常當月合約流動性較好。
中證500期指當月(IC1601)-次月(IC1602)合約的成交量情況:
中證500期指當月(IC1601)-當季(IC1603)合約的成交量情況:
由上兩圖可知,成交量都集中在IF1601期指即當月合約中,而次月和當季合約的成交量有限,證實了不同月份股指期貨合約的流動性差異較大,通常當月合約流動性較好。
平穩性檢驗1、圖示法當月(IC1601)-次月(IC1602)期指的價格時間序列如下:
當月(IC1601)-當季(IC1603)期指的價格時間序列如下:
由上兩圖可知,我們可以初步判斷跨期期指合約具有一定的相關性。並且,當月合約的價格較高,次月和當季價格相對較低。
2、單位根檢驗法對當月(IC1601)-次月(IC1602)期指合約和當月(IC1601)-當季(IC1603)期指合約的收盤價分別進行單位根檢驗:
MATLAB函數為:
[h,pValue,stat,cValue,reg]=adftest(y,』alpha』,』lags』,’model』,’test』)
[h,pValue,stat,cValue,reg]=adftest(y,』alpha』,』lags』,’model』,’test』)
得出的結果為:
IC1601的P值為0.5199,IC1602的P值為0.3790,IC1603的P值為0.7292,均不滿足平穩性條件,對價格序列做一階差分後再做單位根檢驗,P值均小於0.001,滿足平穩性條件,表明他們之間是同階平穩的價格序列。
構建價格差序列由前面定義的跨期期指價差有:
根據價差公式,我們構建當月(IC1601)-次月(IC1602)及當月(IC1601)-當季(IC1603)期指的價差序列
當月(IC1601)-次月(IC1602)的期指價差序列如下:
當月(IC1601)-次月(IC1602)的期指價差偏移度分布圖:
當月(IC1601)-當季(IC1603)的期指價差序列如下:
當月(IC1601)-當季(IC1603)的期指價差偏移度分布圖:
均值回復特徵1、跨期價格差的歷史上極值點的分布不是很穩定。
2、對於當月-次月期指的價差,其均值為0.027,標準差為0.0027,價差上漲相對均值偏移最大為2.98倍標準差,下跌相對均值偏移最大為2.30倍標準差。
3、對於當月-當季期指的價差,其均值為0.053,標準差為0.0072,價差上漲相對均值偏移最大為2.28倍標準差,下跌相對均值偏移最大為 2.92倍標準差。
可見,相對標準差偏移度都大於2倍。
其他組合讀者可以按照本文思路回去嘗試著分析中證500期指的(當月-次月)-(次月-當季)的蝶式價差組合
瀘深300期指的當月-次月及當月-當季組合
瀘深300期指的(當月-次月)-(次月-當季)的蝶式價差組合
上證50期指的當月-次月及當月-當季組合
上證50期指的(當月-次月)-(次月-當季)的蝶式價差組合
擇時套利策略構建概念自適應均線是由美國人佩裡•考夫曼(Perry J.Kaufman)創造的,在他的著作《精明交易者——系統交易指南》中詳細介紹了該方法,該方法的優點是其參數能根據趨勢變化的速度進行調節,在牛市和熊市中自適應均線緊隨價格向上或向下變化,而在市場處於橫盤震蕩時期,其變化明顯減慢。
計算公式其中,n=10.
其中,Nf=4,Ns=60,c為平滑係數。
步驟三:計算自適應平均值:
本文觀點由於跨期價差序列沒有明顯的波動邊界走勢,所以本文套利策略使用自適應均線策略
當月(IC1601)-次月(IC1602)的期指自適應均線做出的價格差序列圖:
當月(IC1601)-當季(IC1606)的期指自適應均線做出的價格差序列圖:
量化交易設置及說明正常波動幅度範圍的確定價差的正常波動幅度使用自兩合約同時上市以來至回測交易日的所有數據的均值加減一定倍數的標準差得到。
假設均值為價差均值為Ma,標準差為Std,設參數為Para_Up和Para_Down.
1、當價差在Ma+Para_UpStd和Ma-Para_DownStd之間時,表示價差波動正常,不存在套利機會,
2、當自適應價差大於Ma+Para_UpStd或小於Ma-Para_DownStd時,表示價差波動過大,有均值回歸的可能,存在套利機會。
3、針對不同的價差情況,可以調整參數Para_Up和Para_Down的數值,來適應價差波動的非對稱性。
開倉信號設置1、 當自適應價差大於正常波動範圍的上軌,即AMA > Ma+Para_Up. Std 時,做空價差;
2、當自適應價差小於正常波動範圍的下軌,即AMA< Ma-Para_Down . Std時,進場做多價差。
平倉位信號設置1、當價差上漲突破正常的波動區間後回歸到正常波動水平,即 AMA< Ma時,做空價差進行買入平倉;
2、當價差下跌跌破正常的波動區間後回歸到正常波動水平,即 AMA>Ma時,做多價差進行賣出平倉。
參數說明策略說明回測結果分析一、當月(IC1601)-次月(IC1602)期指套利策略回測結果策略績效摘要
績效比率
二、當月(IC1601)-當季(IC1603)期指套利策略回測結果策略績效摘要
績效比率
經典代碼展示% 中證IC500期指:%當月-次月:for k=1:2 q=1; p=0; for i=1:length(IC(k).close) for j=q:length(IC(k+1).close) if(IC(k).time(i)==IC(k+1).time(j)) p=p+1; q=j+1; IC(k).mm_close(1,p)=IC(k).close(i); %當月 IC(k).mm_close(2,p)=IC(k+1).close(j); %次月 IC(k).mm_time(1,p)=IC(k).time(i); %當月 IC(k).mm_time(2,p)=IC(k+1).time(j); %次月 IC(k).mm_volume(1,p)=IC(k).volume(i); %當月 IC(k).mm_volume(2,p)=IC(k+1).volume(j); %次月 break; elseif (IC(k).time(i)<IC(k+1).time(j)) q=j; break; end end endend
說明1、本代碼是一段關於找出當月(IC1601)-次月(IC1602)兩合約相同時間的合約價格的預處理。
2、由於兩合約數據的時間不一致,長度也不一致,需要對其進行遍歷操作。
3、最粗暴的遍歷方法是對兩合約進行二次循環操作,但兩合約的數據都比較大,所以我們需要對其進行算法修正,使得遍歷效率更快。
4、我們發現,兩組數據都是按時間順序存儲的。
5、所以,只需要增加一個標籤變量q,對第二次循環進行限制,我們就可以把代碼時間效率從O(n^2)變成O(n)。
6、希望讀者能學到這個小技巧。
註:裡面的第三循環是為了實現當月(IC1601)-次月(IC1602)以及次月(IC1602)-當季(IC1603)的相同時間的合約價格。
聲明1、本策略為復現中信證券的【中信證券股指期貨專題研究:跨期價差分析與跨期套利研究】。復現過程中可能出現理解錯誤,歡迎讀者一起交流與學習。
2、本策略重在策略的復現及策略的理論分析,並進行數據分析和研究。著重進行數據分析與驗證這一過程很重要,希望讀者在學習其他研報的時候進行此過程,這將有利於提高你的邏輯分析能力以及嚴謹性。