計算有限視窗上的指數加權共變異數矩陣
我有一個
(n,m)
數組(特別是包含資產在n
幾天內的資產回報m
)。我正在嘗試計算這些資產在此時間範圍內的滾動指數加權共變異數矩陣,但我想限制計算每個共變異數矩陣的數據量。更具體地說,我想使用 20 個觀察半衰期來計算這些共變異數矩陣,但我不想在每個計算中包含超過 40 個觀察值。
我已經建構了一個形狀為 的 pandas DataFrame
(n, m, 40)
,因此每個 的值都n
包含m
資產的最後 40 個觀察值。我在想我可以使用該行中的數據計算一個具有 20 個觀察半衰期的單個指數加權共變異數矩陣n
,但我做不到。我可以這樣計算還是應該採取不同的方法?編輯:我希望避免
for
此解決方案中的循環。
如果我理解正確,您的目標是根據返回數據的視窗計算一系列共變異數矩陣。為此,讓 $ X $ 表示 $ n\times k $ 觀察到的回報矩陣 $ n $ 日期和 $ k $ 儀器。此外,您有一個長度視窗 $ h<n $ .
然後,典型的入口 $ (k,l) $ 每個分量共變異數矩陣的計算為(假設零均值)
$$ C_i(k,l)=\sum_{t=i}^{h+i-1}w_tx_{k,t}x_{l,t}=X_i^TWX_i $$
在哪裡 $ X_i $ 是個 $ i $ 數據矩陣的第 th 視窗,即
$$ X_i\equiv \begin{pmatrix} x_{1,i}&x_{2,i}&\ldots&x_{k,i}\ x_{1,i+1}&x_{2,i+1}&\ldots&x_{k,i+1}\ \ldots&\ldots&\ldots&\ldots\ x_{1,i+h-1}&x_{2,i+h-1}&\ldots&x_{k,i+h-1} \end{pmatrix} $$
和 $ W $ 是權重的對角矩陣。相應的計算是一個簡單的
for
循環。HTH?