■孫 勵 楊文捷 胡凱玲
(1.廣東石油化工學院;2.嶺南師范學院;3.廣東技術師范大學)
在國內期貨市場上,根據(jù)大連商品交易所的統(tǒng)計,套利交易量占到了全部成交交易量的60%以上。同品種不同到期合約間的跨期套利與不同品種間的跨品種套利,都為市場提供了巨大的流通性。而統(tǒng)計套利在套利的基礎上,又給交易員帶來了巨大的利潤。其中的原因主要有兩個,首先是以模型為代表的統(tǒng)計套利使得交易策略可以被計算機量化,適宜管理較大的資金,其次套利交易帶來的風險在統(tǒng)計學的角度上來看相對投機交易較小。
自從意識到統(tǒng)計套利的諸多優(yōu)勢后,國內外有關統(tǒng)計套利的研究就開始變得絡繹不絕, Andrew(2011)研究發(fā)現(xiàn)近些年來,不少學者有關統(tǒng)計套利的研究都主要基于格蘭杰(1987)所提出的協(xié)整與線性誤差修正模型(ECM)等方法。其中國內學者包括仇中群,程希駿(2008)進行的利用滬深300指數(shù)期貨進行跨期套利的研究,馬衛(wèi)鋒,王永升,唐衍偉(2014)進行的利用滬深300指數(shù)期貨與滬深300ETF進行期限套利的研究,魏露盈(2010)進行的利用豆油期貨與棕櫚油期貨進行跨品種套利的研究。他們均采用了靜態(tài)性的建模思路,將數(shù)據(jù)分為兩部分,一部分用于建模,一部分用于策略評估。這份研究中最重要的啟示是數(shù)據(jù)分段統(tǒng)計會改變交易策略模型,這對傳統(tǒng)統(tǒng)計套利策略產生了嚴重的沖擊。同時他們也將分段進行的交易策略結果與傳統(tǒng)的統(tǒng)計套利交易策略的結果進行了比較,發(fā)現(xiàn)資產價差在無外部事件沖擊下,進行統(tǒng)計套利是獲利至關重要的過程。
但是實際上,上述研究還是有不足之處,因為類似于2008年這樣的金融危機畢竟還是少數(shù)。資產價格關系即使是在穩(wěn)定的經濟環(huán)境下,也還是會因為一些小的原因產生不可恢復的改變。在構建交易策略的時候,應當將這類因素予以考慮。但這卻是使用單一靜態(tài)模型所不可避免帶來的問題,其實際意義等同于假設兩資產價差在回測期內一定不會產生持續(xù)變化。顯然,這樣的假設不太可能達到。
實際上,光考慮數(shù)據(jù)收集與計算成本還是不能完全真實模擬市場,還必須考慮真實成交時的價格滑點,雙邊交易手續(xù)費,漲跌停板時的單方向無報單,甚至是交易參數(shù)組的平穩(wěn)性。
針對上面的研究不足,本文提出利用滾動時間窗口的方法,建立動態(tài)協(xié)整模型,以上海期貨交易所提供的到期時間不同的鋅期貨合約為實證研究對象,進行跨期套利的研究。研究的目的在于建立一套基于動態(tài)協(xié)整模型的統(tǒng)計套利交易策略。
下表對本文的創(chuàng)新方向進行了總結:
表1 創(chuàng)新方向總結表
以上4個方面同時也是在試圖更加真實地模擬出市場對于該套統(tǒng)計套利的交易策略的反映。同時也是在研究如何應對事件沖擊,滑點沖擊,手續(xù)費沖擊與極端行情沖擊的情況。
本文的研究方法主要集中在兩部分,第一部分是有關統(tǒng)計套利策略構建的方法,第二部分是策略回測系統(tǒng)的構建與策略的評價的方法。
第一部分,關于統(tǒng)計套利,安德魯波爾(2011)總結統(tǒng)計套利根本的原理就是多種金融資產價格長期存在某種穩(wěn)定關系,當出現(xiàn)異常波動的時候,這種長期關系會使得價格逐漸呈現(xiàn)出均值回復的狀態(tài)。摩根公司早年依據(jù)這種關系,建立了單純依賴于數(shù)量組合而忽略金融資產經濟意義的統(tǒng)計套利交易策略,并取得了成功。
RobertJarrow, MelvynTeo,YiuKuenTse和 MitchWarachka(2005)年給出了最新的統(tǒng)計套利定義,統(tǒng)計套利是一個零初始成本的,自融資的交易策略,收益累計折現(xiàn)值V(t)及其增量△V(t)滿足:
根據(jù)上面兩位學者的研究,可以確定統(tǒng)計套利的交易策略屬于均值回歸性策略。即當價差相對均衡價差過高時,賣出價差,當價差相對均衡價差過低時,買入價差。賺取超買和超賣時的波動利潤。策略需要回答的主要問題,可以分為以下幾個,回答的過程就是本文統(tǒng)計套利策略的研究方法。
(1)如何確定資產價格價差是一個穩(wěn)定的狀態(tài),且價差波動足夠,即存在套利的條件。
(2)如何判斷當前資產價格價差是否處于過高或者過低的狀態(tài),即多方或者空方開倉的條件。
(3)如何判斷當前資產價格價差已經回落到均值狀態(tài),即多方或者空方平倉的條件。
(4)如何判斷當前資產價格價差已經處于非穩(wěn)定的狀態(tài),即多方或者空方止損的條件。
使用動態(tài)模型的意義,在于不能假定整個回測過程中,價差都處于持續(xù)不變狀態(tài),但可以假定在很短的一段時間內(多短算短由模型參數(shù)來確定),價差處于持續(xù)不變的狀態(tài),因此對這段時間,使用靜態(tài)建模的方法。然而這個假定也有能是錯的,當證明假定實際是錯誤時,需要對當前持倉進行止損。
(1)在靜態(tài)環(huán)境下,先判斷兩個價格的價差是否穩(wěn)定。
圖1 合約價格結果圖
針對圖2的情況1,進行價差的平穩(wěn)性檢驗,如果價差平穩(wěn),則標志當前資產價格的價差處于穩(wěn)定的狀態(tài),對于情況2、3,都屬于資產價格的價差處于非穩(wěn)定的狀態(tài),針對情況4,對兩價格序列進行回歸,并取殘差進行單位根檢驗,如果存在單位根,則認為兩資產價格價差處于非穩(wěn)定狀態(tài),如果不存在單位根,則認為兩資產價格價差處于穩(wěn)定狀態(tài)。
圖2 回測系統(tǒng)流程圖
(2)確定了當前時間窗口狀態(tài)下存在套利條件后,開始進行多方或者空方開倉條件的判斷,這里的多方或者空方是指看漲兩種資產的價差還是看跌兩種資產的價差。開倉的理論條件是兩種資產價格在當前時刻處于過高或者過低的狀態(tài)。實際需要定量討論的就是過高與過低,本文將曾經在出現(xiàn)在時間窗口內的數(shù)據(jù)進行統(tǒng)計排序,過高與過低的界線就是出現(xiàn)過頻率小于上下10%的部分。
(3)接著需要確定均值狀態(tài),并把這個均值狀態(tài)當作多方或者空方的止盈信號。首先需要考慮的是作為平倉信號所有的價格都必須是對手價格,在持有多方時,必須以空方價差的均值作為平倉信號,反之亦然。均衡狀態(tài)選擇兩個條件中利潤較大的一個,一個條件是該段時間窗口內出現(xiàn)的價差的眾數(shù),另一個是選擇能覆蓋交易成本并產生利潤的最近價差。當價格到達均值狀態(tài)時,認為原有的超買超賣狀態(tài)得到了恢復,因此對當前持倉進行平倉。
(4)最后需要確定穩(wěn)定狀態(tài)與非穩(wěn)定狀態(tài)的轉化。并把這個轉化條件當作當前持倉的止損。價格過高或者過低的突破之前時間窗口內的最高多方價差或者最低空方價差是明顯的狀態(tài)轉換標志。不論什么樣的原因,上個時間窗口內的穩(wěn)定狀態(tài)已經不存在了。因此必須對上個時間窗口內的持倉進行止損平倉。
第二部分,回測系統(tǒng)的設計思路,根據(jù)王申寅(2014)的描述,回測系統(tǒng)的搭建原理是事件驅動,系統(tǒng)是由交易數(shù)據(jù),參數(shù)組,模型,指標,持倉以及賬戶六個對象組成,運行的事件驅動示意圖如下。
除了交易回測系統(tǒng)的設計思路,還必須討論一下如何來對策略的結果進行評價。建立如下指標。并根據(jù)指標對策略的參數(shù)組進行評價。
對于策略本身的評價,計算參數(shù)組平均得分與得分的方差是核心,將每一個參數(shù)組作為數(shù)據(jù)并進行計算,公式如下:
如果一個策略所有的參數(shù)組的收益率為正,并且平均收益率大于市場收益率,方差控制在合理水平,當滿足這三個條件時,則表示該策略是有效策略。如果其中任意一條不符合,則表示該策略是無效策略。
本文選用Python搭建回測平臺,數(shù)據(jù)來源于上海期貨交易所CTP端口行情推送,時間是從2015年1月1日到2016年11月4日。數(shù)據(jù)選擇為每日的金屬鋅期貨主力合約與次主力合約。合約在每月的15日后進行移倉換月。數(shù)據(jù)的頻率是一秒鐘,因此可以保證在最大的程度上使得價格不會出現(xiàn)跳空。數(shù)據(jù)選取了,每份合約每秒最后報價的最新價格(newprice),買一價格(buyprice),賣一價格(sellprice),買一數(shù)量(buyvol),賣一數(shù)量(sellvol)??傆?0種數(shù)據(jù)(英文后數(shù)字則表示合約)。數(shù)據(jù)分析的具體方法如下圖。
首先,對數(shù)據(jù)進行預處理,預處理的核心目標是完成以下幾個任務:
(1)數(shù)據(jù)洗滌,非法數(shù)據(jù)不予錄入,即時間超越了交易時間的數(shù)據(jù),上海期貨交易所的鋅期貨交易時間是四段,21:00-1:00,9:00-10:15,10:30-11:30,13:30-15:00,凡不符合此時間段的數(shù)據(jù)一律不予錄入。
(2)計算實際成交價格,根據(jù)交易規(guī)則,即時成交,必須使用對手價格,因此套利的實際買賣開倉,平倉時的價格計算如下。
N:最新價差 N1:合約1最新價格 N2:合約2最新價格
Bdis:最新買入價差 S1:合約1最新賣1價格 B2:合約2 最新買1價格
Sdis:最新賣出價差 B1:合約1最新買1價格 S2:合約2最新賣1價格
(3)計算實際可成交量,除了價格上的對手滑點外,可供在此價格交易的數(shù)量也是必須要考慮的,在極端行情,如漲跌停板時,這時將會出現(xiàn)一方無法成交。實際上,即時可供套利交易的數(shù)量應該是兩份套利期貨合約的對手價格在該時刻提供的數(shù)量中較少。因此sellvol與buyvol的計算偽代碼如下
注釋:用來計算及時價差買賣量:
輸入變量:
sellvol1合約1賣1數(shù)量,sellvol2合約2賣1數(shù)量,buyvol1合約1買1數(shù)量,buyvol2合約2買1數(shù)量,
輸出變量:
接著,對數(shù)據(jù)進行切片,進行數(shù)據(jù)切片是為了明確移動窗口的窗口寬度根據(jù)當前數(shù)據(jù)窗口,對數(shù)據(jù)集中的兩份合約的最新價(newprice1,newprice2) 進行時間序列建模分析,首先進行單位根檢驗。根據(jù)這個規(guī)律來建立均值回歸的統(tǒng)計套利模型。
下一步,根據(jù)成功的數(shù)據(jù)窗口模型,計算后面的閥值指標。閥值指標(index)的計算公式如下:
最后,套利交易策略就可以根據(jù)閥值指標得出重要的開平倉條件。
對于買入價差方面:當時買入價差價格小于等于買入閥值指標
對于賣出價差方面:當時賣出價差價格大于等于賣出閥值指標
平倉的條件分為兩個,一方面是止盈的平倉,另一方面是止損的平倉。
本文在資金管理方面,暫時使用了固定數(shù)量的方法,每次買入賣出的數(shù)量均為1手合約,根據(jù)上海期貨交易所關于金屬鋅期貨的保證金計算方法,文中設立初始時資金量為20000元。交易策略在生成過程中存在兩個參數(shù),第一個參數(shù)是數(shù)據(jù)窗口的寬度,第二個參數(shù)是標志著價差平穩(wěn)的序列關系被打破的時間段。為了探究兩個參數(shù)的取值對于交易策略的影響,在指定區(qū)間內固定間距的選擇一些參數(shù)組成參數(shù)組,并進行回測。第一個參數(shù)的區(qū)間[10,40],間距是10,第二個參數(shù)的區(qū)間[20,40],間距是10,共計12組參數(shù)。結合不同的參數(shù)組可以知道,交易策略產生的收益是被參數(shù)組而影響還是被交易策略本身所影響。
下圖是不同參數(shù)組回測的結果,包括資金曲線與交易分析報告。
圖3 資金曲線圖
對交易報告進行整體分析,可以得出,參數(shù)組期末資金的平均值是29002.7,其中最大值是29927,最小值是27256,參數(shù)組收益率的平均值是45.02%,其中最大值是49.60%,最小值是36.30%,參數(shù)組最大回撤率平均值是3.04%,其中最大值是4.80%,最小值是2.10%。參數(shù)組勝率的平均值是73.32%,其中最大值是77.64%,最小值是67.49。
根據(jù)回測分析,上海期貨交易所的不同時間到期的鋅金屬合約,存在著波動關系。本文建立了統(tǒng)計套利交易策略,并利用2015年1月1日到2016年12月30日這段時間內交易數(shù)據(jù)進行了回測,證實其是有效的,在控制最大回測水平保持在的情況下,交易策略可以取得預期收益45.02%,年化收益率22.51%的結果。在進行回測分析時,本文優(yōu)化了價格跳高與跳空的情況,優(yōu)化了成交價格與最新價格的滑點,優(yōu)化了漲跌停板在內的極端行情,優(yōu)化了不同參數(shù)之間可能產生的因為過分優(yōu)化參數(shù)而造成的虛偽交易策略盈利。