程式

對於投資組合差異,為什麼不在r(X_w)=在⊤Σw_在一個r(X在)=在⊤Σ在Var(X w) = w^top Sigma w?

  • December 18, 2020

從多元資產回報 $ X $ ,我們可以計算樣本共變異數矩陣 $ \Sigma $ .

(任何)投資組合變異數的定義是 $ w^\top \Sigma w $ , 在哪裡 $ w $ 是投資組合權重。

如果 $ X w $ 是投資組合加權資產收益序列(一個向量),這個投資組合收益向量的變異數不應該等於投資組合的變異數, $ w^\top \Sigma w $ ?

當我為相同的數據集和權重計算它們時,為什麼它們不相等? $$ Var(X w) \neq w^\top \Sigma w $$

import numpy as np
from numpy.random import randn

X = randn(1000,3)           #3 assets with 1000 return observations
Sigma = np.cov(X.T)         #covariance matrix
w = np.array([0.2,0.3,0.5]) #portfolio weights for 3 assets

print(np.var(X@w))          #this should equal the next line but doesn't
print(w@Sigma@w)

我不是 Python 程序員,但是,閱讀 np.var 的參考手冊時,您使用的是變異數估計器的“有偏”版本。而是使用無偏變異數估計器:

import numpy as np
from numpy.random import randn

X = randn(1000,3)           
Sigma = np.cov(X.T)         
w = np.array([0.2,0.3,0.5]) 

print(np.var(X@w, ddof=1))
print((w@Sigma)@w)

其中“ddof=1”給出了無偏變異數估計量(見連結)。這應該會有所幫助。

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