お金の算数

ローンや資産運用について数学的見解を交えて考察しています

現代ポートフォリオ理論のベクトルと行列による表現

前回は2つの資産から構成されたポートフォリオについて考察してきました。続いて複数の資産から構成されるポートフォリオについてみていきましょう。

 その前にポートフォリオのリターンやリスクをベクトルや行列を用いて表現する方法について説明していきたいと思います。複数のポートフォリオをベクトルや行列を使わずに説明するのは、非常にまどろっこしくなってしまうからです。

前回の記事で解説したポートフォリオの平均リターンや分散は以下のように示しました。

 

  • 二つの資産株式1と株式2がそれぞれw_1w_2の比率で構成されるポートフォリオの平均リターン

 

E({r_p})={w_1}{E({r_1})}+{w_2}{E({r_2})}

 

 

  • 二つの資産株式1と株式2がそれぞれw_1w_2の比率で構成されるポートフォリオの分散

 

V({r_p})={w_1}^2{V({r_1})}+{w_2}^2{V({r_2})}+2{w_1}{w_2}Cov({r_1},{r_2})

 

2つの資産だけでもこれだけややこしくなってしまいます。しかし、これらをベクトルや行列を使ってポートフォリオの平均リターンや分散を表現すると以下のようになります。

 

平均リターン

W^TR

 

分散

W^TSW

 

はじめに示した式に比べると、非常に簡潔になってしまいました。しかも、これらの式はポートフォリオの構成される資産がいくつだろうと変わりません。本当にこれらの式が先に示した式と同じことを意味しているのか実感がわかないと思いますが、この記事を最後まで読んでいただければわかっていただけると思います。

それでは、ベクトルや行列を使って表現できるようにn個の資産から構成されるポートフォリオの平均リターンや分散をベクトルや行列を使って解説していきます。

 

平均リターン

資産が株式1から株式nあり、それぞれ構成比率w_1からw_nで構成されるポートフォリオの平均リターンは以下の式で示されます。

 

E({r_p})={w_1}{E({r_1})}+{w_2}{E({r_2})}+{・・・}+{w_n}{E({r_n})}

 

これをΣを使った式に直すと以下のようになります。

 

E(r_p)=\displaystyle{\sum_{i=1}^{n} {{w_i}E(r_i)}}

 

 資産が大量にあった場合Σを使わずに式を書くと手間がかかりますが、Σを使うと簡潔に表現できます。ここからさらにベクトルを使っていきましょう。

まず、以下のようにそれぞれの平均リターンや構成比率をベクトルとして表現します。

 

W=\begin{pmatrix} {w_1} \\\ {w_2} \\\ {:} \\\ {w_n}\end{pmatrix}

 

R=\begin{pmatrix} {E({r_1})} \\\ {E({r_2})} \\\ {:} \\\ {E({r_n})}\end{pmatrix}

 

また、上記のような縦ベクトルを横ベクトルに書き直すこと、または横ベクトルを縦ベクトルに書き直すことを転置と呼びます。ベクトルの記号に上付きでT(転置する=transpose)をつけて表します。

 

 {W^T} = ( {w_1} \; {w_2} \; {…} \: {w_n} \:)

 

 一方のベクトルを転置して1×n行列、他方のベクトルをn×1行列と考えて、それぞれの要素を掛け算して足していく計算が内積の計算となります。内積を計算した結果はベクトルではなく、普段使っている数(ベクトルに対しスカラーと呼ばれます)になります。

 

{W^T}{R}={( {w_1} \; {w_2} \; {…} \: {w_n} \:)}{\begin{pmatrix} {E({r_1})} \\\ {E({r_2})} \\\ {:} \\\ {E({r_n})}\end{pmatrix}}

 

={w_1}{E({r_1})}+{w_2}{E({r_2})}+{・・・}+{w_n}{E({r_n})}=\displaystyle{\sum_{i=1}^{n} {{w_i}E(r_i)}}

 

計算結果を見てわかるように、構成比率のベクトルと平均リターンのベクトルはポートフォリオでの内積は平均リターンを示しています。

 

分散

 続いて分散についてみていきましょう。先ほど二つの資産から構成されるポートフォリオの分散を示しました。

 

V({r_p})={w_1}^2{V({r_1})}+{w_2}^2{V({r_2})}+2{w_1}{w_2}Cov({r_1},{r_2})

 

 計算の説明を簡潔にするために、計算で使う文字を以下のように定義しておきます。

 

  • V({r_p})={{s_p}^2}・・・ポートフォリオの分散
  • V({r_1})=s_{11}・・・株式1の分散
  • Cov({r_1},{r_2})=s_{12}・・・株式1と株式2の共分散

 

したがって、ポートフォリオの分散を書き直すと以下のようになります。

 

{{s_p}^2}={w_1}{w_1}{s_{11}}+2{w_1}{w_2}{s_{12}}+{w_2}{w_2}{s_{22}}

 

 計算の順番を変えたり、二乗をあえて使わないのは、のちの計算で分かりやすくするためです。ここでさら共分散についてみると

 

{w_1}{w_2}{s_{12}}={w_2}{w_1}{s_{21}}

 

 となります。このことを利用してさらに式を以下のように変形します。

 

=[{w_1}{w_1}{s_{11}}+{w_1}{w_2}{s_{12}}]+[{w_2}{w_1}{s_{21}}+{w_2}{w_2}{s_{22}}]

 

 四角の括弧でくくった中の式をΣで表現します。

 

=\displaystyle{\sum_{j=1}^{2} {{w_1}{w_j}}{s_{1j}}}+\displaystyle{\sum_{j=1}^{2} {{w_2}{w_j}}{s_{2j}}}

 

続けて、Σのかたまり自体もΣでまとめてしまいます。

 

=\displaystyle{\sum_{i=1}^{2} {\displaystyle{\sum_{j=1}^{2} {{w_i}{w_j}}{s_{ij}}}}}

 

上記の式がΣで示されたポートフォリオの分散です。もちろん、仮に資産がn個あったとすれば、nの資産から構成されるポートフォリオの分散を以下のように計算できます。

 

=\displaystyle{\sum_{i=1}^{n} {\displaystyle{\sum_{j=1}^{n} {{w_i}{w_j}}{s_{ij}}}}}

 

 しかし、Σでまとめたとはいえ、二つもΣが重なっており、文字の添え字も少々ややこしく思えます。そこで先ほどの平均リターンをベクトルで表現したように、分散もベクトルと行列を使って簡潔に表現できるように試みましょう。

ここでも同じく、内積の計算をするのですが、構成比率のベクトルは先ほどと同じように定義します。

 

W=\begin{pmatrix} {w_1} \\\ {w_2} \\\ {:} \\\ {w_n}\end{pmatrix}

 

分散・共分散については以下のようなn×n行列で表します。

 

S=\begin{pmatrix} s_{11} \; s_{12} \; {…} \: s_{1n} \: \\ s_{21} \; s_{22} \; {…} \: s_{2n} \: \\ {:} \; {: } \; {…} \: {: } \: \\ s_{n1} \; s_{n2} \; {…} \: s_{nn} \: \end{pmatrix}

 

このように表現される行列Sのことを分散共分散行列といいます。左上から右下にかけての対角は株式1からnまでの分散になっています。それ以外はそれぞれの共分散となっていますが、s_{ij} = s_{ji}となることに注意してください。

 

以上のベクトルと行列を使って、ポートフォリオの分散を示したのが以下の式になります。

 

 \displaystyle {s_p}^2= ( {w_1} \; {w_2} \; {…} \: {w_n} \:)\begin{pmatrix} s_{11} \; s_{12} \; {…} \: s_{1n} \: \\ s_{21} \; s_{22} \; {…} \: s_{2n} \: \\ {:} \; {: } \; {…} \: {: } \: \\ s_{n1} \; s_{n2} \; {…} \: s_{nn} \: \end{pmatrix} \begin{pmatrix} {w_1} \\{w_2} \\ {:} \\ {w_n} \end{pmatrix}

 

=W^TSW

 

以上がポートフォリオの平均リターンや分散をベクトルと行列で表す方法です。ベクトルや行列がなにを示しているのかさえ理解していれば難しくなく、むしろ直観的に数式もわかるようになったと思います。

 

ここでベクトルや行列を使って効率的フロンティアの導出を定義してみましょう。

 

  • 効率的フロンティアの導出

目的関数(ポートフォリオの分散を最小化する):

{ \displaystyle \begin{equation} \min_{W}W^TSW \end{equation} }

 

制約条件:

k=W^TR
kは最小分散ポートフォリオのリターンと、投資機会集合の最大リターンの間のあらゆる値をとる。)

 

Wの各要素について

w_i≧0,1~n
空売りを認めない)

 

W^T\boldsymbol{1}=1
\boldsymbol{1}は全ての要素が1のベクトル。投資比率の合計が1を示す。)

 

 さらにシンプルに表現すると以下のようになります。

 

  • 効率的フロンティアの導出
{ \displaystyle \begin{equation} \min_{W}W^TSW \end{equation} }

 

s.t.
k=W^TR
w_i≧0,1~n
W^T\boldsymbol{1}=1

 

一見、なにを書いているのかわかりづらいと思いますが、一つ一つ数式の意味をかみ砕いていくとそこまで難しいことはいっていません。

制約条件(最大となるリターンを選ぶ、空売りを認めない、すべての保有資産を投資に使う)を満たす中で、ポートフォリオの分散を最も小さくせよ、といっているのです。

 

{ \displaystyle \begin{equation} \min_{W} \end{equation} }」はポートフォリオの分散についてWを操作したうえで最小化せよ、というのを示しいます。

s.t.」というのは英語の"subject to~"の略称で「~の制約の下で」という意味があります。

 

どうでしょうか?ベクトルや行列の意味が分かれば複雑な数式も簡潔に表現できることが実感できたと思います。特に統計学計量経済学機械学習など大量のデータを扱って計算をする学問ではベクトルや行列を扱う線形代数の知識が必須になってきます。

 

次回は今回学んだことを活かしつつ、複数の資産で構成されたポートフォリオについて実際に分析していきたいと思います。