前文——
如果模型很好的捕捉了原始時間序列的自相關性,那么殘差序列{e_t}應該近似的為白噪聲,對任何非零間隔 k,該殘差序列的自相關系數 ρ_k 都應該在統計意義上不顯著的偏離 0。當然,這僅僅是我們說該模型是個優秀模型的充分條件,因為一個好模型最關鍵的還是能產生賺錢的交易信號。因此,模型的檢驗最終還要看它在樣本外預測的準確性。
時間序列建模的過程可以總結如下:
對于一個時間序列,我們總是希望首先畫出它的相關圖來看看它存在什么樣的自相關性。基于對其自相關性的認知,第二步則是選擇合適的模型,比如 AR、MA 或者 ARMA 模型,甚至于更高級對波動率建模的 GARCH 模型等。選定模型后,接下來便需要優化模型的參數,以使其盡可能解釋時間序列的自相關性。在這一步,我們通過對殘差進行自相關性分析來判斷模型是否合適。在這方面,Ljung–Box 檢驗是一個很好的方法,它同時檢驗給殘差序列各間隔的自相關系數是否顯著的不為 0。在選定模型參數之后,仍需定量評價該模型在樣本外預測的準確性。畢竟,對于樣本內的數據,錯誤的過擬合總會得到“優秀”的模型,但它們往往對樣本外數據的預測效果很差。因此,只有樣本外預測的準確性才能客觀的評價模型的好壞。如果模型的準確性較差,這說明該模型存在缺陷,無法充分捕捉原序列的自相關性。這時必須考慮更換模型。這就構成了上述步驟的反饋回路,直到最終找到一個既能解釋原時間序列自相關性,又能在樣本外有不錯的準確性的模型。之后,該模型將被用來產生交易型號并構建量化投資策略。
接下來我們就來介紹一個最簡單的時間序列模型:白噪聲。
本文第一節指出,對于收益率來說,白噪聲(white noise)并不是一個十分有效的模型。那么為什么我們還要研究它呢?這是因為它有一個重要的特性,即序列不相關:一個白噪聲序列中的每一個點都獨立的來自某個未知的分布,它們滿足獨立同分布(independent and identically distributed)。
一個(離散)白噪聲的定義如下:
考慮時間序列{w_t:t = 1, …, n}。如果該序列的成分 w_t 滿足均值為 0,方差 σ^2,且對于任意的 k ≥ 1,自相關系數 ρ_k 均為 0,則稱該時間序列為一個離散的白噪聲。
上面的定義并沒有假設 w_t 來自正態分布。事實上,白噪聲對分布沒有要求。當 w_t 來自正態分布時,該序列又稱為高斯白噪聲(Gaussian white noise)。
根據白噪聲的定義,一個白噪聲序列顯然滿足平穩性要求。它的均值和二階統計量為:
我們已經多次強調,當一個模型很好的捕捉了原始時間序列的自相關性,它的殘差序列就應該沒有任何(統計意義上顯著的)自相關性了。換句話說,一個優秀模型的殘差序列應該(近似)為一個白噪聲。因此,使用白噪聲序列的性質可以幫助我們確認我們的殘差序列中沒有任何相關性了,一旦殘差序列沒有相關性便意味著模型是原始時間序列的一個良好的擬合。
在白噪聲模型中,唯一的參數就是方差 σ^2。這個參數可以通過歷史數據估計得到。在本系列的第一篇文章中,我們曾給出了一個白噪聲序列的相關圖(如下),該序列由標準正態分布生成(因此為高斯白噪聲),共 500 個觀測值。可以看到,對圖中顯示的間隔 k 的取值,對所有 k ≥ 1 均有自相關系數在統計上等于 0。
將白噪聲模型進行一步延伸,便得到隨機游走(random walk)模型,它的定義如下:
對于時間序列{x_t},如果它滿足 x_t = x_[t-1] w_t,其中 w_t 是一個均值為 0、方差為 σ^2 的白噪聲,則序列{x_t}為一個隨機游走。
由定義可知,在任意 t 時刻的 x_t 都是不超過 t 時刻的所有歷史白噪聲序列的總和,即:
隨機游走的序列均值和方差為:
雖然均值不隨時間 t 改變,但是由于方差是 t 的函數,因此隨機游走不滿足穩定性。隨著 t 的增加,x_t 的方差增大,說明其波動性不斷增加。對于任意給定的 k,通過以下推導給得出隨機游走的自協方差:
上述推導中使用了獨立隨機變量的方差可加性。有了自協方差和方差,便可以方便的求出隨機游走的自相關函數:
顯然,自相關系數既是時間 t 又是間隔 k 的函數。ρ 的表達式說明,對于一個足夠長的隨機游走時間序列(t 很大),當考察的自相關間隔 k 很小時,自相關系數近似為 1。這是隨機游走的一個非常重要的特性,不熟悉它往往容易造成不必要的錯誤。

舉個例子。我們通常假設股價的對數收益率符合正態分布,因此股價對數是一個布朗運動(隨機游走的一種特殊形式)。如果當前的(對數)股價是 x_t,由隨機游走的特性可知,t 1 時刻的股價的條件期望為 E[x_[t 1] | x_t] = x_t,即我們對下一時點的股價的最好的猜測就是當前的價格。隨機游走是一個鞅(martingale)。
假如我們有一個預測股價的模型,而該模型就是用 t 時刻的股價作為對 t 1 時刻的股價的預測,則該模型的預測值和實際值之間的相關系數就等于股價序列的間隔為 1 的自相關系數。如果股價近似的為隨機游走,那么由它的性質可知,間隔為 1 的自相關系數非常接近 1。因此我們的股價預測模型——用今天的價格作為明天的價格的預測——的預測值和實際值之間的相關系數也非常接近 1。這會給我們造成錯覺:這個模型相當準確。不幸的是,這個模型猜測的收益率在任何時刻都為 0,因此它對于我們構建交易信號毫無作用。
我看到過無數的學術論文(大多是碩士論文)中,針對投資品價格本身構建自回歸模型。獨立變量就包括歷史價格,用它們和其他一些基本面或宏觀經濟數據來預測下一個交易日的股價。從上面的分析可知,這樣的模型將會“精準的毫無用處”,因為回歸模型中歷史價格的系數之和將會非常接近 1。
任何價格序列的自回歸模型都是耍流氓。
利用本文第三節例子中的白噪聲序列,便可以構建一個人工隨機游走序列的例子。它的軌跡如下圖所示。
不出意外,當間隔 k 相對于時間序列的長度很小時,它的自相關系數(下圖)非常接近 1,這源自隨機游走的性質。不要忘了,隨機游走是對股價的對數建模。因此,這種自相關性對于基于收益率預測的投資策略并沒有幫助。
事實上,如果(對數)股價嚴格的符合隨機游走,那么該時間序列的方差將會隨時間線性增長。這說明,長期來看它將呈現出巨大的波動。下圖為來自同一個分布的 15 條隨機游走的軌跡。隨著時間的推進,這些軌跡上對應觀測值的波動越來越大,充分的展現出隨機性。
如果股票的對數收益率為白噪聲,那么它的自相關系數應該在任何非零的間隔上都在統計意義上等于零。下面我們就來看看真實的股票收益率是否滿足這一點。為此,考慮一支個股(萬科)和一個股指(上證指數)。
以日頻為例,通過交易日的復盤后收盤價可以算出對數收益率:
首先來看看萬科,當考察期為過去 10 年時,萬科的對數收益率的相關圖為:
上圖指出,在間隔為 2 和 4 時,該收益率序列表現出了統計意義上顯著的相關性。當然,由于圖中的藍色區域僅僅是 95% 的置信區間,因此僅僅根據隨機性也很可能出現在一個或者兩個間隔上的自相關系數處于置信區間之外的情況。因此,根據上面的結果,我們并不能一定就說白噪聲不是萬科收益率的一個適當的模型。
如果我們把考察的窗口縮短到過去 5 年,則萬科的對數日收益率序列的相關圖變為:
當 k = 1,2,3,4 以及 14 的時候,自相關系數都超過了置信區間,即在 5% 的顯著性水平下不為零。我們無法再無視這樣的結果而把它們都歸結于隨機性。該相關圖清晰地說明白噪聲不能有效的解釋收益率序列中的自相關性。
對于上證指數,這種結論則更加明顯。無論是考察 10 年還是 5 年的窗口,上證指數的對數收益率均在不同的間隔上表現出了顯著的自相關(下圖),且它比個股的自相關性更加顯著。
這個結果說明上證指數的對數收益率序列無法用白噪聲來建模。更有意思的是,當 k 較小或者較大時,上證指數的收益率均表現出了自相關性,這說明它既有短記憶又有長記憶。
本文的分析引出如下的結論:
無論對于個股或是指數,它們的收益率序列中都存在某種自相關性,不滿足白噪聲模型。
因此,我們必須考慮更加高級的時間序列模型來對自相關性建模。在這方面,自回歸模型(AR)和滑動平均模型(MA),以及它們二者的組合——自回歸滑動平均模型(ARMA)——都是非常有力的工具。它們將是本系列下一篇的內容。
(全文完)
評論前必須登錄!
立即登錄 注冊