【量化乾貨】如何搭建統計套利以及均值回歸策略
市場上幾乎每種交易策略都試圖利用兩種普遍現象:趨勢動能和均值回歸。在本文中,我們將討論交易的均值回歸和均值回歸策略。
本文涵蓋以下關於量化交易主題:
1. 什麼是均值回歸?
2. 均值回歸策略
3. 配對交易原理
4. 資產相關性與數據協整
5. 交易策略貨幣對的選擇
6. 使用Python進行貨幣對交易
7. 交易策略的優化和提升
什麼是均值回歸?
在金融中,均值回歸理論指出,證券價格和諸如利率之類的經濟指標將傾向於恢復為歷史均價。
例如,許多投資者在首席執行官維沙爾·西卡(Vishal Sikka)辭職後股價暴跌時購買了Infosys股票,因為他們希望在解決管理問題後,Infosys股票在未來能夠交易更高。
均值回歸原則可以應用於基本因素,例如購買低PE的股票並期望PE升至歷史平均PE或行業PE。價值投資者通常採用這種方法來購買股票以進行長期投資。同樣,可以使用技術指標來應用這些原理,以創建短期均值回歸交易策略。
均值回歸策略
統計套利策略使用均值回歸原理來利用一組證券之間的價格低效率。它是量化交易策略中流行的策略之一。
統計套利交易策略有多種類型:
方向性趨勢交易
在方向性趨勢交易中,每種策略工具的信號均獨立於其他金融工具的運用。例如,在過去的一個月中,原油價格上漲了2美元。沒有任何重大新聞或因素,原油價格變化了20美元。根據均值回歸原理,可以預期原油價格在未來幾天會下跌,從而使原油價格的平均變化保持不變,交易者可以利用這一機會。
基於多種信號的投資組合交易
在這種類型的交易策略中,交易信號取決於兩個或多個協整信號。貨幣對交易是這種類型的交易方式中最著名的例子之一。
由於我們使用兩種協整工具進行交易,這個被稱為配對交易(pair trading)。但這並不總是一對,也可以是三組貨幣對配對,甚至是更多的貨幣對。如果找到我們找到五隻股票的協整性,並組成一個投資組合併進行交易。
本文將重點介紹配對交易的概念以及基於該概念的交易策略。
配對套利交易原理
假設投資者找到有類似基本面的金融工具,並且具有相似的行業經濟聯繫以及相關度。例如,Google和Microsoft或Facebook和Twitter等股票,那麼這些股票可以組成股票對進行匹配套利。
由於這些股票的基本面相似,因此交易者期望這兩支股票的漲幅/跌幅相似。投資者還希望此類股票的比率或價差隨時間保持不變。但是,由於需求和供應的暫時變化以及其他因素,這對貨幣對之間的價差可能會出現差異。
在這種情況下,一種股票安全性優於另一種。根據均值回復原則,交易者希望這個股票對的價差會隨著時間恢復為正常並且逐漸修復。在這種情況下,當存在時間差異時,交易者可以執行貨幣對套利。那就是買表現不佳的證券,賣出表現不佳的證券。
相關性與協整度
大多數人對資產之間的相關性和協整性感到困惑,這些投資者經常認為這些資產的相關性和協整度是相同,但是事實並非如此。
當兩個價格序列沿相同或相反的方向移動時,價格序列之間存在一定的相關性。如果一個價格序列沿向上或向下方向移動,而其他價格序列也沿相同方向移動,則它們之間存在正相關關係。
當一個價格系列向上或向下移動時,另一個價格系列相反,則兩個價格系列呈負相關。協整度是關於幾隻股票(兩個或多個)價格序列的統計屬性,它指示該序列的線性組合是否固定,然後兩個序列相互協整。
例如,如果兩個股票的線性組合是固定的,則兩個股票彼此具有協整關係。如果價格序列的均值和方差在一段時間內是恆定的,則稱其為平穩的。
關於協整度的統計檢驗:增強的dickey fuller*或ADF檢驗是協整的統計檢驗之一。在Python中,可以通過statsmodels庫輕鬆完成此操作。正如配對交易的原理所解釋的,股票之間的比率或價差必須隨著時間的推移收斂到均值,配對交易才能起作用。也就是說,兩個股票必須之間具有整合度。
僅查看股票之間的相關性可能會給交易者帶來巨大誤導,因為這兩隻股票的價格可能會持續上漲,而不會發生均值回歸。
讓我們定義兩個價格序列,以使它們相互關聯,而不是僅僅去尋找協整度。
*在統計學裡,迪基-福勒檢驗(Dickey-FullerTest)可以測試一個自回歸模型是否存在單位根(unit root)。迪基-福勒檢驗模式是D. A迪基和W. A福勒建立的。
Correlated Series (相關度序列)
通過查看兩個價格序列,它們似乎相互關聯,但是協整度又如何呢?
對於兩個價格序列要進行協整,兩個價格序列之間的價差/比率應該是固定的。讓我們來看看以上系列之間的區別。
不平穩的數據序列
價差正在擴大,從結果可以明顯看出,兩個價格序列是相關的,而不是協整的。因此,我們可以得出結論,價格可以關聯但不能協整。
現在考慮另一種價格是協整但不相關的情況。
不相關的價格序列
似乎兩個價格序列之間沒有關聯,因為它們之間似乎沒有關聯。
但是數據的協整度呢?
平穩度序列
價差在-10到+10之間徘徊。因此,我們可以說兩個價格序列可以協整而不相關。在進行貨幣對交易之前,我們需要檢查價格序列是否是協整的,以便它們的價差/比率恢復為均值。
如何選擇股票對並進行套利?
假設投資者有大量的股票。第一步是根據市值,行業,每日交易量等對股票進行分類。分離之後,投資者可以檢查每組證券之間的相關性。
相關性有助於將對的數量過濾到更易於管理的集合中。一旦將證券分為一小組,就可以檢查組中的協整對,然後選擇協整對。
如何選擇外匯對?
在外匯中選擇貨幣對的基本思路與股票相似。我們需要找到經濟基礎相似的國家。
一些合適的候選標的物是
1. 歐元/美元和瑞士法郎/美元,
2. 澳元/美元和加元/美元或
3. USD / KRW(美元/韓元)和USD / HKD(美元/港元)。
這些貨幣對與歐元屬於同一經濟區,瑞士法郎屬於歐元區。在貨幣市場上進行貨幣對交易有其優勢,例如貨幣的流動性較高,從而降低了交易成本。
如何在期貨市場中選擇貨幣對?
在期貨市場上,即使有相似的風險敞口,也沒有很多好的貨幣對。這可能是由於需求和供應的差異。因此,在期貨交易中,交易者不能僅僅依靠經濟敞口來選擇貨幣對。
通過Python進行貨幣對交易
在Python中實現配對交易的步驟:
1. 選擇外匯對
2. 計算比率並檢查協整
3. 創建功能以生成交易信號
4. 定義入場位和出場位
5. 計算PNL(資產組合表現)
步驟1-選擇外匯對
如上所述,我們選擇具有相似經濟基本面的貨幣對。歐元和瑞士法郎都屬於相似的經濟區,因此我們從這對開始,但我們不能僅僅依靠基本面因素。
步驟2-計算盈虧比率並檢查協整度
當我們計算貨幣對之間的比率,如果比率是固定的,那麼我們可以說貨幣對是協整的。我們正在使用ADF測試來檢查該比率是否固定。使用ADF測試時要記住的一件事是,通過更改比率的順序可以更改測試結果。
我們用ADF方法檢驗的EURUSD / CHFUSD比率的p值小於0.05的顯著性水平。因此,可以說比率是固定的。但是,CHFUSD / EURUSD的比率的p值大於0.05的顯著性水平。因此,該比率不是固定的。
我們將使用EURUSD / CHFUSD比率進行貨幣對交易,讓我們看一下協整比率,以確保這個選擇是合理的。
第3步-創建交易信號
從統計角度來看,絕對比率不是很有用。通過上面的比率圖可以看出,它看起來確實像在穩定均值附近移動,那麼我們需要統一這些比率,而這個是通過z標準分來完成的。
Z標準分的定義為:Z分數=(值-平均值)/標準
現在,可以更容易地觀察到比率圍繞均值移動,但是有時它會偏離均值,這是我們可以利用的。
第4步-定義入場為和出場位
如果z標準分超過下限閾值,則我們在達到均值時購買並退出該頭寸,那麼如果z得分超過上限閾值,則當其達到均值時我們將出售並退出該頭寸。
第五步- 計算利潤虧損
交易策略的提升和優化
交易者可以使用移動平均值和標準偏差的回溯期的不同值來進一步優化該策略。產生交易信號的功能我們用來定義進入和退出位置的功能是z標準分。交易者可以使用z-score的其他變體,例如:
z標準分:(15天移動平均值-50天移動平均值)/ 50天標準差
另一種方法是將布林帶用於信號生成。
止損:交易者可以將止損設置為高於和低於閾值水平。
例如,在上述策略中,設置的閾值為正負2個標準差。交易者可以將止損設置為正負3個標準偏差。當比率/價差超過該閾值時,交易者可以退出該頭寸。另一種方法是在遇到前綴虧損時退出頭寸。
交易倉位的持有期
交易者可以將頭寸保留一天,一周或一個月,然後再退出。可以使用一個稱為“半衰期”的概念來確定交易者可以保持該職位多長時間。它表明將時間序列恢復為均值要花費多長時間。它給出了特定交易的預期持有期的概念。