Who did it?
前の動画では、資本配分予算とリスク予算の違いを見ました。この演習ではリスク予算を作成し、各資産がポートフォリオ全体のボラティリティにどれだけの割合でリスクを寄与しているかを確認します。
この最後の演習では、再び株式40%、債券40%、不動産10%、コモディティ10%に投資するポートフォリオについて、リスク寄与度を計算します。関数 StdDev() が重要な役割を果たします。StdDev() は、各資産の標準偏差($StdDev)、リスク寄与($contribution)、およびパーセンテージのリスク寄与($pct_contrib_StdDev)を要素とするリストを作成します。
この計算には、StdDev() 関数で3つの引数を使います。1つ目は R で、リターンのベクター、行列、データフレーム、時系列、または zoo オブジェクトです。2つ目は portfolio_method で、これは component に設定します。3つ目は weights です。
returns オブジェクトはワークスペースに読み込まれています。
この演習はコースの一部です
Rで学ぶポートフォリオ分析入門
演習の手順
weightsという名前のポートフォリオ重みの「ベクター」を作成します。順序が重要であることに注意してください。- 収益率系列
returnsに対してStdDev()を用いてボラティリティ予算を計算します。portfolio_method = "component"を設定し、weightsには作成した重みベクターを渡します。結果をvol_budgetと名付けます。 cbind()を使って、重みとパーセンテージのリスク寄与を結合し、weights_percriskという表を作成します。- 表を出力し、ポートフォリオの重みと比べてパーセンテージのリスク寄与がどれだけ異なるかを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create portfolio weights
# Create volatility budget
vol_budget <- StdDev(___, portfolio_method = "___", weights = ___)
# Make a table of weights and risk contribution
colnames(weights_percrisk) <- c("weights", "perc vol contrib")
# Print the table