Mais conteúdo relacionado
TokyoR_日銀のマクロストレステストをRで追う
- 2. 自己紹介
• 出井(でい) 基晴
• @ActuaryDay
• アクチュアリー会正会員(理事長賞)
• 保険数理、年金数理、企業価値計量、リスク管理
• 奈良 出身
• 大学時代は建築設計を専攻(妹島和世賞)
• 1年前の僕:「R?何それおいしいの?」
• 現在の僕:「plotの設定難しいれす(^ρ^)」
- 3. アクチュアリーって?
(念のため補足:アクチュアリーにも生保・損保・年金の三種類あって以下は生保について)
• 保険数理
– 保険の「保険料」の計算が一番の基本
– 死亡率・癌発生率・入院発生率・・・
⇒統計(もどき)を使う
– 割引計算をする
⇒資産運用を前提とするので資産側も(一応)気にする
• 企業価値計量
– 保険契約からの将来利益のシュミレーション
– リスクの計量
• リスク管理
– リスク要因の把握・特定
– 発生頻度と影響度の評価
– リスクに対する(経営)アクションの策定
- 6. ストレステストとは?
• 「例外的だが蓋然性のある」ストレスシナリオを想定し
て、その状況下での損害の程度や回避策をあらかじ
めシミュレーションするためのテスト
– 例えば「リーマンショックレベルの株価下落イベントがもう
一度起きて金融システムは大丈夫なのか?」
– 漠然とした不安「何かすごいショックが起きたら大丈夫な
のかな・・どうすればいいのかな・・」を実際にやってみて
確認する
• 最近新聞紙面で出てきた中では・・・
– ギリシャ経済危機のEU諸国の銀行のストレステスト
– 原発のストレステスト
- 7. マクロストレステスト by日銀
• 以下の各リスクに対してマクロ経済へのストレスがかかっ
た時への、銀行の自己資本(Tier1)比率への影響を算出
– 銀行貸出の信用リスク+政策保有株の株式リスク
←実質GDPとTOPIXへの確率5%(20年に1度レベル)の同時ショックが起
きた時の銀行貸出と銀行保有株式へのショック
– 金利上昇リスク
←3種類の金利上昇ショックが起きた時の利息収益と銀行保有債券の
価格下落ショック
– 海外市場のショックに対する有価証券の時価損失リスク
←欧州株価とドイツ国債金利への確率1%ショックが起こった時の銀行
保有有価証券価格へのショック
– 外貨流動性リスク
←外貨スワップ市場、レポ市場、CD・CP市場が1か月機能不全に陥る
– 海外市場ショックの場合の金融資本市場と実体経済の相乗作
用による損失の拡大リスク
- 8. テストの流れ
• 以下の各リスクに対してマクロ経済へのストレスがかかっ
た時への、銀行の自己資本(Tier1)比率への影響を算出
– 銀行貸出の信用リスク+政策保有株の株式リスク
信用コストモデル
実質実効為替 貸出先企業の
債務者区分
レート 財務状況 信用コスト
の遷移確率*
(ICR, 当座比率)
確率5%の 実質GDP
ショック 成長率低下に伴う悪影響
GDPデフレータ 名目GDP Tier I 比率
株式評価額シミュレーション
確率5%の TOPIX 株価 市場ベータ 株式評価損益
ショック
収益シミュレーション
長期貸出金利 長期貸出金利 貸出利鞘 コア業務純益
VARモデル
民間予測機関
経済見通し
- 9. テストの流れ
• 以下の各リスクに対してマクロ経済へのストレスがかかっ
た時への、銀行の自己資本(Tier1)比率への影響を算出
– 銀行貸出の信用リスク+政策保有株の株式リスク
実質実効為替
レート
全部は多すぎるので今回はこれだけで・・・
確率5%の 実質GDP
ショック
GDPデフレータ
株式評価額シミュレーション
確率5%の TOPIX 株価 市場ベータ 株式評価損益
ショック
長期貸出金利
VARモデル
- 10. テストの流れ
• 以下の各リスクに対してマクロ経済へのストレスがかかっ
た時への、銀行の自己資本(Tier1)比率への影響を算出
– 銀行貸出の信用リスク+政策保有株の株式リスク
実質実効為替
レート
確率5%の 実質GDP
ショック
GDPデフレータ
株式評価額シミュレーション
確率5%の TOPIX 株価 市場ベータ 株式評価損益
ショック
長期貸出金利
VARモデル
マクロ経済指標を用いた分析 銀行ごとの分析
- 11. VARモデルを用いて
マクロ経済にストレスをかける
• VAR (Vector AutoRegression)モデル?
(図はk=2の場合)
株価
GDP 金利
株価
相関
FX t -3
GDP
金利
t -1
FX
株価
t 金利 t -4
GDP
FX
t-2
- 12. VARモデルを用いて
マクロ経済にストレスをかける
• VAR (Vector AutoRegression)モデル?
(図はk=2の場合)
株価
GDP 金利
株価 ショック発生!!
相関
FX t -3
GDP
金利
t -1
FX
株価
t 金利 t -4
GDP
FX
t-2
- 13. VARモデルを用いて
マクロ経済にストレスをかける
• VAR (Vector AutoRegression)モデル?
(図はk=2の場合)
株価
GDP 金利
株価
相関
FX t -3
GDP
金利
t -1
FX
株価
t 金利 t -4
GDP
FX
t-2
- 14. VARモデルを用いて
マクロ経済にストレスをかける
• VAR (Vector AutoRegression)モデル?
(図はk=2の場合)
株価
GDP 金利
株価
相関
FX t -3
GDP
金利
t -1
FX
株価
t 金利 t -4
GDP
FX
t-2
- 15. VARモデルを用いて
マクロ経済にストレスをかける
• VAR (Vector AutoRegression)モデル?
(図はk=2の場合)
ショックの伝播!! 株価
GDP 金利
株価
相関
FX t -3
GDP
金利
t -1
FX
株価
t 金利 t -4
GDP
FX
t-2
- 16. VARモデルを用いて
マクロ経済にストレスをかける
• VAR (Vector AutoRegression)モデル?
ショックの伝播!!
- 17. VARモデルを用いて
マクロ経済にストレスをかける
• VAR (Vector AutoRegression)モデル?
ショックの伝播!!
• 特定の時点で特定のマクロ指標に起こったショックが、将
来にわたってその他のマクロ指標にどのようにショックを
伝播していくかをシュミレーションできる
- 18. VARモデル on R
実質実効為替
レート
確率5%の 実質GDP
ショック
GDPデフレータ
株式評価額シミュレーション
確率5%の TOPIX 株価 市場ベータ 株式評価損益
ショック
長期貸出金利
VARモデル
- 19. VARモデル on R
• 実装例
• データは前もってRFinanceYJパッケージや、日銀、内閣府の
HPから収集しておく
(← 良い取集パッケージがあれば教えてください)
#パッケージvars
library(vars)
#データはあらかじめ用意
datafile <- read.csv("data.csv")
#VAR関数でファクターの較正
p2ct<-VAR(datafile,p=2,type="both")
#ショック伝播の関数をirf関数で算出
var.irf <- irf(p2ct, response=c("EFEXRIND","REGDP","GDPDEF","TOPIX","LPRIMR_LOG"), n.ahead=19, boot=F)
#実質GDPとTOPIXへのそれぞれのショック
shock.ByrealGDP <- var.irf$irf$REGDP
shock.ByTOPIX <- var.irf$irf$TOPIX
shock <- shock.ByrealGDP + shock.ByTOPIX
shockToTOPIX <- shock[,4]
- 20. VARモデル on R
#predict関数で将来のマクロ指標を予測
pp2ct <- predict(p2ct,n.ahead=20)
TOPIXfcstn <- pp2ct$fcst$TOPIX[,1]
#ショック後のTOPIXとして5%ショックを与えたものを算出
TOPIXfcstnAfterShock <- TOPIXfcstn + shockToTOPIX * (-1.64)
TOPIXfcst <- c(datafile[,4],TOPIXfcstn)
TOPIXfcstAfterShock <- c(datafile[,4], TOPIXfcstnAfterShock)
#ここからエクセル作業
excel.w <- function(dat){
write.table(dat, "clipboard", sep="¥t", row.names = FALSE)
}
excel.w(TOPIXfcst)
#ここで一度エクセルに貼り付け
excel.w(TOPIXfcstAfterShock)
#再度エクセルに貼り付け
- 21. 500
600
700
800
900
1000
1100
1200
Sep‐08
Apr‐09
Nov‐09
Jun‐10
Jan‐11
Aug‐11
Mar‐12
Oct‐12
TOPIX
May‐13
Dec‐13
Jul‐14
Feb‐15
Sep‐15
VARモデル on R
Apr‐16
Nov‐16
ショック無
ショック有
- 22. 銀行ごとの株式評価損益分析
実質実効為替
レート
確率5%の 実質GDP
ショック
GDPデフレータ
株式評価額シミュレーション
確率5%の TOPIX 株価 市場ベータ 株式評価損益
ショック
長期貸出金利
VARモデル
マクロ経済指標を用いた分析 銀行ごとの分析
- 24. 銀行ごとの株式評価損益分析
• 銀行ごとの保有株式評価損益計算
– 以下の計算を銀行ごとに行い、銀行ごとの株式
評価額変動を計算する
銀行Aの保有株式 各銘柄
ポートフォリオ T 市場ベータ
銘柄①価額 銘柄①β
銘柄②価額 銘柄②β
× × TOPIXの変動
銘柄③価額 銘柄③β
・ ・
・ ・ VARモデル
・ ・ の結果
- 25. 銀行ごとの株式評価損益分析
• ・・・と簡単そうに書きましたが、作業的には超大
変そうです・・・
• ①対象とする全銀行(大手行~地銀)の保有株
式銘柄を確認する作業
– 銀行単位では公表されていないので、逆に株式発行
者(トヨタ株なら「トヨタ自動車株式会社」)の有価証券
報告書に記載されている「大株主の状況」の情報を
全上場企業分(3~4,000社)丹念に集めて確認したら
しい・・・
• ②銘柄ごとの市場ベータを計算する作業
– 全対象銘柄の市場ベータを計算している
- 26. 銀行ごとの株式評価損益分析
on R
• 実装例
• 実際の銀行の保有銘柄を調べるのはあまりにも面倒なので、
今回は仮想銀行がIT株、インフラ株、製造業株、小売業株を
25億円ずつ持っているとしてこの銀行にショックを与える
library(RFinanceYJ)
#指標(TOPIX) 998405
ST0 <- quoteStockTsData("998405",since="2007-01-01", time.interval="monthly")
#IT株 ヤフージャパン 4689
ST1 <- quoteStockTsData("4689",since="2007-01-01", time.interval="monthly")
#インフラ株 JR東日本 9020
ST2 <- quoteStockTsData("9020",since="2007-01-01", time.interval="monthly")
#製造業株 トヨタ 7203
ST3 <- quoteStockTsData("7203",since="2007-01-01", time.interval="monthly")
#小売株 ローソン 2651
ST4 <- quoteStockTsData("2651",since="2007-01-01", time.interval="monthly")
ST <-data.frame(ST0=ST0[,5],ST1=ST1[,7],ST2=ST2[,7],ST3=ST3[,7],ST4=ST4[,7])
#変動率の計算
IncST <- ST[2:70,]/ST[1:69,]-1
- 27. 銀行ごとの株式評価損益分析
on R
#それぞれのβの計算
ST1.lm <- lm(ST1~ST0, data=IncST)
ST1.beta <- ST1.lm$coefficients[2]
ST2.lm <- lm(ST2~ST0, data=IncST)
ST2.beta <- ST2.lm$coefficients[2]
ST3.lm <- lm(ST3~ST0, data=IncST)
ST3.beta <- ST3.lm$coefficients[2]
ST4.lm <- lm(ST4~ST0, data=IncST)
ST4.beta <- ST4.lm$coefficients[2]
ST.beta <- rbind(ST1.beta, ST2.beta, ST3.beta, ST4.beta)
#TOPIXへのショック1に対する、仮想銀行の資産(銘柄ST1~ST4が25億ずつで100億)の変動額の算出
STVariance <- as.numeric( 10^10 * t(as.matrix(rep(0.25,4)))%*%as.matrix(ST.beta))
#VARモデルでのショックから1年後(4四半期後)のTOPIXの下落率
TOPIXvar.1yrAfterShock <- TOPIXfcstAfterShock[nrow(datafile)+4]/datafile$TOPIX[nrow(datafile)]-1
#対象とする銀行の保有株式評価損
STLoss <- STVariance * TOPIXvar.1yrAfterShock
- 28. 銀行ごとの株式評価損益分析
on R
0.59 0.43
ベータ: TOPIX vs. ヤフージャパン ベータ: TOPIX vs. JR東日本
1.03 0.14
ベータ: TOPIX vs. トヨタ ベータ: TOPIX vs. ローソン
- 29. 銀行ごとの株式評価損益分析
on R
T
TOPIX
1200
IT株25億円 IT株β 1100 ショック有
0.59 ショック無
1000
インフラ株25億円 インフラ株β 900
0.43 800
製造業株25億円 × 製造業株β
1.03
× 700
600
500
Apr‐09
Apr‐16
Sep‐08
Feb‐15
Sep‐15
Jun‐10
Jul‐14
Mar‐12
Dec‐13
Aug‐11
Oct‐12
Nov‐09
Jan‐11
Nov‐16
May‐13
小売業株25億円 小売業株β
0.14
1年後に20.6%下落
計算結果:
この仮想銀行の保有株式100億円にはショック後1年で11.3億円の
株式評価損が発生!
- 30. 結果まとめ
TOPIX
1200
1100 ショック有
ショック無
1000
900
800
700
600
500
実質実効為替
Apr‐09
Apr‐16
Sep‐08
Feb‐15
Sep‐15
Jun‐10
Jul‐14
Mar‐12
Dec‐13
Aug‐11
Oct‐12
Nov‐09
Jan‐11
Nov‐16
May‐13
レート
確率5%の 実質GDP
ショック
GDPデフレータ
株式評価額シミュレーション
確率5%の TOPIX 株価 市場ベータ 株式評価損益
ショック
長期貸出金利
VARモデル
仮想銀行の株式100億円にショック
後1年で11.3億円の評価損
- 31. おまけ
• 実際のレポートでは、今回行った保有株式評価額への
ストレス以外に同じVARモデル結果から他に2つのストレ
スを計算
• 今回は4つの銘柄しか保有していない仮想銀行一つで
計算を行ったが実際のレポートでは、大手行~地銀総
数118行を対象に計算
• 今回見せたのは実際のレポートの5種類のマクロストレ
ステストのうち1種類
• マクロストレステストの章は「金融システムレポート」全
90ページ分の10ページくらい
• 「金融システムレポート」は年2回出ている
• 結論: 担当者の方乙です・・・ (;´Д`)