共分散行列
共分散行列は、一般の \(N\) 資産の場合にポートフォリオ分散を決めるうえで重要です。行 $i$、列 \(j\) の要素は、第 \(i\) 資産と第 \(j\) 資産のリターンの共分散に対応することを思い出してください。また、2つのリターン系列の共分散は、それぞれのボラティリティと相関の積であり、資産リターンとその自身の共分散は分散そのものであることも復習しましょう。
この演習では、前の演習で扱った4つのアセットクラス(株式、債券、不動産、コモディティ)の月次リターンについて、共分散行列と相関行列を計算して分析します。これらの行列を作成するために、標準的な関数 cov() と cor() を使います。
ワークスペースには、月次リターンが returns として、以前に作成した標準偏差のベクトルが sds として用意されています。
この演習はコースの一部です
Rで学ぶポートフォリオ分析入門
演習の手順
- 対角に分散が入った対角行列を作成します。これには diag() を使い、引数は二乗した
sds^2のみとします。これをdiag_covと呼びます。 - リターンの共分散行列を計算します。これを
cov_matrixと呼びます。 - リターンの相関行列を計算します。これを
cor_matrixと呼びます。 - 事前に読み込まれているコードを実行して、債券リターンと株式リターンの共分散が、それぞれの標準偏差と相関の積に等しいことを確認します。このコードは変更しないでください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create a matrix with variances on the diagonal
# Create a covariance matrix of returns
# Create a correlation matrix of returns
# Verify covariances equal the product of standard deviations and correlation
all.equal(cov_matrix[1,2], cor_matrix[1,2] * sds[1] * sds[2])