小心偽回歸發(fā)現(xiàn)的假關(guān)系
發(fā)布時(shí)間:2018-02-27 | 來源: 川總寫量化
作者:石川
摘要:回歸分析在量化投資中的應(yīng)用十分廣泛。但是金融時(shí)間序列中有很多不滿足平穩(wěn)性,我們必須警惕它們造成的偽回歸。
1 生活中隨處可見的偽回歸
回歸分析在量化投資中的應(yīng)用十分廣泛。比如在選股或者預(yù)測股票收益率時(shí),人們常常使用宏觀經(jīng)濟(jì)數(shù)據(jù)或公司基本面數(shù)據(jù)等對收益率回歸,以期找出能夠解釋收益率的自變量(又稱為因子)。由于金融數(shù)據(jù)之間的關(guān)系大多為線性,因此線性回歸往往就足夠用了;而因?yàn)榫€性回歸又足夠簡單,這就使得回歸分析更加普及。
回歸分析的目的是為了找到自變量和因變量之間的相關(guān)性。然而,當(dāng)我們對時(shí)間序列進(jìn)行回歸分析時(shí),必須要警惕一類陷阱,它就是偽回歸(spurious regression),它指的是自變量和因變量之間本來沒有任何因果關(guān)系,但由于某種原因,回歸分析卻顯示出它們之間存在統(tǒng)計(jì)意義上的相關(guān)性,讓人錯(cuò)誤地認(rèn)為兩者之間有關(guān)聯(lián),這種相關(guān)性稱作偽關(guān)系(spurious relationship)。
偽回歸在生活中隨處可見,來看下面兩個(gè)例子。
例子一:冰淇淋銷量和溺水兒童數(shù)
某個(gè)夏天,人們發(fā)現(xiàn)鎮(zhèn)上的冰淇淋銷量和溺水兒童數(shù)量同步上升。如果拿冰淇淋銷量對溺水兒童數(shù)量進(jìn)行線性回歸,得到的結(jié)論是前者是后者的一個(gè)很好的解釋變量。但從現(xiàn)實(shí)生活中的邏輯來看,這兩者應(yīng)該有所謂的“冰淇淋賣得好,溺水兒童數(shù)就多”的關(guān)系嗎?這是否意味著“游泳池的兒童都在吃冰淇淋”?正確的答案是,這僅僅是一個(gè)偽回歸(下一節(jié)會(huì)解釋成因)。
例子二:居民消費(fèi)和鸕鶿個(gè)數(shù)
下圖來自真實(shí)的數(shù)據(jù),兩條曲線代表的時(shí)間序列分別為丹麥居民消費(fèi)的對數(shù)(紅線)以及該國飼養(yǎng)鸕鶿數(shù)量的對數(shù)(藍(lán)線)。從圖中來看,它們顯然非常相關(guān)。如果用紅線對藍(lán)線回歸,得到的回歸系數(shù)顯著不為 0,且回歸的 R-squared 高達(dá) 0.688,說明藍(lán)線對紅線的解釋能力非常強(qiáng)。但這顯然也是毫無意義的(因?yàn)榫用裣M(fèi)和鸕鶿個(gè)數(shù)之間沒有任何有邏輯的關(guān)聯(lián)),它同樣來自偽回歸(成因和例子一不同)。
本文就來介紹偽回歸。了解如何識別它,才能避免在構(gòu)建量化模型時(shí)錯(cuò)誤的使用不同數(shù)據(jù)之間的偽關(guān)系。
2 成因和數(shù)學(xué)特性
偽回歸的成因一般有兩個(gè)。在上一節(jié)的第一個(gè)例子中,偽回歸的成因是存在干擾因素(confounding factor,或稱潛在變數(shù) lurking variable)。在第二個(gè)例子中,偽回歸的成因是兩個(gè)變量之間的局部隨機(jī)趨勢(local stochastic trend)。當(dāng)兩個(gè)變量同時(shí)受第三個(gè)因素影響時(shí),這兩個(gè)變量間可能存在誤導(dǎo)性的相關(guān)性,這第三個(gè)因素稱為干擾因素。在第一個(gè)例子中,干擾因素是夏天炎熱的高溫。高溫造成了冰淇淋銷量的上升;此外高溫也使得更多的兒童去公共泳池從而造成溺水事故增多。高溫是造成冰淇淋銷量和溺水兒童數(shù)上升的共同因素;這兩者本身之間并沒有相關(guān)性。
在第二個(gè)例子中,偽回歸的成因是隨機(jī)趨勢。對于量化投資中可能出現(xiàn)的偽回歸,這種成因更普遍。從上一節(jié)的圖中可以看到,居民消費(fèi)和鸕鶿數(shù)量均隨時(shí)間呈現(xiàn)上升趨勢。這種趨勢的巧合造成了它們之間在統(tǒng)計(jì)意義上的偽關(guān)系;然而它二者之間并沒有因果關(guān)系 —— 我們無法說“由于居民消費(fèi)的增加導(dǎo)致了鸕鶿數(shù)量的上升”,反之亦然。關(guān)于隨機(jī)趨勢這個(gè)成因,來看另一個(gè)例子。考慮兩個(gè)獨(dú)立的布朗運(yùn)動(dòng),它們的時(shí)間序列如下圖所示(藍(lán)線 vs 綠線)。紅色方框畫出的區(qū)域顯示它們在局部表現(xiàn)出了同樣的上漲或者下降趨勢。如果我們用藍(lán)線當(dāng)自變量來回歸綠線,得到的回歸系數(shù)為 0.34(p-value 小于 0.001)。這顯然是一個(gè)偽關(guān)系;這兩個(gè)布朗運(yùn)動(dòng)相互獨(dú)立,它們之間沒有任何關(guān)系。
注意了,重要的話加粗說一遍:
這兩個(gè)布朗運(yùn)動(dòng)的隨機(jī)趨勢并非來自同一個(gè)隨機(jī)運(yùn)動(dòng),而是來自兩個(gè)獨(dú)立的隨機(jī)運(yùn)動(dòng)。因此,這兩個(gè)時(shí)間序列展現(xiàn)出來的局部同向運(yùn)動(dòng)并不是來自某個(gè)公共的因素,而僅僅是因?yàn)榍珊?/span>;它們之間的關(guān)系是偽關(guān)系。
如何避免偽回歸呢?在上面的例子中,無論是居民消費(fèi)、鸕鶿個(gè)數(shù)還是隨機(jī)生成的布朗運(yùn)動(dòng),這些時(shí)間序列都是非平穩(wěn)的(non-stationary)。當(dāng)我們對非平穩(wěn)時(shí)間序列進(jìn)行回歸分析時(shí),非常容易發(fā)現(xiàn)偽回歸(例外是這些時(shí)間序列滿足協(xié)整關(guān)系,下文會(huì)說明)。當(dāng)偽回歸出現(xiàn)時(shí),回歸分析得到的殘差序列(residual)不滿足平穩(wěn)性,我們可以以此作為判別偽回歸的依據(jù):如果回歸分析的殘差是非平穩(wěn)的,說明發(fā)生了偽回歸。在上文的例子中,居民消費(fèi)和鸕鶿數(shù)量回歸結(jié)果的殘差序列和兩個(gè)布朗運(yùn)動(dòng)回歸的殘差序列分別如下圖所示。這兩個(gè)殘差序列均不滿足平穩(wěn)性。
偽回歸告訴我們:我們不能僅僅因?yàn)閮蓚€(gè)時(shí)間序列共同運(yùn)動(dòng)就說它們之間一定存在相關(guān)性。
3 檢驗(yàn)平穩(wěn)性
本節(jié)就來介紹如何檢驗(yàn)時(shí)間序列的平穩(wěn)性。掌握了這個(gè)技術(shù),我們就可以檢驗(yàn)一個(gè)回歸分析得到的殘差序列是否是平穩(wěn)的,從而推斷是否發(fā)生了偽回歸。
簡單的說,如果一個(gè)時(shí)間序列 {y_t} 在每一時(shí)刻 t 的取值的概率分布都一樣、該分布與 t 無關(guān),那么該時(shí)間序列就是平穩(wěn)的。關(guān)于時(shí)間序列平穩(wěn)性的詳細(xì)解釋,請參考《寫給你的金融時(shí)間序列分析:基礎(chǔ)篇》中的第四節(jié):時(shí)間序列的平穩(wěn)性。為了說明如何判斷平穩(wěn)性需要講到以下三個(gè)概念:unit root(單位根)、order of integration(單整階數(shù))、以及 ADF 檢驗(yàn)。
3.1 單位根
單位根(unit root)是非平穩(wěn)時(shí)間序列的特性之一。對于一個(gè)時(shí)間序列 {y_t, t = 0, 1, …},假設(shè)它可以寫成 p 階自回歸函數(shù)如下:
其中 ε_t 是殘差序列;a_1,……,a_p 為回歸系數(shù)。該時(shí)間序列的特征方程(characteristic equation)為:
如果 m = 1 是該特征方程的一個(gè)解,則稱該時(shí)間序列存在單位根。
3.2 單整階數(shù)
單整階數(shù)(order of integration)是和單位根密切相關(guān)的一個(gè)概念。在時(shí)間序列特征方程的解中,如果 m = 1 是一個(gè)單重根(即在特征方程的所有解中,m = 1 這個(gè)解僅出現(xiàn)一次),那么該時(shí)間序列是一階單整的(integrated of order one,記為 I(1));如果 m = 1 是一個(gè)多重根(重?cái)?shù)為 d),則該時(shí)間序列是 d 階單整的(記為 I(d))。單整階數(shù)在實(shí)際中的含義是什么呢?對于一個(gè)非平穩(wěn)的時(shí)間序列,我們總可以捅過差分把它變成平穩(wěn)的;差分的次數(shù)就是單整階數(shù)。如果一個(gè)時(shí)間序列經(jīng)過一次差分就變成平穩(wěn)的,那么它就是一階單整的;如果一個(gè)時(shí)間序列需要通過 d 次差分才能變成平穩(wěn)的,那么它就是 d 階單整的。對于我們熟悉的股票價(jià)格序列,它的一階差分為股票的收益率;由于收益率滿足平穩(wěn)性,因此股票價(jià)格序列是一階單整的。
3.3 ADF 檢驗(yàn)
從上面的介紹可知,要想判斷一個(gè)時(shí)間序列是否滿足平穩(wěn)性,核心就是看它有沒有單位根。為此,可以采用 ADF 檢驗(yàn)(全稱為 Augmented Dickey-Fuller test)。將 {y_t} 的自回歸函數(shù)轉(zhuǎn)化為 y_t 增量 Δy_t 的形式:
在上式中,如果時(shí)間序列 {y_t} 存在單位根,則 λ = 0。ADF 檢驗(yàn)的原假設(shè)是 λ = 0、備擇假設(shè)是 λ < 0。
ADF 檢驗(yàn):原假設(shè)為 {y_t} 存在單位根,即 λ = 0。該檢驗(yàn)的統(tǒng)計(jì)量是λ和它自身標(biāo)準(zhǔn)誤差之比,λ/SE(λ)。如果 {y_t} 滿足平穩(wěn)性,則 λ/SE(λ) 顯著為負(fù)。因此只有當(dāng)這個(gè)統(tǒng)計(jì)量小于給定顯著性水平的閾值(閾值是負(fù)數(shù))時(shí),我們才能在對應(yīng)的置信水平下拒絕原假設(shè)、接受備擇假設(shè),備擇假設(shè)為 {y_t} 不存在單位根、即滿足平穩(wěn)性。
對于回歸分析得到的殘差序列,通過 ADF 檢驗(yàn)考察其是否存在單位根。如果能夠在給定的顯著性水平下拒絕原假設(shè),則可以認(rèn)為殘差序列滿足平穩(wěn)性,從而推斷出回歸分析得到的相關(guān)性可信、沒有發(fā)生偽回歸。
4 協(xié)整 —— 處理非平穩(wěn)時(shí)間序列的利器
在量化投資領(lǐng)域,收益率序列滿足平穩(wěn)性,而價(jià)格序列不滿足平穩(wěn)性。收益率滿足平穩(wěn)性僅僅說明價(jià)格呈現(xiàn)隨機(jī)游走,它對于構(gòu)建賺錢的投資策略幾乎沒有什么用。我們想要的是價(jià)格序列呈現(xiàn)出平穩(wěn)性。不幸的是,現(xiàn)實(shí)中投資品價(jià)格基本上都呈現(xiàn)(幾何)布朗運(yùn)動(dòng)(見《布朗運(yùn)動(dòng)、伊藤引理、BS 公式》系列文章)。這意味著投資品的價(jià)格均不滿足平穩(wěn)性的要求,因此如果我們想用其他數(shù)據(jù) —— 比如宏觀經(jīng)濟(jì)數(shù)據(jù) —— 來預(yù)測投資品價(jià)格(比如上證指數(shù))的走勢就沒什么意義,因?yàn)闀?huì)發(fā)生偽回歸。
好消息是,這里有一個(gè)例外:雖然單一投資品的價(jià)格不滿足平穩(wěn)性,但有時(shí)我們可以把多個(gè)投資品(通常是兩個(gè))線性組合在一起構(gòu)成一個(gè)價(jià)差序列,而這個(gè)價(jià)差序列滿足平穩(wěn)性。在數(shù)學(xué)上,如果多個(gè)非平穩(wěn)的時(shí)間序列通過線性組合得到一個(gè)平穩(wěn)的時(shí)間序列,則把滿足這種關(guān)系稱為協(xié)整(co-integration)。為什么會(huì)發(fā)生協(xié)整的?考慮兩個(gè)投資品的價(jià)格序列為 {X_1t} 和 {X_2t},它們的走勢可以表述為:
其中 ε_1i 和 ε_2i,i = 1,……,t 為構(gòu)成 X_1t 和 X_2t 的隨機(jī)過程。假設(shè)這兩個(gè)價(jià)格序列的一個(gè)線性組合為:
如果存在 β 使得這兩個(gè)價(jià)格序列中的隨機(jī)過程恰好能夠抵消掉,則價(jià)差序列 Z_t 滿足平穩(wěn)性。在這種情況下,X_1t 和 X_2t 滿足參數(shù)為 β 的協(xié)整關(guān)系。β 在什么情況下存在呢?在第二節(jié)的例子中,兩個(gè)布朗運(yùn)動(dòng)的隨機(jī)性由不同的隨機(jī)運(yùn)動(dòng)主宰,它們的局部共同運(yùn)動(dòng)純屬巧合。而當(dāng)協(xié)整發(fā)生時(shí),這兩個(gè)價(jià)格序列的隨機(jī)過程能夠抵消掉的根本原因是它們的隨機(jī)性來自同一個(gè)隨機(jī)過程(共同的因素)。只有在這種情況下,兩個(gè)價(jià)格序列才可能發(fā)生協(xié)整,它們的價(jià)差序列才能滿足平穩(wěn)性。
在量化投資領(lǐng)域,協(xié)整的例子雖然不是隨處可見,但也絕非寥若晨星。在不同交易所交易的追蹤同一投資品(比如標(biāo)普 500 指數(shù)或者比特幣)的金融工具,它們的價(jià)差就滿足平穩(wěn)性,因?yàn)樗鼈儍r(jià)格的波動(dòng)來自同一投資品。又如股指 ETF 和成分股之間線性組合得到的價(jià)差,股指 ETF 的隨機(jī)性來自成分股的波動(dòng)。協(xié)整的存在使得構(gòu)建出的價(jià)差序列滿足平穩(wěn)性;更形象的說,價(jià)差序列圍繞零呈現(xiàn)均值回歸(也稱均值回復(fù))的特性。這種特性構(gòu)成了量化投資領(lǐng)域的一大類策略 —— 均值回歸策略(見《均值回歸:循規(guī)蹈矩,偶發(fā)癲狂》)。
如果一個(gè)時(shí)間序列滿足均值回歸,那么該序列當(dāng)前的取值對下一時(shí)刻的取值的變化有預(yù)測性。例如,如果當(dāng)前的取值高于均值,那么下一時(shí)刻的取值會(huì)傾向于朝著均值運(yùn)動(dòng)。
EWA 和 EWC 的配對交易就是一個(gè)經(jīng)典的例子。他們分別代表澳大利亞(EWA)和加拿大(EWC)股指的兩個(gè)ETFs。由于這兩個(gè)國家的經(jīng)濟(jì)都主要依靠商品,因此可以認(rèn)為這兩個(gè)股指的波動(dòng)來自共同的因子。下圖為這兩個(gè) ETFs 的價(jià)格序列(左圖)和回歸得到的價(jià)差序列(右圖)。
對價(jià)差進(jìn)行 ADF 檢驗(yàn),得到的統(tǒng)計(jì)值為 -4.09(p-value 為 0.0065),小于顯著性 1% 對應(yīng)的閾值 -3.96,這說明我們可以在 1% 的顯著性水平下拒絕原假設(shè)。ADF 檢驗(yàn)說明該價(jià)差序列滿足平穩(wěn)性,即 EWA 和 EWC 滿足協(xié)整關(guān)系。
5 結(jié)語
對時(shí)間序列做回歸時(shí),一定要檢驗(yàn)平穩(wěn)性。
在量化投資領(lǐng)域,做回歸分析時(shí),收益率和價(jià)格是兩類因變量。對于收益率,它已經(jīng)滿足了平穩(wěn)性,因此我們只需要保證回歸中的自變量也滿足平穩(wěn)性。這就是為什么在使用宏觀經(jīng)濟(jì)數(shù)據(jù)預(yù)測收益率時(shí),我們通常會(huì)使用同比或者環(huán)比(都是一階差分了)作為自變量,而非經(jīng)濟(jì)數(shù)據(jù)的累計(jì)值。
對于投資品價(jià)格來說,它自身是一階單整的,不滿足平穩(wěn)性。在回歸時(shí),應(yīng)爭取找到和它協(xié)整的另外一個(gè)(或一組)投資品價(jià)格,用它們的線性組合得到一個(gè)滿足平穩(wěn)性的價(jià)差序列,從而構(gòu)建均值回歸策略。另外我們見到的做法(通常很危險(xiǎn))是使用宏觀經(jīng)濟(jì)數(shù)據(jù)直接預(yù)測股票的價(jià)格走勢。由于宏觀經(jīng)濟(jì)數(shù)據(jù)和股票價(jià)格很難滿足協(xié)整關(guān)系,因此這種回歸得到的往往是偽關(guān)系。
免責(zé)聲明:入市有風(fēng)險(xiǎn),投資需謹(jǐn)慎。在任何情況下,本文的內(nèi)容、信息及數(shù)據(jù)或所表述的意見并不構(gòu)成對任何人的投資建議。在任何情況下,本文作者及所屬機(jī)構(gòu)不對任何人因使用本文的任何內(nèi)容所引致的任何損失負(fù)任何責(zé)任。除特別說明外,文中圖表均直接或間接來自于相應(yīng)論文,僅為介紹之用,版權(quán)歸原作者和期刊所有。