多変数のモンテカルロシミュレーション

正規分布の場合

 複数のランダムな変数をシミュレーションする場合、互いに相関がない独立な乱数であれば個別に乱数を生成してシミュレーションを行うことができる。しかし、為替レートのような市場データの場合、相関がない独立な変数として扱うことができるケースというのは稀なことだろう。そのため、相関を反映した正規分布の乱数を生成する方法を考える必要がある。

 \(\small m \)個の正規乱数\(\small x_1,x_2,\cdots,x_m \)の相関係数$$ \small \rho_{ij} = \frac{\sum_{k=1}^n (x_i^{(k)}- \bar{x}_i) (x_j^{(k)}- \bar{x}_j)}{\left(\sum_{k=1}^n (x_i^{(k)}- \bar{x}_i)^2 \right) \left( \sum_{k=1}^n (x_j^{(k)}- \bar{x}_j)^2 \right)} $$を行列の形で表したもの$$ \small \Sigma = \left[ \begin{array}{cccc} 1&\rho_{12}&\cdots&\rho_{1m} \\ \rho_{21}&1&\cdots&\rho_{2m} \\ \vdots&\vdots&\ddots&\vdots \\ \rho_{m1}&\rho_{m2}&\cdots&1 \end{array} \right] $$を相関行列(Correlation Matrix)といい、この相関行列が与えられたときにそれを反映する正規乱数を生成したい、ということである。

 \(\small x_1,x_2,\cdots,x_m \)の標準偏差が1ならば、縦ベクトルにしたものを\( \small x \)とおくと\(\small E[xx^T] = \Sigma \)が成り立つべきとなる。相関行列は対称行列であるため、LU分解のように\(\small \Sigma = LL^{T} \)と下三角行列とその転置行列の積に分解することができることが知られている。この行列の分解をコレスキー分解(Cholesky Decomposition)という。独立な正規乱数\(\small \epsilon_1,\epsilon_2,\cdots, \epsilon_m \)と相関行列のコレスキー分解\( \small L \)を用いて、$$ \small x = \left[ \begin{array}{c} x_1 \\ x_2 \\ \vdots \\ x_m \end{array} \right] = \left[ \begin{array}{cccc} l_{11}&0&\cdots&0 \\ l_{21}&l_{22}&\cdots&0 \\ \vdots&\vdots&\ddots&\vdots \\ l_{m1}&l_{m2}&\cdots&l_{mm} \end{array} \right] \left[ \begin{array}{c} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_m \end{array} \right] $$とおけば、相関行列を反映した正規乱数\(\small x_1,x_2,\cdots,x_m \)を生成することができる。コレスキー分解は以下のアルゴリズムで手前の列\( \small (j) \)から順番に求めることができる。$$ \small l_{jj} = \sqrt{ 1 -\sum_{k=1}^{j-1} l_{jk}^2} \qquad \qquad \quad \;\; \\ \small \small l_{ij} = \frac{1}{l_{jj}} \left( \rho_{ij} -\sum_{k=1}^{j-1} l_{ik} l_{jk} \right), \;\; i > j $$ちなみに、Choleskyはフランス人であり、実際のフランス人の発音を聞くとショレスキー、もしくは、チョレスキーに近い感じだった記憶がある。

コピュラ(Copula)

 正規乱数の場合、コレスキー分解を用いてシミュレーションできたが、当然のことながら一様分布の場合やその他の確率分布の場合、そのまま適用することができない。また、観測できる相関係数が正規分布に近い性質のものであって、その相関係数を反映しつつ、一様分布でシミュレーションをしたいというケースが後ほど登場する予定である。このようにシミュレーションしたい確率分布とそれに反映したい相関構造の性質が異なっている場合にどのようにシミュレーションすればよいか、ということを説明する。

 これを実現するために用いられるのが、コピュラ(Copula)といわれる統計学の手法である。単純のために、正規分布の相関係数がわかっている事象について、その相関構造を用いつつ一様分布で多変数のシミュレーションをする方法を考える。\(\small x_1,x_2,\cdots,x_m \)が相関行列\(\small \Sigma \)の標準正規分布に従う正規乱数である場合、\(\small N(x_i) \)は一様分布に従う乱数になる。ここで、\( \small N(x) \)は標準正規分布の確率分布関数を表す。したがって、コレスキー分解を用いてシミュレーションした各正規乱数\(\small x_1,x_2,\cdots,x_m \)について、 \( \small (u_1,u_2,\cdots,u_m)=(N(x_1),N(x_2),\cdots,N(x_m)) \)とおけば、\( \small u_1,u_2,\cdots,u_m \)は標準正規分布の相関構造を引き継いだ一様分布に従う乱数になることがわかる。相関行列\(\small \Sigma \)の多変量正規分布に従う確率変数を$$ \small x_1,x_2,\cdots,x_m \sim N_{\Sigma}(x_1,x_2,\cdots,x_m) $$と表すと、この一様乱数を用いて$$ \small x_1,x_2,\cdots,x_m \sim N_{\Sigma}(N^{-1}(u_1),N^{-1}(u_2),\cdots,N^{-1}(u_m)) $$ と表すこともできる。この関数$$ \small C(u_1,u_2,\cdots,u_m) = N_{\Sigma}(N^{-1}(u_1),N^{-1}(u_2),\cdots,N^{-1}(u_m)) $$がコピュラ、あるいは、コピュラ関数といわれるものに相当する。特に、多変量正規分布のコピュラのことをガウシアン・コピュラ(Gaussian Copula)といい、頻繁に用いられる。

 一様分布について取り上げたが、任意の確率分布\(\small F(z) \)についても容易に拡張することができる。ガウシアン・コピュラから生成した一様乱数\( \small u_1,u_2,\cdots,u_m \)に逆関数を作用させた値はその確率分布に従う乱数になるため、\( \small (z_1,z_2,\cdots,z_m) = (F^{-1}(u_1),F^{-1}(u_2),\cdots,F^{-1}(u_m)) \)と置けば、ガウシアン・コピュラの相関構造を持った確率分布\(\small F(z) \)に従う多変数の乱数になる。ガウス型以外のコピュラ関数というのも多々提案されており、用途に応じて使い分けるのが良いと考えられる。このブログでは、ガウス型以外用いる予定が現状ないので詳しく取り扱うことはしない。

サブプライムモーゲージ

 余談ではあるが、上記で紹介したコピュラという概念は2000年代における金融技術革命の主役として知られている。というのも、コピュラの金融技術への活用によりサブプライムモーゲージ(借り手の信用力が低い住宅ローン)をはじめとする証券化商品の時価評価やリスク管理が劇的に進歩したと考えられていたからである(数学的な概念自体は1960年ごろから存在しており、特に新しいものではなかった。)。

 例えば、サブプライムモーゲージを扱う場合に重要となるのは債務不履行のリスクであり、貸出時点からいつの時点までにどれぐらいのローンが債務不履行になるかの確率分布はヒストリカルデータから容易に推定することができる(当然、正規分布や一様分布とは異なる確率分布になる。)。問題は債務不履行の発生時点に相関があることであり、その相関を反映してサブプライムモーゲージをプール(それらのローンをポートフォリオにしたもの)にした証券化商品の価値を推定するということが難しかったようである。これをコピュラを用いてシミュレーションを行うことで、相関を考慮した債務不履行のリスクを計測できることになったことで証券化商品の市場が急速に発展したというのが2000年代の前半の出来事であったようである。

 おそらく問題があったのは、相関構造の取り扱いがかなり適当であったということだろう。当然のことながら、相関係数は時間を通じて一定ではないし、証券化商品の時価評価やリスク管理で用いられるコピュラはガウシアン・コピュラであることが一般的であり、かつ、相関行列\(\small \Sigma \)は証券化商品の市場価格から逆算して推定した相関係数(インプライド・コリレーションといわれる。)を用いることが通常であった。市場価格が実態を反映していればよいが、バブルのような形で行き過ぎていれば、適切な時価評価やリスク管理などできず、その結果は多くの人が知るところだろう。ただ、コピュラという技術自体は普通に使えるものであり(このブログでも使う予定だが)、技術は使い方によって便利な道具にも問題を引き起こす毒にもなり得る、という良い事例なのだろうと思う。