N 需要統計顯著的跟踪誤差
假設我有一個投資組合的跟踪誤差計算:
我如何確定統計顯著跟踪誤差所需的 N 次觀測?或者,我如何確定跟踪誤差本身是否具有統計意義?
這裡有一些說明性程式碼
import statsmodels.stats.moment_helpers as mh import pandas as pd import numpy as np def generate_correlated_random_return_matrix(annual_means, annual_vols, corr, t_periods, n_samples, period_adjust=12.): """ Generates a return matrix from a multivariate random normal distribution. **Args**: *annual_means*: An array of mean annual returns. *annual_vols*: An array of annual vols. *corr*: Correlation matrix. An example being: >>> [[1,0],[0,1]] *t_periods*: How many months would you like to simulate? n_samples**: How many times do you want to run this simulation? """ means = np.divide(annual_means, period_adjust) vols = np.divide(annual_vols, period_adjust ** .5) cov = np.asmatrix(mh.corr2cov(corr, vols), float) sim_array = np.random.multivariate_normal(means, cov, [n_samples, t_periods]) return sim_array te_tests = generate_correlated_random_return_matrix(annual_means=[.03,.03],annual_vols=[.1,.1],corr=[[1,.8],[.8,1]],t_periods=10000,n_samples=1) df = pd.DataFrame(te_tests[0]) expanding_te = pd.expanding_std(df[0] - df[1]) mu = (df[0] - df[1]).std() true_te = (df[0] - df[1]).std() vol_of_expanding_TE = expanding_te.std() z_score_of_TE_at_obs_N = ((expanding_te - true_te)/vol_of_expanding_TE).plot()
我想這會給我一種方式來說明“測量的 TE 在統計上與
TRUE
TE 無法區分”,我想。不過,不確定我使用的標準偏差是否正確。
假設你的投資組合有一些未知的真實平均跟踪誤差, $ t $ ,相對於基準,有一些實際差異 $ \sigma_t^2 $ .
你有一個從你的數據中生成的抽樣過程,它決定了估計的平均跟踪誤差, $ \hat{t} $ 根據您的公式,當然您也可以得出跟踪誤差的估計變異數, $ \hat{\sigma_t^2} $ .
您如何評估數據集相對於未知實際值的可信度?
1) 您可以執行非參數引導樣本: 在此方法中,您可以通過對數據集中的跟踪錯誤進行重新採樣(替換)來創建多個引導樣本數據集。然後,您從 bootstrap 估計器的統計數據中得出信賴區間。
例如,假設您有 5 個數據點、5 天的跟踪錯誤:
$$ 1, 2, 1, 3, 20 $$,平均值為 5.4,變異數為 67。這些估計器的準確度或誤導性如何?我執行了 100 個引導樣本(有替換),並描繪了我得到的平均估計量分佈:
由於樣本數量很少(以及潛在的異常值),這非常引人注目。我建議您不能自信地評估您對平均跟踪誤差的準確估計為 5.4。然而,對於更大的 NI,您認為您將獲得一個相當自信的值。
例如,假設我將跟踪錯誤的數據集擴展到 20 個數據點:
$$ 1, 2, 1, 3, 20, 5, 3, 2, 8, 9, 4, 4, 7, 16, 2, 2, 2, 7 $$平均值為 5.4。現在 100 個引導樣本將產生以下平均估計量分佈:
2)您可以對參數引導樣本執行相同的過程:假設跟踪誤差具有一些潛在分佈,您也可以對變異數估計器執行此操作。
在您的情況下,這可能更合適,因為您有一個潛在的多元正態分佈。
在這種情況下,我會將問題改寫為在 N 取不同值的情況下,具有統計意義的 TE 估計值範圍的寬度是多少。
例如,假設我為每個樣本中 N 為 3、6 或 24 的情況創建了 20 個參數引導樣本。我有一個簡單的帶有權重的基準投資組合
$$ 1,1 $$和跟踪投資組合$$ 0.9, 1.1 $$. 我模擬了簡單均勻分佈且沒有相關性的市場走勢,並根據您的公式計算了 TE。我得到的 TE 估計量的分佈如下所示:
顯然,隨著 N 的增加,您在估計量分佈中的變異數會減少,並且通過執行這種分析,您可以參考您可以輕鬆使用的確定信賴區間。即在這種情況下,在 N=24 的情況下,跟踪誤差與真實值相差 +-0.2 在統計上是不可能的,但是在 N=3 的情況下,有合理的機會會發生。
這些方法構成了計算密集型統計領域的一部分。