ポートフォリオ最適化では、リターンを最大化しつつリスクを最小化することが目的です。本記事では、ポートフォリオ全体のリスク(標準偏差)をどのように計算するのかを詳しく解説します。
ポートフォリオ最適化では、リターンを最大化しつつリスクを最小化することが目的です。
前回の記事では、共分散と相関係数について学びました。
本記事では、それを活用してポートフォリオ全体のリスク(標準偏差)をどのように計算するのかを詳しく解説します。
ポートフォリオのリスク(分散 )は、各資産の分散と資産間の共分散の両方を考慮して計算されます。
ポートフォリオの分散 は、次の式で表されます。
この式は、
ポートフォリオの標準偏差()は、分散の平方根で求められます。
標準偏差が小さいほど、ポートフォリオのリスクが低いことを意味します。
資産 A と資産 B の過去のリターンデータを使って、ポートフォリオのリスクを計算してみましょう。
項目 | 資産 A | 資産 B |
---|---|---|
期待リターン | 8% | 12% |
標準偏差() | 10% | 15% |
共分散() | 0.008 | |
投資比率() | 50% | 50% |
まず、各値を公式に代入します。
したがって、このポートフォリオのリスク(標準偏差)は 11% となります。
3 つ以上の資産を含むポートフォリオでは、共分散行列(Covariance Matrix) を使ってリスクを計算します。
共分散行列 は、各資産の共分散を行列形式で表したものです。
ポートフォリオの分散は、次の行列式で求められます。
ここで、 は投資比率ベクトルです。
Python を使って共分散行列を用いたポートフォリオのリスク計算を行うことができます。
PYTHONimport numpy as np # 資産のリスク・共分散行列 cov_matrix = np.array([ [0.01, 0.008, 0.005], [0.008, 0.0225, 0.007], [0.005, 0.007, 0.015] ]) # 投資比率 weights = np.array([0.4, 0.4, 0.2]) # ポートフォリオの分散計算 portfolio_variance = weights.T @ cov_matrix @ weights # ポートフォリオの標準偏差(リスク) portfolio_stddev = np.sqrt(portfolio_variance) print(f"ポートフォリオのリスク(標準偏差): {portfolio_stddev:.2%}")
ポートフォリオのリスク(標準偏差): 10.54%
このコードを実行すると、ポートフォリオのリスク(標準偏差)が計算されます。
当サイトの情報は、一般的な参考情報として提供しております。
正確な情報の掲載に努めておりますが、その内容の正確性・完全性・最新性を保証するものではありません。
記事の内容をご利用の際は、ご自身の責任において判断し、必要に応じて専門家にご相談ください。
当サイトの情報の利用により生じたいかなる損害についても、一切の責任を負いかねますのでご了承ください。
※ 本ページでは、著作権法に基づき、適正な引用の範囲内でコンテンツを紹介しています。
オリジナルの情報は発信元をご確認ください。
もし問題がありましたら、こちら からお問い合わせください。