ウェイトの時系列
前の演習では、Return.portfolio() 関数の機能を確認し、2つの戦略でポートフォリオを作成しました。さらに、Return.portfolio() の引数 verbose = TRUE を設定すると、ポートフォリオのリターンや寄与度に加えて、期首(BOP)および期末(EOP)のウェイトと価額のリストも作成できます。
これらは Return.portfolio() が返すリストオブジェクトから参照できます。返されるリストには $returns、$contributions、$BOP.Weight、$EOP.Weight、$BOP.Value、$EOP.Value が含まれます。
この演習では、前回作成したポートフォリオを再現しつつ、verbose = TRUE を使って計算結果のリストを作成します。最後に、Apple の期末ウェイトを可視化します。
オブジェクト returns はワークスペースにあらかじめ読み込まれています。
この演習はコースの一部です
Rで学ぶポートフォリオ分析入門
演習の手順
- 2資産を等ウェイトにしたベクトル
eq_weightsを定義します。 - バイ・アンド・ホールド戦略で
verbose = TRUEを設定し、リターンのポートフォリオを作成します。これをpf_bhとします。 - 月次リバランス戦略で
verbose = TRUEを設定し、リターンのポートフォリオを作成します。これをpf_rebalとします。 pf_bhの期末ウェイトを使って、新しいオブジェクトeop_weight_bhを作成します。pf_rebalの期末ウェイトを使って、新しいオブジェクトeop_weight_rebalを作成します。eop_weight_bhにおける Apple の期末ウェイトをplot.zoo()で描画し、eop_weight_rebalにおける Apple の期末ウェイトもplot.zoo()で描画します。作図のレイアウト調整にはpar(mfrow = c(2, 1), mar = c(2, 4, 2, 2))を使用します。このコードは変更しないでください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create the weights
eq_weights <-
# Create a portfolio using buy and hold
pf_bh <- Return.portfolio(returns, weights = eq_weights, ___ )
# Create a portfolio that rebalances monthly
pf_rebal <- Return.portfolio(returns, weights = eq_weights, rebalance_on = "months", ___ )
# Create eop_weight_bh
# Create eop_weight_rebal
# Plot end of period weights
par(mfrow = c(2, 1), mar=c(2, 4, 2, 2))
plot.zoo(___$AAPL)
plot.zoo(___$AAPL)