程式
對於投資組合差異,為什麼不在r(X_w)=在⊤Σw_在一個r(X在)=在⊤Σ在Var(X w) = w^top Sigma w?
從多元資產回報 $ 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”給出了無偏變異數估計量(見連結)。這應該會有所幫助。