ポートフォリオ収益率の時系列
前の演習では、Apple と Microsoft の株価(終値)から日次の returns という変数を作成しました。今回は、その収益率系列を使って2つのポートフォリオを作成します。違いは資産のウェイト(比率)の扱い方だけです。
直前の動画では、2つのウェイト付け戦略(買って保有する戦略と、毎月リバランスする戦略)を紹介しました。本演習では、リバランスしないポートフォリオと、毎月リバランスするポートフォリオを作成し、両者のポートフォリオ収益率を可視化します。
計算には Return.portfolio() を使います。この関数には R、weights、rebalance_on の3つの引数を渡します。R は収益率の時系列、weights は資産ウェイトのベクトル、rebalance_on はどのカレンダー期間でリバランスするかを指定します。必要であれば、関数名をクリックしてドキュメントを確認してください。
この演習では、ワークスペースにあらかじめ読み込まれている returns データを使用します。
この演習はコースの一部です
Rで学ぶポートフォリオ分析入門
演習の手順
- 2資産を等ウェイトにした重みベクトル
eq_weightsを作成します。ウェイトの合計は 1 になる必要があることに注意してください。 Return.portfolio()を使って買って保有する戦略のポートフォリオを作成します。リバランス期間は指定不要です。これをpf_bhと名付けます。- 毎月ウェイトをリバランスするポートフォリオを作成します。
Return.portfolio()に引数rebalance_on = "months"を指定し、これをpf_rebalと名付けます。 plot.zoo()を使って各ポートフォリオの時系列をプロットします。作成するプロットを整えるためにpar(mfrow = c(2, 1), mar = c(2, 4, 2, 2))を使用します。このコードは変更しないでください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create the weights
eq_weights <- c(___, ___)
# Create a portfolio using buy and hold
pf_bh <- Return.portfolio(R = ___, weights = ___)
# Create a portfolio rebalancing monthly
# Plot the time-series
par(mfrow = c(2, 1), mar = c(2, 4, 2, 2))
plot.zoo(___)
plot.zoo(___)