位置: 数学編 第8回 / 前提: M7 / 数学編: なし / この回でできるようになること: 与えられた行列が共分散行列になり得るかを、正定値性で判定できる
目次
0. 物語 ― 対角成分が正でも正定値でない行列
天気予報のたとえで考えます。3つの都市の明日の気温を予測するとき、各都市の気温のばらつきはどれも正の値です。これは当然で、気温がまったくぶれないということはありえません。
ところが「3つの都市の気温がどれだけ連動するか」を数字にするとき、不注意に数字を書くと矛盾が生まれます。東京と大阪は強く連動し、東京と福岡も強く連動しているのに、大阪と福岡はまったく連動していない——こうした数字の組み合わせは、もっともらしく見えても、現実の気温データからは絶対に出てきません。
この矛盾は、もっと単純な例で確かめられます。2つの都市のばらつきを表にまとめるとき、表の対角線にはそれぞれの都市のばらつきの二乗が入ります。どちらも1で、正の値です。しかし連動の度合いを表す欄に2という大きすぎる値を入れてしまったとします。1つ目の都市の気温から2つ目を引いた値のばらつきの二乗を計算すると、答えはマイナス2です。ばらつきの二乗が負の数になるのは、降水確率がマイナスになるのと同じで、現実にはありえません。
「対角線がすべて正なのだから、表は正しいはずだ」——この直感は間違いです。表が整合しているかどうかは、対角線だけでは分かりません。必要なのは「どんな組み合わせを作っても、ばらつきの二乗が非負になる」という表全体の性質で、これを半正定値と呼びます。
この回では、ばらつきと連動の数字をまとめた表(共分散行列)が必ず半正定値であることを証明し、与えられた表が本当に共分散行列になれるかどうかを判定する具体的な方法を導きます。
1. 動機 ― 分散が負にならないことを行列で言う
この回を読み終えると、与えられた行列が共分散行列になり得るかを、正定値性で判定できます。
ポートフォリオの分散は非負です。当然のことに見えますが、これは共分散行列の性質として証明できます。
n 個の資産の収益率を確率変数 R1,…,Rn とし、保有比率を w=(w1,…,wn)⊤ とします。ポートフォリオの収益率は Rp=∑iwiRi であり、その分散は
と書けます。ここで Σ は共分散行列です。分散は定義から非負ですから、右辺の w⊤Σw もつねに非負のはずです。この「つねに非負」を行列の言葉で半正定値と呼びます。
逆に、もし行列が半正定値でなければ、ある保有比率で「分散が負」という不可能な値が出ます。相関係数を適当に並べると、この不可能なことが本当に起こります。今回はこれを証明し、正定値性の判定法を導き、壊れる例を数値で見ます。
この記事で証明すること
- THM-M8-1 任意の保有比率に対して、共分散行列による二次形式はポートフォリオ収益率の分散に等しく、したがって非負です。
- THM-M8-2 対称行列が正定値であることと、すべての首座小行列式が正であることは同値です。
- THM-M8-3 共分散行列が正定値でないことと、分散が 0 になる非零の保有比率が存在することは同値です。
この節のまとめ: 分散の非負性は、共分散行列の半正定値性として定式化できます。正定値性の判定と、壊れる例の構成が今回の目標です。
2. 設定と仮定 ― 対称行列と二次形式
n 次の実対称行列 A=(aij) に対し、x=(x1,…,xn)⊤∈Rn を変数とする二次形式を
Q(x)=x⊤Ax=i=1∑nj=1∑naijxixj(2.1)
で定義します。A が対称(aij=aji)であるため、クロス項は 2aijxixj の形にまとまります。
次の用語を導入します。
- 正定値: すべての x=0 に対し Q(x)>0。
- 半正定値(非負定値): すべての x に対し Q(x)≥0。
- 首座小行列式(leading principal minor): A の左上 k×k 部分行列の行列式を Δk と書きます。k=1,…,n の n 個あります。
共分散行列 Σ=(Cov(Ri,Rj)) は対称行列です。対角成分 Σii=Var(Ri)≥0 は各資産の分散であり、非対角成分 Σij=σiσjρij は相関係数 ρij を通じて正にも負にもなります。
この節のまとめ: 二次形式は対称行列とベクトルから作るスカラー値の関数であり、その符号が正定値・半正定値の定義を与えます。
3. 主張 ― 共分散行列は半正定値
3つの定理を述べます。
定理 THM-M8-1(共分散行列は半正定値)
R1,…,Rn を確率変数、Σ=(Cov(Ri,Rj)) を共分散行列とする。任意の w∈Rn に対し
である。
定理 THM-M8-2(正定値の同値条件)
n 次の実対称行列 A が正定値であることと、すべての首座小行列式 Δ1,Δ2,…,Δn が正であることは同値である。
定理 THM-M8-3(半正定値で正定値でない場合)
共分散行列 Σ が正定値でないことと、Var(∑iwiRi)=0 を満たす非零の w が存在することは同値である。このとき ∑iwiRi は確率 1 で定数である。
この節のまとめ: 共分散行列は自動的に半正定値であり、正定値かどうかは首座小行列式で判定できます。正定値でなければ分散 0 の非零ポートフォリオが存在します。
証明を読む(読まなくても記事は完結します)
4. 証明 ― 二次形式が分散そのものであることを示す
この節は読まなくても記事は完結します。
この証明を追いたい人は、数学編 第7回「ベクトル、行列、内積」へ。
THM-M8-1 の証明
Rp=∑i=1nwiRi とおきます。分散の定義を二次形式に結びつけるため、Var(Rp) を共分散で展開します。
Var(Rp)=Cov(Rp,Rp)=Cov(i=1∑nwiRi,j=1∑nwjRj).(4.1)
共分散の双線形性を使います。共分散は各引数について線形であるため(M7 で証明済み)、和を外に出せます。
Var(Rp)=i=1∑nj=1∑nwiwjCov(Ri,Rj).(4.2)
Cov(Ri,Rj)=Σij ですから、(4.2) の右辺は (2.1) の二次形式そのものです。
分散は定義から Var(Rp)=E[(Rp−E[Rp])2]≥0 です。期待値の中身が二乗なので非負であり、その期待値も非負です。よって任意の w に対し w⊤Σw≥0 が成り立ちます。 ∎
THM-M8-2 の証明
n についての帰納法で示します。
基底: n=1。 A=(a11) が正定値であることは、任意の x=0 に対して a11x2>0 であること、すなわち a11>0 と同値です。首座小行列式は Δ1=a11 のみなので、主張が成り立ちます。
帰納段階: n−1 で成立を仮定し、n で示す。
(⇒) 正定値 ⇒ Δk>0 (k=1,…,n)。
A が正定値とします。k≤n を任意に取ります。x=(x1,…,xk,0,…,0)⊤ の形のベクトルを考えると
x⊤Ax=i=1∑kj=1∑kaijxixj=y⊤Aky
となります。ここで y=(x1,…,xk)⊤、Ak は A の左上 k×k 部分行列です。x=0 のとき y=0 ですから、A の正定値性より y⊤Aky>0 です。したがって Ak も正定値です。
Ak が正定値であることから Δk=detAk>0 を、k についての帰納法で示します。k=1 では Δ1=a11 であり、y=(1) を代入すると a11>0 です。k≥2 とし、Δk−1>0 まで示されたとします。Ak−1 も正定値なので逆行列をもちます(Ak−1v=0 ならば v⊤Ak−1v=0 となり、正定値性から v=0 だからです)。Ak を下の (4.3) と同じ形に、左上 Ak−1、右上の列ベクトル b、右下 akk にブロック分解します。このとき、下の (⇐) で使うブロック行列の行列式の公式から Δk=Δk−1(akk−b⊤Ak−1−1b) です。一方、非零ベクトル y=((−Ak−1−1b)⊤,1)⊤ を代入すると、(4.4) で u=0, z=1 とした場合にあたり、y⊤Aky=akk−b⊤Ak−1−1b となります。Ak の正定値性からこの値は正です。Δk−1>0 と合わせて Δk>0 です。
(⇐) Δk>0 (k=1,…,n) ⇒ 正定値。
帰納法の仮定より、左上 (n−1)×(n−1) 部分行列 An−1 は正定値です。A を次のようにブロック分解します。
An−1 は正定値なので逆行列が存在します。x=(y⊤,z)⊤ に対して平方完成を行います。二次形式を z について整理する目的で、y と z の混合項を消す変換を施します。
x⊤Ax=y⊤An−1y+2b⊤yz+annz2.
y を y=u−An−1−1bz と置き換えます(u は新しい変数)。混合項を消すためにこの形を選びます。展開すると
(u−An−1−1bz)⊤An−1(u−An−1−1bz)+2b⊤(u−An−1−1bz)z+annz2=u⊤An−1u+(ann−b⊤An−1−1b)z2.(4.4)
ここで ann−b⊤An−1−1b はシューア補行列と呼ばれるスカラーです。ブロック行列の行列式の公式から
detA=detAn−1⋅(ann−b⊤An−1−1b)
が成り立ちます。Δn=detA>0 かつ Δn−1=detAn−1>0 なので
ann−b⊤An−1−1b=Δn−1Δn>0.(4.5)(4.4)
THM-M8-3 の証明
Σ は半正定値です(THM-M8-1)。Σ が正定値でないとは、ある w=0 に対し w⊤Σw=0 となることです(半正定値なので負にはならないため、正定値でないことは零になるベクトルの存在と同値です)。
(⇒) 正定値でない ⇒ 分散 0 の非零ポートフォリオが存在する。
w=0 で w⊤Σw=0 を取ります。THM-M8-1 より
分散が 0 なので、∑iwiRi は確率 1 で定数(期待値に等しい値)を取ります。分散 0 であることと確率 1 で定数であることの同値性は、E[(X−E[X])2]=0 ならば X=E[X] が確率 1 で成り立つことから従います。
(⇐) 分散 0 の非零ポートフォリオが存在する ⇒ 正定値でない。
w=0 で Var(∑iwiRi)=0 とします。THM-M8-1 より w⊤Σw=0 です。w=0 なのに w⊤Σw=0 ですから、正定値の定義を満たしません。 ∎
金融上の意味を補足します。∑iwiRi が定数ということは、その保有比率で組んだポートフォリオの収益率に不確実性がないということです。これは資産間に完全な線形関係(冗長性)があることを意味します。
5. 反例 ― 正定値でない相関行列
CEX-M8-1: 相関係数を自由に並べると壊れる
各成分が [−1,1] に入っていれば相関行列になると思われがちですが、そうとは限りません。次の行列を考えます。
C=10.90.90.91−0.50.9−0.51
対角成分はすべて 1、非対角成分はすべて [−1,1] に入っています。対称でもあります。しかし首座小行列式を計算すると
です。Δ3<0 なので、THM-M8-2 より正定値ではありません。さらに Δ3<0 は半正定値でもないことを意味します(半正定値なら行列式は非負)。
w=(1,−1,−1)⊤ で二次形式を計算すると
もしこの C を相関行列と見なしてボラティリティ σ1=0.2, σ2=0.3, σ3=0.25 を掛けた共分散行列を作ると、同じ保有比率で「分散」が −0.0805 になります。分散が負という物理的にあり得ない結果です。
CEX-M8-2: 対角成分が正でも正定値とは限らない
対角成分はどちらも 1>0 です。しかし Δ2=1⋅1−2⋅2=−3<0 なので正定値ではありません。w=(1,−1)⊤ を取ると w⊤Aw=1−2−2+1=−2<0 です。対角成分だけでは正定値性を判定できません。
CEX-M8-3: 首座小行列式が非負でも半正定値とは限らない
THM-M8-2 は正定値の判定法であり、「Δk≥0」に置き換えれば半正定値が判定できるわけではありません。次の行列がその反例です。
首座小行列式は Δ1=0, Δ2=0, Δ3=0 ですべて非負です。しかし w=(0,0,1)⊤ に対して w⊤Aw=−1<0 です。半正定値ではありません。
この節のまとめ: 相関係数が個別に [−1,1] に入っていても整合性が保証されるわけではなく、行列全体の正定値性を確認する必要があります。
6. 数値例 ― 分散が負になる組み合わせを作る
正定値な共分散行列の例と、正定値でない場合を数値で比較します。
正定値な共分散行列
3資産で σ1=0.2, σ2=0.3, σ3=0.25、ρ12=0.5, ρ13=0.3, ρ23=0.4 とします。
Σ=0.040.030.0150.030.090.030.0150.030.0625
首座小行列式は Δ1=0.04, Δ2=0.0027, Δ3=0.0001395 ですべて正です。THM-M8-2 より正定値です。
いくつかの保有比率で二次形式(=分散)を計算します。
| w⊤ |
w⊤Σw |
| (1/3,1/3,1/3) |
137/3600≈0.0381 |
| (1/2,1/2,0) |
19/400=0.0475 |
| (1,0,0) |
1/25=0.04 |
| (1/4,1/2,1/4) |
293/6400≈0.0458 |
| (2,−1,0) |
13/100=0.13 |
すべて正です。空売りを含む (2,−1,0) でも分散は正であり、正定値な行列ではどの方向でも二次形式が正であることが確認できます。
正定値でない相関行列で分散が負になる
CEX-M8-1 の不正な相関行列 C にボラティリティを掛けた「共分散行列もどき」は
Σbad=0.040.0540.0450.0540.09−0.03750.045−0.03750.0625
です。w=(1,−1,−1)⊤ に対して
w⊤Σbadw=−2000161=−0.0805.
分散が負です。この「共分散行列」は実際にはどの確率変数の共分散行列にもなり得ません。
分散が 0 になる保有比率
2資産で σ1=0.2, σ2=0.4, ρ12=1(完全正相関)とします。
detΣ=0.04×0.16−0.082=0 なので半正定値ですが正定値ではありません。
w=(2,−1)⊤ に対して w⊤Σw=4×0.04+2×2×(−1)×0.08+1×0.16=0 です。THM-M8-3 の通り、分散 0 の非零ポートフォリオが存在します。金融上の意味は、資産 2 が資産 1 のちょうど 2 倍のボラティリティで完全に連動しているので、「資産 1 を 2 単位買い、資産 2 を 1 単位売る」と不確実性が完全に消える、ということです。
この節のまとめ: 正定値な共分散行列ではどの保有比率でも分散が正になりますが、不正な相関行列を使うと分散が負になり、完全相関では分散 0 のポートフォリオが構成できます。
7. 次回へ ― 固有値と主成分
今回は二次形式と正定値性を、首座小行列式で判定しました。しかしこの判定法は「すべての方向で正になるか」を直接的に見ているわけではありません。
次回 M9 では、対称行列を直交変換で対角化することで、二次形式を主軸方向に分解します。イールドカーブの動きが「水準・傾き・曲率」の3つに集約される仕組みが、そこから出てきます。効率的フロンティアの導出でもこの道具を使います。
よくある質問
正定値とは何ですか
どの向きに組み合わせても分散が正になる、という性質です。
相関係数を適当に決めるとどうなりますか
整合しない組み合わせだと、ある保有比率で分散が負という不可能な値が出ます。
半正定値と正定値の違いは何ですか
分散が 0 になる組み合わせがあるかどうかです。あれば冗長な資産が混ざっています。
参考文献
- 齋藤正彦、線型代数入門、東京大学出版会、1966年
- Horn R. A. and Johnson C. R.、Matrix Analysis、第2版、Cambridge University Press、2012年
数値例は compute.py により有理数演算で検算済み。本文中の小数は4桁で丸めている。