始める無料で始める

高度なモーメント推定

PortfolioAnalytics では、ポートフォリオのモーメント推定に「sample」メソッドに加えて、さらに3つの高度なメソッドが利用できます。

  1. "sample": 最初の4つのモーメントの基本的な標本推定。
  2. "boudt": Boudt ほか, 2014 に基づく統計的ファクターモデルを適合させて最初の4つのモーメントを推定します。
  3. "black_litterman": Black-Litterman フレームワーク を用いて最初の2つのモーメントを推定します。
  4. "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(___)
コードを編集して実行