葉映彤+蔡熙騰+李雅妮+蔡向高



摘 要:隨著我國金融創新的推進,量化交易逐漸在我國證券市場中發芽成長。量化交易領域中傳統的配對交易策略,都假設股價之間滿足某種特定的關系,因而存在著局限性。運用深度學習技術,可以避免在配對交易中引入前提額外假設,而是將挖掘規律的任務交給計算機來完成。使用棧式自動編碼器代替傳統方法,挖掘股票價格相關性中蘊含的套利機會,能形成一套新的、有著獨立邏輯的交易策略。實驗表明,該策略在我國A股市場表現出穩定的盈利能力,在根據近兩年A股市場數據的模擬測試中,日勝率為62.9%,信息比率為0.378。
關鍵詞:量化交易 配對交易 深度學習 棧式自動編碼器 A股市場
中圖分類號:TP39 文獻標識碼:A 文章編號:1674-098X(2017)02(c)-0247-06
Abstract:Quantitative trading strategy has emerged in recent years as quantitative trading gains more and more attention in China. Traditional trading strategies such as Pairs Trading Strategy always simplify the relation among assets price due to the difficulties inmodeling non-linear properties. This paper aims to seek an artificial intelligence approach based on Deep Learning technique for designing trading strategies. The widely used Auto-Encoder is a Multi-layer Neural Network which has shown its capability in modeling non-linear properties of complex data. In this paper, we propose an Auto-Encoder based approach for Pairs Trading Strategy. Experiment results demonstrate that the proposed strategy shows excellent performance in Chinese A-share stock market with Win-Rate which is 62.9% and Information Ratio which is 0.378.
Key Words:Quantitative Trading;Pairs Trading;Deep Learning;AutoEncoder;A-share Market
配對交易策略就是一種經典的量化交易策略,其基本思想來源于20世紀20年代華爾街傳奇交易員Jesse Livermore的姐妹股票對(Sister stocks)交易策略。其關鍵點在于找到高度相關的股票對以及股票對的股價之間存在著的數量關系[1],這也是配對交易的難點所在。目前該領域主要有四種傳統方法,包括相關系數法、Vidyamurthy在2004年提出的協整法[2]、Elliott等在2005年提出的隨機價差法[3]、以及Gatev等在2006年提出的最小距離法[4]。但是這些方法都有一個共同的局限性,它們都寄希望于所有股票對的價差都滿足假定的模式。而事實上股票對之間的價格關系可能千變萬化,不能一概而論。這些方法尋找到的股票對很可能只是其中一個很小的子集。而且傳統方法常常只能用于尋找兩只股票之間的線性關系,對于多只股票之間的非線性關系往往無能為力。
深度學習是一類新興的多層神經網絡學習算法,因其緩解了傳統訓練算法的局部最小性,引起機器學習領域的廣泛關注[5]。深度學習通過組合低層特征形成更加抽象的高層表示(屬性、類別或特征),以發現數據的分布式特征表示,實現對復雜的高維非線性函數的逼近。用深度學習技術替換配對交易策略中的傳統方法,來尋找高度相關的股票對,以及股票對的股價之間存在著的數量關系,有利于挖掘更多復雜的、更隱蔽的非線性盈利機會,也可以很容易地擴展到在大量的證券中尋找套利機會。
該文擬用深度學習中的棧式自動編碼器作為基本模型,參考配對交易策略中的基本思想,設計一種能夠自動從股票相關性中挖掘套利機會,并通過買入或賣的基本思想,設計一種能夠自動從股票相關性中挖掘套利機會,并通過買入或賣出股票實現盈利的量化交易策略。此外,該文還使用了基于歷史數據的測試來驗證這種策略在實戰中的價值。
1 基于深度學習的配對交易策略
1.1 基本思想
不同股票的價格直接具有很高的相關性,常常表現為同漲同跌。一般來說,可以將股票價格的變動分為兩大部分,包括大盤趨勢帶來的變動和個股自身的變動。配對交易策略就是關注兩種相關性極高的股票,猜測兩只股票價格存在一定的數量關系,在兩只股票價格偏離該數量關系的時候,預期價格會恢復正常,所以選擇買入價格偏低的股票,賣出價格偏高的股票;如果之后兩只股票的價格確實恢復了原來的數量關系,那么就能實現盈利。
基于深度學習的配對交易策略具體是指,選擇一只目標股票,假設其股價序列為Y,而除了目標股票以外的股票的股價序列為(X1,X2…Xn),如果找到一個函數h使得h(X1,X2…Xn)≈Y,那么可以將h(X1,X2…Xn)視作一只與目標股票相關性極高(接近于1)的虛擬股票,或者說找到了一個虛擬股票與目標股票組成一個股票對,他們之間存在h(X1,X2…Xn)≈Y的數量關系。套用配對交易策略就可以利用該股票對進行套利。在這里,將通過深度學習用來學習合適的函數h,從而實現(X1,X2…Xn)與Y之后的映射關系。
1.2 數據處理
該文選取了在2004年11月1日前在中國大陸主板市場上市,并截至到2016年2月5日尚未退市的1 356只股票作為股票池,整理得到這些股票自2004年11月1日—2016年2月5日每個交易日的收盤價。其中2004年11月1日—2014年4月13日的數據作為訓練數據,2014年4月14日—2016年2月5日的數據作為測試數據。
該文將每100個交易日的數據作為一批,對每批數據進行標準化,使得在同一批數據中,每只股票的價格均值為0,方差為1,并在模型的輸出端需要做一個反向處理。最后,從處理好的數據中抽出屬于目標股票的數據,作為Y,其余數據作為(X1,X2…Xn)。其中(X1,X2…Xn)是模型的輸入(Input),而Y是模型訓練的目標(Target)。
1.3 模型建立與訓練
該文使用深度學習中的棧式自動編碼器作為基本模型,使用了四層自動編碼器進行特征提取,然后用單層的神經網絡作為最頂層的輸出端。
對于第一層自動編碼器,輸入為數據處理階段中代表(X1,X2…Xn)的數據,通過向上的權重得到特征,通過向下的權重重新生成數據。其中輸入的節點數為1 355,對應除目標股票之外的1 355只股票;隱藏層的節點數為400,對應特征的維度。
對于第二到第四層的自動編碼器,輸入為上一層編碼器學習到特征,并通過向上的權重得到更高層的特征,作為下一層編碼器的輸入。每一層輸入的節點數分別為400、120、35,而對應的隱藏層節點數分別為120、35、10。
對于每一層的編碼器,使用的激活函數都是tan?函數。如果向上的權重分別用W(1)、b(1)表示,向下的權重分別用W(2)、b(2)表示,原數據用X表示,新數據用X′表示,隱藏層用a表示,編碼的過程可以表示為:
解碼過程可以表示為:
整個自動編碼器的訓練目標就是讓新數據與原數據差異盡可能小,使用的代價函數為:
對于最頂層的單層神經網絡,輸入為第四編碼器學習到的特征,輸入節點數為10,輸出為Y′,即對于目標股票價格Y的預測,使用的激活函數依然是tan?函數。如果該層的權重分別用W、b表示,輸入用X表示,目標股票的價格用Y表示,那么該層的輸入可以表示為:
類似的,該層的代價函數為
模型建立后需要進行以下訓練:使用梯度下降法自下而上逐層訓練自動編碼器;然后對整個網絡進行微調(Fine-tuning),即將第一步得到的權重作為整個網絡的初始化權重,然后用反向傳播算法訓練整個網絡。
1.4 交易策略
通過上文模型的建立和訓練,我們得到了一個關于目標股票Y的預測Y′。
從傳統的配對交易中,一般會選擇賣出股票對中估值相對較高的,買入估值相對較低的,從而相對價值回歸均值的時候實現盈利。但是該文的策略中存在一個問題,由于自動編碼器是非線性的,所以不存在一種方法可以從已有的其他股票中構建出Y′,更無法買入或賣出Y′。因此這里需要采取折中的方法進行交易。方法有很多,以下列舉其中三種。
(1)當Y與Y′的價格出現偏差的時候,若Y>Y′,則賣出目標股票;反之則買入目標股票。如果未來Y變動直至Y=Y′,那么將會盈利,但如果Y′變動更大,那么可能不能盈利,甚至虧損。由于不能賣出Y′從而鎖定利潤,事實上這種方法存在不小的風險。
(2)當Y′價格上漲的時候買入目標股票,反之則賣出目標股票。如果Y與Y′呈同方向的變動,未來可能就能獲得利潤。
(3)比較Y與Y′的漲幅變化,如果Y′的漲幅大于Y的漲幅,那么買入目標股票;否則賣出目標股票。由于每次只考慮漲幅的變化,如果模型存在累計的誤差,那么該方法可以避免之前累計的誤差會持續影響之后的交易。
此外,前文提到的都是針對一只目標股票的策略。執行針對一只股票的交易策略時,在買入之后需要等待股票價格恢復到原來的關系。在等待的過程中可能會有暫時性的虧損。在實際操作中,需要針對每一只股票構建棧式自動編碼器,并獨立地執行交易策略。由于不同股票價格恢復的周期不一致,可能部分股票處于盈利狀態,少量股票處于虧損狀態,互相抵消之后,能使得加總的收益更加穩定。
2 實證研究
在該文的測試過程中,所有測試都是針對前文數據處理后的測試數據,并使用日勝率(Win-Rate)、信息比率(Information Ratio)等指標來評價策略的表現。
2.1 預測能力
策略有效的第一個關鍵點在于Y與預測得到的Y′是否呈現類似的變動趨勢,是否存在比較穩定的數量關系。這里抽取了浦發銀行(600000)、寶鋼股份(600019)、深康佳A(000016)、深圳機場(000089)四只股票的預測結果,繪制成圖像(見圖1~圖4)。其中虛線均代表預測得到的Y′,而實線均代表原始的Y。
可以看出,浦發銀行、寶鋼股份預測的結果是非常好的。深圳機場的預測結果雖然中間一段時間出現比較大的偏離,但最終還是恢復一致了。但深康佳A的預測結果在后半段兩條曲線的偏離非常大,這一定程度是由于深康佳A在中間一段出現了停牌,而停牌過后又遭受極端的下跌,在這種情況下應該謹慎使用該模型。
總體而言,模型在絕大部分的情況下表現出了很高的預測能力,預測得到的Y′和原始的Y有著很高的相關性。表1是前面提及的四只股票Pearson相關性檢驗的結果。雖然深康佳A相對而言相關系數明顯要低一些,不過所有股票的檢驗都通過了相關性檢驗,而且相關系數都比較接近于1,符合策略的要求。
2.2 單個策略收益
前文提到有3種可以考慮的交易策略,下面逐一用其對浦發銀行、寶鋼股份深康佳行、寶鋼股份深康佳行、寶鋼股份深康佳A、深圳機場四只股票進行測試,并計算它們各自的信息比率。見表2。
顯然,對于這4種股票,方法2是最優的。事實上,從對大部分股票的效果來看,方法2依然是最優的,而且比其他兩個方法的表現好很多。
為了直觀地了解策略收益的情況,下面分別繪制了這四只股票使用策略2進行交易的累計超額收益。(如不作特別說明,下文提及的收益均指累計超額收益。)
從圖5~圖8四個圖可以看出,該策略對于不同的股票進行交易都能夠獲得顯著的收益,這說明了策略的盈利能力和適應能力。但是策略對于不同股票的表現并不一致,比如對深康佳A和深圳機場的策略收益明顯會更高。另外,對于不同股票,收益的波動性也有所不同。正如之前的假設,少量股票可以在某段時間走勢異于大盤,但是大部分股票的走勢都是跟隨大盤的,少量股票特殊階段的虧損,可以被其他股票的盈利所抵消。
2.3 組合策略收益
前文提到,對單個股票進行交易的時候,在某個階段可能出現一定回撤。這是部分股票在特殊時期的異常所導致的。根據現代資產組合理論,將收益相關性低的資產進行組合,實現分散個別風險,提高資產組合收益風險比,這是通過策略的組合實現更高的信息比率的基礎。
由于計算量巨大,該文只選擇了包括上文所提及四只股票在內的200只股票進行測試,并為它們設置相同的資金權重,依照類似于上文的方法進行測試,得到了高達0.378的信息比率,遠高于前文的任何一個結果,策略的收益曲線見圖9。
組合策略的收益比單個策略有了不小地提高,在2014年4月14日—2016年2月5日這接近2年的時間內,策略收益超過400%,平均到每日的收益為0.823%(未扣除交易成本)。更重要的是,相對于單個策略,組合策略收益的波動性極大的降低了,出現虧損的幾率很低,策略的單日勝率(即跑贏大盤的概率)高達62.9%,回撤的幅度也很小,這代表著這種組合策略有著極穩定的盈利能力,具有投入實戰價值。
3 結語
該文從量化交易領域中傳統的配對交易策略入手,結合前沿的深度學習技術,運用棧式自動編碼器構建一個能夠根據股票價格相關性預測股票價格的模型,并生成一個完整的量化交易策略。這種策略無需預先假設股票價格之間關系的形式,而是使用深度神經網絡自動地學習這種相關性的特征,從而克服了傳統方法的局限性。該文又提出在這種方法的基礎上,通過同時對大量的股票獨立地執行該策略,構成一個組合策略,從而實現策略收益和穩定性的提高。實驗證明,最終的組合策略在我國A股市場中有持續穩定盈利的能力,在根據近兩年A股市場數據的模擬測試中,日勝率為62.9%,信息比率為0.378,具備投入實戰的價值。
參考文獻
[1] 陳豪.配對交易的改進設計[D].廣州:華南理工大學,2014:1-21.
[2] Vidyamurthy, G. Pairs Trading: Quantitative Methods and Analysis[M].Chichester:John Wiley&Sons,2004.
[3] Elliott Robert J.Pairs trading[J].Quantitative Finance,2005,5(3):138-139.
[4] Gatev E.Pairs Trading:Performance of a Relative-Value Arbitrage Rule[J].Review of Financial Studies,2006,19(3):156-159.
[5] 孫志軍.深度學習研究綜述[J].計算機應用研究,2012(8):2806-2810.