メインコンテンツまでスキップ

正規分布(多変量)

リスク管理の要正規分布(多変量)

ポートフォリオ

大金持ちのあなたは、有り余る資産をどうしたものかと日々悩んでいます。あれこれ考えて土地、国内企業の株、海外企業の株、日本国債、金、ドル、ユーロ...様々な形で資産を保有することにしました。
それぞれの資産の価値は日々、否、時々刻々と変動しています。それぞれの資産の価値の変動は**正規分布(単変量)に従うとみなされます。気になるのは資産全体の価値の変動です。はたしてどのような変動に従うのでしょうか?
それぞれの資産価値がてんで勝手に変動するならば答えは簡単ですが、例えばドルが安くなると国内の株価が下がるなど、これらの資産はお互いに関連しあいながら変動することが分かっています。 つまり、各資産の変動を表す正規分布の情報(平均標準偏差)に加えて、お互いにどのように関連しているかを表す情報が必要になります。それが
相関**です。

相関係数

2変量の場合を考えてみましょう。標準正規分布に従っている2つの乱数 z1,;z2z_1,;z_2 を用意します。相関は相関係数 ρ\rho(ギリシャ文字で "ロー")と表記される場合が多く、

1ρ1-1\leq \rho\leq 1

という範囲の値を取ります。ρ\rho の値によって

  • ρ=0\rho = 0:無相関
  • ρ>0\rho > 0:正の相関
  • ρ<0\rho < 0:負の相関

と分類されます。またρ=±1\rho =\pm 1 の場合を完全相関といいます。\

相関行列

変数の数が3つになると、相関係数は変数の全てのペアで定義されます。変数1と変数2の相関係数をρ12\rho_{12}のように書きます。ρ12=ρ21\rho_{12}=\rho_{21} であることに注意すれば、 結局ρ12\rho_{12}ρ13\rho_{13}ρ23\rho_{23} の3つが必要となります。
さらに拡張して nn 個の変数がある場合は、

(1ρ12ρ13ρ1nrho121ρ23ρ2nvdotsrho1nρ2nρ3n1)\begin{pmatrix}1&\rho_{12}&\rho_{13}&\cdots&\rho_{1n}\\rho_{12}&1&\rho_{23}&\cdots&\rho_{2n}\\vdots&\vdots&\vdots&\ddots&\vdots\\rho_{1n}&\rho_{2n}&\rho_{3n}&\cdots&1\end{pmatrix}

のように各相関係数を並べた相関行列によって変数間の相関が記述されます。

分布の形状

基本情報

  • 変数の数が nn の場合、各変数の平均(nn 次元ベクトル)、各変数の標準偏差(nn 次元ベクトル μ\mu)、および各変数間の相関係数(n×nn\times n 行列。相関行列と呼ばれる)が必要です(実際には、標準偏差ベクトルと相関行列から求められる分散共分散行列 Σ\Sigma が計算に用いられます)。
  • nn 次元のユークリッド空間 RnR^{n} で定義される連続分布。

確率

  • 確率密度関数

    f(x)=1(2π)n/2Σ1/2exp[12(xμ)Σ1(xμ)]f(x)=\frac{1}{(2\pi)^{n/2}\left|{\boldsymbol \Sigma}\right|^{1/2}}\exp\left[-\frac{1}{2}({\boldsymbol x}-{\boldsymbol \mu})^\prime{\boldsymbol \Sigma}^{-1}({\boldsymbol x}-{\boldsymbol \mu})\right]
  • Excel での累積分布関数 (c.d.f.) と 確率密度関数 (p.d.f.)の求め方

AB
1データ説明
21.5第1変数の対象となる値
3-1第2変数の対象となる値
41.5第1変数の平均 M1
5-1.2第2変数の平均 M2
62第1変数の標準偏差 Sigma1
70.7第2変数の標準偏差 Sigma2
80.5相関係数 Rho
9数式説明(計算結果)
10=NTBINORMDIST((A2-A4)/A6,(A3-A5)/A7,A8,TRUE)上のデータに対する累積分布関数の値
11=NTBINORMDIST((A2-A4)/A6,(A3-A5)/A7,A8,FALSE)上のデータに対する確率密度関数の値

  • 関連 NtRand 関数 : NTBINORMDIST
  • 第4引数がTRUEの場合のNTBINORMDISTNTBINROMDISTは、相関係数が ρ=±1\rho=\pm 1 かつ x1=x2x1=x2 の場合にエラーとなります。

乱数

Excel での乱数生成法

ABCD
1データデータデータ説明
21.440.48-0.36cov. matrix
30.480.640cov. matrix
4-0.3600.25cov. matrix
5データデータデータ説明
6123mean vector
7数式説明 (計算結果)
8=NTRANDMULTINORM(100,A2:C4,A6:C6)(100×3)個の正規乱数を Mersenne Twister アルゴリズムで生成します。

メモ: この使用例の数式は、配列数式として入力する必要があります。使用例を新規ワークシートにコピーした後、A8:B1074 のセル範囲 (配列数式が入力されているセルが左上になる) を選択します。F2 キーを押し、Ctrl キーと Shift キーを押しながら Enter キーを押します。この数式が配列数式として入力されていない場合、単一の値 2 のみが計算結果として返されます。

関連 NtRand 関数

参照