多数資産のリスク最小化

多数資産の取り扱いについては、その表記について先の項で簡単に触れた。多数の変数であっても、 行列を利用すると簡明に式が記述できて、ルールに則れば、その後の計算も面倒に煩わされないで済むことも多い。 数学の大きなメリットのひとつが厳密かつ簡潔な表現であるとはよく言われることだが、 行列計算はその分かりやすい例であろう。

ここでは、収益率とリスクの表現から一歩進んで、多数資産のリスク最小化について、行列を使ったアプローチを紹介する。 すでに2資産で求めたポートフォリオの最小分散投資比率をn資産に拡張して求めてみよう。

東証一部上場会社数は、1990年始めに1200社弱であったものが、2014年には1800社を超えて1900社に近づいている。 例えばこの1900資産を対象としてリスク最小なポートフォリオを構築しようとすることは大変な作業となるが、 実務として取り組みたくなることは十分あろう。すなわち、n=1900である。

このような場合にすっきりと議論をすすめていくためには、行列と行列式の知識は欠くべからずものだと思う。 もともと行列や行列式が考案された背景には、変数の数の多寡にかかわらず簡単に議論を進めることができるという狙いがある。 2資産とか3資産ではなくn個の資産を取り扱うことで、その強みを感じ取っていただければよいだろう。

まず問題は次のように定式化される。収益率$r$、配分比率$w$をいずれも縦ベクトル、分散共分散行列を$\Sigma$として、 \begin{eqnarray*} \min& &\quad \sigma_p^2(w)=w^t\Sigma w, \\ &\mbox{s.t.} &\quad w^t\mathbf{1}=1,\\ & &\quad w^t r=r_p \end{eqnarray*} ここで、$\mathbf{1}$はすべての要素が1の縦ベクトルである。

繰り返しとなるが問題式とそれを構成する変数の説明をしておこう。 $\sigma_p(w)$は構築したポートフォリオのリスクの目的変数である。目標はこのリスクを最小とする独立変数の 資産配分比率の(列)ベクトル$w=(w_j),(j=1,\cdots,n)$を、事前に定められた資産の収益率$r_p$を所与として求めたいのである。

$r=(r_j),(j=1,\cdots,n)$は所与とする個々の資産の収益率の列ベクトル、$\Sigma=(\sigma_{ij}),(i,j=1,\cdots,n)$は、 やはり所与とするポートフォリオを構築するにあたって利用する個別資産の分散共分散行列である。 くどくどなるが$w^t$は転置処理なので行ベクトルとなる。

慣れていないと制約条件の一つ目の式の1が分かりにくいかもしれない。左辺の資産配分比率ベクトル$w$に掛けている1は要素がすべて1の列ベクトルであって、 右辺はスカラーの1である。資産配分比率をすべて加えると1となることの定式化である。このようなやり方はよく使うテクニックである。 \[ w^t\mathbf{1}=(w_1,w_2,\cdots ,w_n)\left(\begin{array}{c} 1\\ 1 \\ \vdots \\ 1 \end{array}\right)=w_1+w_2+\cdots+w_n=1\]

制約条件の第2式は同じように考えて、$r_p$は所定のスカラーであるから、 個別資産の収益率の加重平均が構築するポートフォリオの収益率になるという式である。 \[ w^tr=w_1r_1+w_2r_2+\cdots+w_nr_n=r_p \] ベクトルとスカラーの表現が判別しにくいかもしれないが、注意深く読んで文脈からも読み取っていただきたい。 なじんでしまえばベクトルや行列もスカラーを表す変数と同じように自然にあつかえるようになると思う。

さて制約条件付最小化であるので、ラグランジェアンを用意しよう。

\[ L=w^t\Sigma w-2\lambda_1(r_p-w^tr)-2\lambda_2(1-w^t\mathbf{1}) \] ラグランジェ係数$\lambda$に付与した2は次の1階条件でお分かりになるだろうが、 煩わしくなる定数をきれいにするためのもので特別な意味はない。

いつものように偏微分をとってゼロとおく。 \begin{eqnarray*} \frac{\partial L}{\partial w}&=&2\Sigma w-2\lambda_1r-2\lambda_2\mathbf{1}=0 \\ \frac{\partial L}{\partial \lambda_1}&=&-2(r_p-w^tr)=0 \\ \frac{\partial L}{\partial \lambda_2}&=&-2(1-w^t\mathbf{1})=0 \end{eqnarray*} となる。

2次形式$w^t\Sigma w$は、$w$で微分すると、$2\Sigma w$となることは各自確かめられたい。 なぜならその分解作業は、この方程式は行列で表現しているために一行の式で記述されているが、 その実体はベクトル$w$のひとつひとつの要素で偏微分しているのであって、初等の代数の形式であるなら、 n本の方程式を書かなければいけなくなることを改めて再確認させてくれるのである。

ちなみにその一本目の式は、 \[ 2(\sigma_{11}w_1+\sigma_{12}w_2+\cdots +\sigma_{1n}w_n)-2\lambda_1r_1-2\lambda_2=0 \] となる。これに対して残りの2行の方程式はやはり行列で表現しているが、 初等の代数で記述してもやはりそれぞれ一本の式であることも付け加えておこう。

この連立方程式を解くことを考えると、その変数はベクトルwのn個の要素と2個のラグランジェ係数だから 方程式の数と変数の数はn+2で一致し、細かい条件を考えなければ解を得ることができる。求め方を形式的に進めてみよう。

ゼロとおいたそれぞれの式から、 \begin{eqnarray*} w&=&\Sigma^{-1}r\lambda_1+\Sigma^{-1}\mathbf{1}\lambda_2 \\ w^tr&=&r_p \\ w^t\mathbf{1}&=&1 \end{eqnarray*} である。

一本目の式について整理し移項して左から逆行列$\Sigma^{-1}$を掛ける。そして転置する。 \begin{eqnarray*} w^t&=&(\Sigma^{-1}r\lambda_1+\Sigma^{-1}\mathbf{1}\lambda_2)^t \\ &=&(\Sigma^{-1}r)^t\lambda_1+(\Sigma^{-1}\mathbf{1})^t\lambda_2 \\ &=& r^t\Sigma^{-1}\lambda_1+\mathbf{1}^t\Sigma^{-1}\lambda_2 \end{eqnarray*} ここで、$(\Sigma^{-1})t=(\Sigma^t)^{-1}$と$\Sigma=\Sigma^t$から、$(\Sigma^{-1})^t=\Sigma^{-1}$を使っている。

そしてこの転置した$w^t$式を二つ目の式に代入する。三つ目の式は両辺を転置すると、$\mathbf{1}^tw=1$なので、$w$をそのまま代入する。 \begin{eqnarray*} && r^t\Sigma^{-1}r\lambda_1+\mathbf{1}^t\Sigma^{-1}r\lambda_2=r_p \\ &&\mathbf{1}^t\Sigma^{-1}r\lambda_1+\mathbf{1}^t\Sigma^{-1}\mathbf{1}\lambda_2=1 \end{eqnarray*}

一見すれば、すべての$\lambda$の係数に2次形式が現れてきていることに気づかれるだろう。 そして2次形式がスカラーとなることを思い出せば、この連立方程式はもはや単なる2元連立方程式なのである。

コンピュータが手じかで利用できる状況ではさほどでもないかもしれないし、計算量については別に評価しないといけないが、 初歩で学ぶn+2個の連立方程式は、行列の表記によって3本そして2本の連立方程式に単純化されたのである。

そこで係数を$A,B,C$としてつぎのように置き換える。 \begin{eqnarray*} &&A\lambda_1+B\lambda_2=r_p \\ &&B\lambda_1+C\lambda_2=1 \end{eqnarray*} $A,B,C$は上の$\lambda$の係数となる二次形式に対応していると見ていただければよい。 \[ A=r^t\Sigma^{-1}r,\quad B=\mathbf{1}^t\Sigma^{-1}r,\quad C= \mathbf{1}^t\Sigma^{-1}\mathbf{1} \]

変数の置換えが続くのでイメージがつかめるように、2資産として具体的に$A,B,C$を表しておこう。 余因子行列$(adjoint)$と行列式$(determinant)$を利用すれば、 \[ \Sigma^{-1}=\frac{adj\Sigma}{|\Sigma|} \] によって逆行列が求められるので、計算をがんばれば、 \begin{eqnarray*} A&=&\frac{r_1\sigma^2_{22}+r_2\sigma_{11}^2-2r_1r_2\sigma{12}}{\sigma_{11}\sigma_{22}-\sigma_{12}^2} \\ B&=&\frac{r_1(\sigma_{22}-\sigma_{12})+r_2(\sigma_{11}-\sigma_{12})}{\sigma_{11}\sigma_{22}-\sigma_{12}^2} \\ C&=&\frac{\sigma_{11}+\sigma_{22}-2\sigma_{12}}{\sigma_{11}\sigma_{22}-\sigma_{12}^2} \end{eqnarray*} である。できれば確認されたい。もとに戻れば単純な連立方程式なので直ちに解が得られる。 この例では適応するまでもないが、せっかくだから行列の解説テーマの定番であるクラーメルの公式を思い出されるとよい。

したがって、 \begin{eqnarray*} \lambda_1&=& \frac{Cr_p-B}{AC-B^2} \\ \lambda_2&=& \frac{A-Br_p}{AC-B^2} \end{eqnarray*} 故に、 \[ w=\Sigma^{-1}r\lambda_1+\Sigma^{-1}\mathbf{1}\lambda_2=\Sigma^{-1}\frac{r(Cr_p-B)+\mathbf{1}(A-Br_p)}{AC-B^2} \] となって、最小リスクとなる資産配分比率が求められた。

左辺は資産配分比率$w$の列ベクトルであるから、上から下に組入れ資産に対する比率が並んでいる。 中ほどの項は、$\Sigma^{-1}r$と$\Sigma^{-1}\mathbf{1}$のふたつの行列とベクトルの積にスカラーの係数をかけたものを、 足し算していることを表す。

二つの項は、いずれも行列に右から縦ベクトルを掛けたものであるから、演算の結果は縦ベクトルとなる。 そして縦ベクトルの和は当然縦ベクトルであって、その結果は左辺の配分比率となるのである。

たとえば2資産としてその一行目は、煩雑な計算を続けると、 \begin{eqnarray*} w_1&=& \frac{Cr_p-B}{AC-B^2}\frac{\sigma_{22}r_1-\sigma_{12}r_2}{\sigma_{11}\sigma_{22}-\sigma_{12}^2}+\frac{A-Br_p}{AC-B^2}\frac{\sigma_{11}r_2-\sigma_{12}r_1}{\sigma_{11}\sigma_{22}\sigma_{12}^2} \\ &=& \frac{\sigma_{22}-\sigma_{12}}{\sigma_{11}+\sigma_{22}-2\sigma_{12}} \end{eqnarray*} である。

続けてこの資産配分比率によるリスクの値を求めてみよう。上の$w,w^t$を代入して、 分散共分散行列の逆行列、転置行列の関係をうまく使って$A,B,C$に合わせると、 \[ \sigma_p^2=w^t\Sigma w=A\lambda_1^2+2\lambda_1\lambda_2B+C\lambda_2^2 \] とできるので、さきほどの$\lambda_1,\lambda_2$を代入する。 \begin{eqnarray*} \sigma_p^2&=&\frac{1}{(AC-B^2)^2}(A(Cr_p-B)^2+2B(Cr_p-B)(A-Br_p)+C(A-Br_p)^2)\\ &=& \frac{Cr_p^2-2Br_p+A}{AC-B^2} \end{eqnarray*} と得ることができる。

さらに、この最小リスクの投資配分比率を前提として、最小リスクにおけるポートフォリオの収益率を計算する。 平方完成してもよいのだが、ここでは微分して極値を求めていく。すると、 \[ \frac{\partial \sigma_p^2}{\partial r_p}=\frac{1}{AC-B^2}(2Cr_p-2B)=0 \] となるので、恒等的にこれが成立するためには、分子がゼロであればよいのだから、 \[ r_p=\frac{B}{C}=\frac{\mathbf{1}^t\Sigma^{-1}r}{\mathbf{1}^t\Sigma^{-1}\mathbf{1}}=\frac{r^t\Sigma^{-1}\mathbf{1}}{\mathbf{1}^t\Sigma^{-1}\mathbf{1}} \] と得ることができる。もちろんこの$\mathbf{1}^t\Sigma^{-1}$あるいは$\Sigma^{-1}\mathbf{1}$を部分的に除することはできない。 2資産として$B,C$を計算して、以前に求めたリスク最小化の解と同一であることを確認されたい。

何かの公式を単純に丸覚えすることはあまりお勧めできるものではないが、おおよその筋道や組み立てを理解しておけば、便利な公式を使わない手はない。 ここで求めた最小リスクの投資配分比率や、収益率の条件は、資産数をnとしていながら、 煩わしい表記から逃れ、規則的な形式となる。行列や行列式のプリミティブな目的のひとつは、 変数の数をnに増やしながら、あるルールを理解しておけば、そのnに振り回されることなく、議論や計算をすすめていけることである。

すなわち特に大きな括弧で変数や項目を縦横に並べて標記しなくても、定義やルールに則っていれば膨大な演繹のための計算が省かれ、 ときおり任意の行や列を検算することでどんどん議論をすすめていけるのである。 そのような主旨がこの例で多少なりとも感じ取っていただき、多数の変数を取り扱う行列と行列式をいっそう身近に感じていただければと思う。

 











「多数資産の組入れ」の項を参照されたい。





































inserted by FC2 system