蒙特卡羅

來自總體投資組合分佈與單個資產分佈的樣本

  • November 24, 2018

假設我有三個資產 $ x_1,x_2,x_3 $ 在具有權重的投資組合中 $ W=\begin{bmatrix} w_1 \ w_2 \ w_3 \end{bmatrix} $ , 預期收益 $ R=\begin{bmatrix} \mu_1 \ \mu_2 \ \mu_3 \end{bmatrix} $ , 和共變異數矩陣 $ V $ .

我的投資組合的預期回報是 $ \mu_p=W^TR $ 我的投資組合的變異數是 $ \sigma^2_p=W^TVW $ .

我想使用正態分佈對我的投資組合進行蒙特卡羅模擬。

我可以通過以下方式做到這一點:

  1. 從投資組合收益分佈中抽樣 $ N(\mu_p,\sigma^2_p) $ .
  2. 從三個單獨的資產回報中取樣,並使用這三個回報來計算我的整體投資組合回報。

首先,我將如何完成第二種方法(我將從多元正態分佈中抽樣)?

其次,這兩種方法是否等效,只要我假設權重 $ W $ 我的投資組合保持不變?

對於第一種情況,您將直接採樣 $ n $ 隨機法線 $ x $ 併計算: $$ R^p_i = \mu_p + \sigma_p x_i, i \in [1,n] $$

對於第二種情況,您可以採樣 $ n $ X $ 3 $ 獨立法線,計算 Cholesky 分解矩陣 $ C $ 的 $ V $ ,這是矩陣 $ C $ 這樣 $ V=C^t C $ ,並得到 $ n $ 向量樣本 $ X $ 大小為 3。

回報 $ R_i $ 隨機抽獎 $ i $ 是(誰)給的: $$ R_i = \mu_p + C . X_i, i \in [1,n] $$ 您可以檢查高值 $ n $ 向極限值收斂: $$ E(R_i) = R $$ $$ Cov(R_i) = V $$ 然後投資組合回報計算為: $$ R^p_i = W.T R_i $$ 你可以檢查它是否收斂到相同的均值和變異數 $ \mu_p $ , $ \sigma_p^2 $ 對於足夠大的 $ n $ .

這兩種方法在數學上是等價的,因為獨立法線的線性組合是正態分佈的。只要生成的隨機法線變數是 iid 高斯法線,這種方法就可以工作。

使用 numpy,可以使用 np.random.normal 生成 iid 法線。如下所述,np.random.multivariate_normal 可用於生成多元高斯向量。

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