高度なモーメント推定
PortfolioAnalytics では、ポートフォリオのモーメント推定に「sample」メソッドに加えて、さらに3つの高度なメソッドが利用できます。
"sample": 最初の4つのモーメントの基本的な標本推定。"boudt": Boudt ほか, 2014 に基づく統計的ファクターモデルを適合させて最初の4つのモーメントを推定します。"black_litterman": Black-Litterman フレームワーク を用いて最初の2つのモーメントを推定します。"Meucci": Fully Flexible Views フレームワーク を用いて最初の2つのモーメントを推定します。
この演習では、「boudt」メソッドを使って第2モーメントを推定します。"StdDev" 目的を持つポートフォリオ仕様オブジェクト port_spec はすでに作成されています。
この演習はコースの一部です
Rで学ぶ中級ポートフォリオ分析
演習の手順
- ポートフォリオ仕様オブジェクトを表示します。
- 資産リターンに3因子の統計的ファクターモデルを適合させます。変数名は
fitとします。 - 3因子で「boudt」メソッドを使ってポートフォリオのモーメントを推定します。変数名は
moments_boudtとします。 extractCovariance()を使ってfitから推定された分散共分散行列を取得し、moments_boudtの推定結果と等しいか確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print the portfolio specification object
# Fit a statistical factor model to the asset returns
fit <- statistical.factor.model(R = ___, k = ___)
# Estimate the portfolio moments using the "boudt" method with 3 factors
moments_boudt <- set.portfolio.moments(R = ___, portfolio = ___, method = ___, k = ___)
# Check if the covariance matrix extracted from the model fit is equal to the estimate in `moments_boudt`
moments_boudt$___ == extractCovariance(___)