時間序列

非平穩數據的主成分分析

  • August 6, 2017

我讀到,由於股票價格是非平穩的,因此採用它們的共變異數是沒有意義的。因此,我採用股票的對數回報,計算共變異數矩陣,採用解釋最大變異數的前幾個特徵向量,而不是預測回報,我將對數價格預測在這些向量上。這種方法有什麼問題嗎?下面的python程式碼:

logprices = numpy.log(價格)

logreturns = numpy.diff(logprices,軸=0)

cov = EmpiricalCovariance().fit(logreturns).covariance_

特徵值,特徵向量 = numpy.linalg.eigh(cov)

分量 = 特徵向量

$$ :, :5 $$# 前 5 個自己的向量 來源 = numpy.dot(logprices,組件)

您可能知道它們是平穩的兩個定義(例如,請參閱不規則觀測系列:預測和模型建構;這本書可能包含您對時間序列建模所需的所有內容,而且它現在是新的):

  • 強平穩意味著每次您進行觀察(對您而言,觀察是股票數量維度的回報向量),它都是從相同的分佈中得出的;
  • 弱平穩意味著每次觀察時,它都是從具有相同期望(即均值)和變異數(即這裡的共變異數矩陣)的分佈中得出的。

如果您相信混合您的觀察以獲得共變異數矩陣並製作他的 PCA,您需要什麼?

  • 第一個答案是你需要你的觀察是弱平穩的,甚至能夠談論他們的共變異數矩陣,不是嗎?
  • 但是你可以放鬆一下,說你只需要特徵向量和特徵值就可以保持強平穩。您將需要股票相對於這些組件的beta是“穩定的”,比如說恆定。

第二個選項是另一個模型,它實際上是一個因子模型。它說明了回報 $ R_k $ 的 $ k $ 股票等於

$$ R_k = \beta_k F_k + \epsilon_k, $$ 在哪裡 $ \epsilon_k $ 不再是靜止的…您肯定需要它的變異數遠低於 $ \beta_k F_k $ 能夠辨識的因素

與統計學中的往常一樣,一切都是模型選擇的問題。您需要了解您的選擇,使用與它們兼容的估計器(例如,想像一下您的隨機向量 $ \epsilon_k $ 以某種方式“同步”驅動 $ R_k $ 在幾個月內趨向於高度負值,然後將它們切換為正值……您將需要一個臨時估算器)。在該過程結束時,您需要檢查您獲得的所有參數是否與您的初始假設兼容。

引用自:https://quant.stackexchange.com/questions/35478