金融ネタとか備忘録とか

社会人6年目になりました(23年4月)。個人的に勉強したことをメモしていきます(2018年3月)。

日本国債金利の主成分分析

概要

  • 今更ながら金利モデルに興味が出てきたので,記事を書いてみた

  • 主成分分析を用いて,日本国債金利の構造を推計してみた

  • (もちろん,今回も内容の信ぴょう性はありません)

Nelson-Siegelモデルについて

 金利の期間構造に関するモデルは,たくさんある *1

 Nelson-Siegelモデル*2は,その代表的なモデルである。 このモデルは,スポットレートカーブの構造を比較的に単純に説明することができる。

 残存期間mのフォワードレートをr(m)とする。

 r(m) = \beta_{0} + \beta_{1} \exp( - m / \tau ) + \beta_{2} [ (m / \tau ) \exp ( - m / \tau ) ]

 残存期間mのスポットレートをR(m)とすると,R(m)はフォワードレートの平均値である。

 R(m) = 1/m \int_{0}^{m} r(x) dx

 この2つの式を組み合わせる。

 R(m) = \beta_{0} + \beta_{1} [ \frac{1 - \exp ( -m / \tau )}{ ( m / \tau ) } ] + \beta_{2} [ \frac{ 1 - \exp ( - m / \tau ) }{ (m / \tau ) } - \exp( - m / \tau ) ]

ここで,各パラメータβ0,β1,β2,τが時変的(time-varying)であると仮定すると, ダイナミックなNelson-Siegelモデルとなる。

 R(m) = \beta_{0t} + \beta_{1t} [ \frac{1 - \exp ( -m / \tau_{t} )}{ ( m / \tau_{t} ) } ] + \beta_{2t} [ \frac{ 1 - \exp ( - m / \tau_{t} ) }{ (m / \tau_{t} ) } - \exp( - m / \tau_{t} ) ]

ダイナミックなNelson-Siegelモデルにおいて,

  1. β0は,カーブ全体の高低を規定する「水準ファクター(Level)」

  2. β1は,カーブの角度を規定する「傾きファクター(Slope)」

  3. β2は,カーブの湾曲の程度を規定する「曲率ファクター(Curvature)」

を表す。

 一方で今回の記事では,主成分分析を用いてイールドカーブの構造分解をおこなう*3

主成分分析による推定では,イールドカーブの変動のほぼ全てが第一主成分から第三主成分の3つの共通成分によって説明できるとされている。

第一主成分は水準(Level),第二主成分は傾き(Slope),第三主成分は曲率(Curvature)を表していると解釈される。

データの取得

スポットレートのデータを使ってイールドカーブの構造を推定したかったが, データをうまくゲットできなかった(日本相互証券のHPとかいろいろ見たが)ので, 財務省が公表している国債金利情報で代用*4

取得するデータは,2001年1月から2017年7月までの月次データ(月末値)。年限は1年物から20年物まで。

プロットして動きを見てみる。 f:id:shiba_ryu0209:20170831104952j:plain

分析っぽいこと

国債金利データを直接,主成分分析をしてみる(定常性とか変化率云々の議論は知らない)。

読み込んだ金利データをxts型に変換し,princompを使って主成分分析。

#主成分分析
pca <- princomp((coredata(yield)), cor = T) #相関係数行列について主成分分析
summary(pca)

分析結果は,次のように。

Importance of components:
                          Comp.1     Comp.2     Comp.3     Comp.4       Comp.5       Comp.6       Comp.7       Comp.8       Comp.9      Comp.10      Comp.11
Standard deviation     3.2906484 0.96200235 0.46598691 0.12134893 0.0793525441 0.0574088587 0.0457253972 0.0381286418 0.0238068720 1.710747e-02 1.379945e-02
Proportion of Variance 0.9023639 0.07712071 0.01809532 0.00122713 0.0005247355 0.0002746481 0.0001742343 0.0001211494 0.0000472306 2.438879e-05 1.586874e-05
Cumulative Proportion  0.9023639 0.97948464 0.99757996 0.99880709 0.9993318240 0.9996064721 0.9997807064 0.9999018559 0.9999490865 9.999735e-01 9.999893e-01
                           Comp.12
Standard deviation     0.011308049
Proportion of Variance 0.000010656
Cumulative Proportion  1.000000000

第三主成分までで累積寄与率(Cumulative Proportion)が約99.76%となる。 よって先述したように,イールドカーブの変動のほぼ全てが第三主成分までの3つの共通成分によって説明されるようだ。

国債の各年物に対するファクター・ローディングを見ると,次の通り。 f:id:shiba_ryu0209:20170831114836j:plain

また,分析したデータの期間におけるファクターの推移を見ると,次の通り。 f:id:shiba_ryu0209:20170831122037j:plain

基本的にイールドカーブの変動は第一主成分,すなわち水準ファクターによってもたらされたようだ。 ただし,実際のイールドカーブの推移(フラットニング)に合わない印象。

-1を乗じると,現実に合うようないい具合になった↓。 f:id:shiba_ryu0209:20170831123824j:plain

補足・感想
  • 証券アナリストジャーナルに主成分分析を用いてバーベルロング-ブレッドショート等の市場運用の観点から金利構造を分析している 論文があったので,いつかそういう分析をしてみたい

  • 米国債などでも分析してみたい

  • 追記(2018.1.4)

どうやらカーブ取引など実務で使う際は利回りを事前に標準化してから,主成分分析にかけるようだ。この記事はそれを反映していないため…ちゃんとした推計とは言えないかもしれない…。

*1:たとえば,木島(1999)がある。

期間構造モデルと金利デリバティブ (シリーズ 現代金融工学)

期間構造モデルと金利デリバティブ (シリーズ 現代金融工学)

*2:http://www.math.ku.dk/~rolf/teaching/NelsonSiegel.pdf

*3:主成分分析は,永田・棟近(2001)を参照。

多変量解析法入門 (ライブラリ新数学大系)

多変量解析法入門 (ライブラリ新数学大系)

*4:http://www.mof.go.jp/jgbs/reference/interest_rate/index.htm