Enviar pesquisa
Carregar
RでGARCHモデル - TokyoR #21
•
28 gostaram
•
15,719 visualizações
horihorio
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 52
Baixar agora
Baixar para ler offline
Recomendados
ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾
Yoshitake Takebayashi
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
takehikoihayashi
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説
akira_11
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
takehikoihayashi
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
マルコフ転換モデル:導入編
マルコフ転換モデル:導入編
Masa Kato
Recomendados
ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾
Yoshitake Takebayashi
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
takehikoihayashi
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説
akira_11
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
takehikoihayashi
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
Naoki Hayashi
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
マルコフ転換モデル:導入編
マルコフ転換モデル:導入編
Masa Kato
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
Ken'ichi Matsui
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Nagi Teramo
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
異常行動検出入門(改)
異常行動検出入門(改)
Yohei Sato
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Hiroshi Shimizu
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
Miki Katsuragi
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m
機械学習と主成分分析
機械学習と主成分分析
Katsuhiro Morishita
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Koichiro Gibo
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
horihorio
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
Stanでガウス過程
Stanでガウス過程
Hiroshi Shimizu
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
分割時系列解析(ITS)の入門
分割時系列解析(ITS)の入門
Koichiro Gibo
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
Toshihiro Kamishima
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
Kentaro Minami
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
Yoshitaka Ushiku
Rで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
horihorio
セグメンテーションの考え方・使い方 - TokyoR #44
セグメンテーションの考え方・使い方 - TokyoR #44
horihorio
Mais conteúdo relacionado
Mais procurados
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
Ken'ichi Matsui
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Nagi Teramo
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
異常行動検出入門(改)
異常行動検出入門(改)
Yohei Sato
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Hiroshi Shimizu
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
Miki Katsuragi
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m
機械学習と主成分分析
機械学習と主成分分析
Katsuhiro Morishita
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Koichiro Gibo
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
horihorio
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
Stanでガウス過程
Stanでガウス過程
Hiroshi Shimizu
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
分割時系列解析(ITS)の入門
分割時系列解析(ITS)の入門
Koichiro Gibo
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
Toshihiro Kamishima
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
Kentaro Minami
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
Yoshitaka Ushiku
Rで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
Mais procurados
(20)
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
階層ベイズとWAIC
階層ベイズとWAIC
異常行動検出入門(改)
異常行動検出入門(改)
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
Stan超初心者入門
Stan超初心者入門
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
機械学習と主成分分析
機械学習と主成分分析
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
グラフィカルモデル入門
グラフィカルモデル入門
Stanでガウス過程
Stanでガウス過程
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
分割時系列解析(ITS)の入門
分割時系列解析(ITS)の入門
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
Rで階層ベイズモデル
Rで階層ベイズモデル
Mais de horihorio
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
horihorio
セグメンテーションの考え方・使い方 - TokyoR #44
セグメンテーションの考え方・使い方 - TokyoR #44
horihorio
統計と会計 - Zansa#19
統計と会計 - Zansa#19
horihorio
補足資料 財務3表の基礎知識
補足資料 財務3表の基礎知識
horihorio
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
horihorio
第6章 2つの平均値を比較する - TokyoR #28
第6章 2つの平均値を比較する - TokyoR #28
horihorio
Rで学ぶ現代ポートフォリオ理論入門 - TokyoR #18
Rで学ぶ現代ポートフォリオ理論入門 - TokyoR #18
horihorio
Mais de horihorio
(7)
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
セグメンテーションの考え方・使い方 - TokyoR #44
セグメンテーションの考え方・使い方 - TokyoR #44
統計と会計 - Zansa#19
統計と会計 - Zansa#19
補足資料 財務3表の基礎知識
補足資料 財務3表の基礎知識
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
第6章 2つの平均値を比較する - TokyoR #28
第6章 2つの平均値を比較する - TokyoR #28
Rで学ぶ現代ポートフォリオ理論入門 - TokyoR #18
Rで学ぶ現代ポートフォリオ理論入門 - TokyoR #18
RでGARCHモデル - TokyoR #21
1.
RでGARCHモデル
TokyoR #21 2012/03/10 @horihorio
2.
自己紹介 • Twitter ID:
@horihorio • お仕事: データマイニング・コンサルタント (重要なこと:会社は非金融業) ただ何故か、金融機関の与信リスク管理・ 分析を、4年少々やってたりする • R使用歴: 半年もない、とか。前回発表(Tokyo.R#18: 「Rで学 ぶ 現代ポートフォリオ理論入門」 )以降、程度 2012/03/10 RでGARCHモデル 2
3.
◇ 全体構成 ◇ 1.
Executive Summary 2. 理論編 1. ARIMAモデル 2. GARCHモデル 3. 実践編 1. TOPIXとは? 2. モデル作成 3. モデル検証 2012/03/10 RでGARCHモデル 3
4.
1. Executive Summary
(1/5) 時系列モデルの目的:過去の値から将来を当てたい • ARIMAモデルの場合 AR I MA 誤差項 (自己回帰) (和分) (移動平均) ここで は「独立かつ同一の分布に従う(i.i.d)」とする※ (※ホントは平均ゼロ、分散有限も必要。正確な定義はP.15を参照) 2012/03/10 RでGARCHモデル 4
5.
1. Executive Summary
(2/5) が「独立かつ同一の分布に従う(i.i.d.)」ならば 誤差項は、こうなるはず set.seed(1) plot(rnorm(1500, 0, 1), type="l", xlab="Time", ylab="Error", ylim = c(-9,9)) 5 Error 0 -5 0 500 1000 1500 Time 2012/03/10 RでGARCHモデル 5
6.
1. Executive Summary
(3/5) ただ、東証TOPIXにARIMAモデルをはめると 誤差項って均一なの? (モデルの詳細は後述) ジャンプなら 0.10 この程度 0.00 Error 時系列構造? -0.10 0 500 1000 1500 Time 2012/03/10 RでGARCHモデル 6
7.
1. Executive Summary
(4/5) 少々、分散に時系列構造を導入してみる 時系列データが、 に従っているとするとき、 GARCH(p,q)モデル を導入 分散の 2乗誤差の 時系列 時系列 分散 1 2012/03/10 RでGARCHモデル 7
8.
1. Executive Summary
(5/5) やっぱり、TOPIXの分散って荒れているのね… Lehman破綻等々 0.10 収 益 率 -0.10 0.05 収 の益 0.01 率 0 500 1000 1500 Paribasショック、 東日本 SubPrimeで色々 Time 大震災 2012/03/10 RでGARCHモデル 8
9.
◇ 全体構成 ◇ 1.
Executive Summary 2. 理論編 1. ARIMAモデル 2. GARCHモデル 3. 実践編 1. TOPIXとは? 2. モデル作成 3. モデル検証 2012/03/10 RでGARCHモデル 9
10.
2.1. ARIMAモデル
ARIMAモデル 過去の Tokyo.R. で触れられた資料 http://lab.sakaue.info/wiki.cgi/JapanR2010?page=%CA%D9%B6%AF%B2%F1 %C8%AF%C9%BD%C6%E2%CD%C6%B0%EC%CD%F7#p15 ARIMAでないが 関連して 2012/03/10 RでGARCHモデル 10
11.
2.1. ARIMAモデル
ARIMAモデル 時系列ARIMAモデルは、以下3要素からなる • AR(Auto Regression):自己回帰 → 過去の自分の値 • I(Integrated):和分 → 時系列データの階差をとる • MA(Moving Average):移動平均 → 現在および過去の誤差項の線型結合 ARIMA (Box-Jenkins) モデル AR I MA (自己回帰) (和分) (移動平均) 2012/03/10 RでGARCHモデル 11
12.
2.1. ARIMAモデル
ARIMAモデル AR(Auto Regression):自己回帰モデルとは、ある時点の値は、 過去の自分自身により説明されると考えるモデル。以下2つ の要素からなる: • 自己回帰係数(影響倍率、定常ならば偏相関係数)と、 • 次数(影響期間) AR(p)モデル: 1期前の 2期前の p期前の 自分 自分 自分 定数項 自己回帰 次数 誤差項 係数 (何期前まで (独立なWhite 考えるか) Noiseに従う) 2012/03/10 RでGARCHモデル 12
13.
2.1. ARIMAモデル
ARIMAモデル MA(Moving Average):移動平均モデルとは、現在値と、過去 の誤差項の線形結合により表される関数 MA(q)モデル: 1期前の 2期前の q期前の 当期の誤差 誤差 誤差 誤差 MAモデルの意味って何よ? • 定常時系列ならば、AR(∞) = MA(t) • つまり、「小さいAR項×沢山」が、MA項少々で済む 【イメージ】 0.8 MA(1) = 0.001 AR(101) + 0.0002 AR(102) + … 2012/03/10 RでGARCHモデル 13
14.
2.1. ARIMAモデル
ARIMAモデル I(Integrated) :和分とは、階差数列に対応する概念。 時系列モデルは、平均や自己共分散が一定(定常時系列) でないと扱えない。非定常→定常 の変換に使ったりする 現系列 階差数列 に対し 数列では 時系列では の一般項を求め のARMAモデルを推定し 2012/03/10 RでGARCHモデル 14
15.
2.1. ARIMAモデル
ARIMAモデル AR + I + MA → ARIMAモデル が完成 ARIMAモデル AR I MA 誤差項 (自己回帰) (和分) (移動平均) ここで は、以下を満たす(分散均一性): 2012/03/10 RでGARCHモデル 15
16.
◇ 全体構成 ◇ 1.
Executive Summary 2. 理論編 1. ARIMAモデル 2. GARCHモデル 3. 実践編 1. TOPIXとは? 2. モデル作成 3. モデル検証 2012/03/10 RでGARCHモデル 16
17.
2.2. GARCHモデル
GARCHモデル ARIMAモデルが弱い例 • 金融市場:概して、荒れた翌日の値動きは活発 • 2ch:祭りが起きた後は、暫く高アクセスが続く? つまり、 • 突発的な変動と、その後の「荒れ」が続き、 誤差項が「独立かつ同一の分布」でない と弱い 対策 GARCHモデル • 分散にも時系列構造を導入 ※GARCH: Generalized AutoRegressive Conditional Heteroskedasticity 2012/03/10 RでGARCHモデル 17
18.
2.2. GARCHモデル
GARCHモデル 【参考】周期変動ならば、Seasonal ARIMAが素直 例: は4半期データ(周期4)とする。 ここで、4期前との差分 を考える。 そして、 と でARIMAモデルを構築して掛け算。 Rでの使用例 arima(UKgas, order=c(2,1,2), seasonal=list(order=c(1,1,3), period=4 ) 2012/03/10 RでGARCHモデル 18
19.
2.2. GARCHモデル
GARCHモデル GARCH(p,q)モデルの式 時系列データが、 に従っているとするとき、 分散の 2乗誤差の 時系列 時系列 分散 1 ただし、 防止が目的 、 、 、 、 、 2012/03/10 RでGARCHモデル 19
20.
2.2. GARCHモデル
GARCHモデル 【参考】2乗誤差のみ考える、ARCH(q)モデルもある。 要は、GARCHモデルで としたもの。 時系列データが、 に従っているとするとき、 2乗誤差の 分散 1 時系列 ただし、 、 、 、 、 ※ARCH: AutoRegressive Conditional Heteroskedasticity 2012/03/10 RでGARCHモデル 20
21.
2.2. GARCHモデル
GARCHモデル 【参考】もっともな懸念で… データが常に正規分布ではない。最後の分散の誤差が になる訳ないのでは? 【答え】 • 正規分布以外では、GARCHアルゴリズムの最尤推 定量は間違っている • ただ、標本数が大だと、最尤法の一致性ならOK • よって、実際の分布は正規分布でないが、正規分 布のGARCH推定量でいいや、と割り切る? • ただ、最尤推定量や、(尤度を用いる)AIC等の情報 量基準は、全て「擬似的な値」、なのは留意 2012/03/10 RでGARCHモデル 21
22.
2.2. GARCHモデル
GARCHモデル GARCHモデルへのケチ: 制約ナシだと となるのは、何かと不自由 改良例 EGARCH(p,q)モデル 係数の制約:ナシ! 2012/03/10 RでGARCHモデル 22
23.
2.2. GARCHモデル
GARCHモデル EGARCHモデルって 【嬉しいこと】 • 左辺は対数なので、右辺が負でも対応可能 • 負になる変数でも、モデルに投入可能 【嬉しくないこと】 • Rではどうやって扱うの?が不明… • CRANで egarch::egarch は発見したが、何か大丈 夫?ってな香りがしたので自粛。Predictがダメ。 (だし、時間がなかった。) • (緩募)egarchは大丈夫か否か、他にRでEGARCHモ デルを適用出来る方法、等々 2012/03/10 RでGARCHモデル 23
24.
2.2. GARCHモデル
GARCHモデル その他、GARCHの拡張例 負ならば1となるダミー • GJR(p,q)モデル • Absolute Residual モデル • 他に、Non-Linear GARCH, Quadratic GARCH, Threshold GARCH 等があり 2012/03/10 RでGARCHモデル 24
25.
◇ 全体構成 ◇ 1.
Executive Summary 2. 理論編 1. ARIMAモデル 2. GARCHモデル 3. 実践編 1. TOPIXとは? 2. モデル作成 3. モデル検証 2012/03/10 RでGARCHモデル 25
26.
3.0. 以下のアウトライン 東証TOPIX(後述)の、対前日比リターンに 1.
ARIMAモデル (季節調整なし) 2. ARMAモデル + GARCHモデル を当てはめ、比較してゆく。 モデル構築期間: 2006/1/4~2012/1/31 (N=1489) モデル検証期間: 2012/2/1~2012/3/10 (N=28) 2012/03/10 RでGARCHモデル 26
27.
3.1. TOPIXとは?
TOPIXとは? 東証1部全体の時価総額を指標化した値 野村證券・証券用語解説集より 東京証券取引所が日々計算し発表している株価指数で、 東証第1部の毎日の時価総額(全上場株をある日の終値 で評価したものの合計額)を基準日の時価総額で割って 算出される。 1968(昭和43)年1月4日の時価総額を100として計算して おり、日経平均株価とならんで、重要な指数の1つとなっ ている。 引用元:http://www.nomura.co.jp/terms/japan/to/topix.html 2012/03/10 RでGARCHモデル 27
28.
3.1. TOPIXとは?
TOPIXとは? データの取得方法 • 例によって、 RFinanceYJ library("RFinanceYJ") topix.close <- as.ts( quoteStockTsData('998405.t’ , since='2006-01-01', date.end='2011-12-31' )$close) # コッソリ、日次リターンに変換 topix.return <- (topix.close/lag(topix.close)) - 1 2012/03/10 RでGARCHモデル 28
29.
3.1. TOPIXとは?
TOPIXとは? データの雰囲気(2006/1/4~2012/1/31) Paribasショック、 SubPrimeで色々 Lehman破綻、 1800 MUFGのMorgan Stanley出資 等 1400 東日本 TOPIX 大震災 1000 600 0 500 1000 1500 Time 2012/03/10 RでGARCHモデル 29
30.
3.1. TOPIXとは?
TOPIXとは? TOPIXを(当日÷前日で)日次リターンに修正 ※対数リターンでないの?といじめないで… Paribasショック、 SubPrimeで色々 0.10 東日本 大震災 TOPIX 0.00 Lehman破綻、 -0.10 MUFGのMorgan Stanley出資 等 0 500 1000 1500 Time 2012/03/10 RでGARCHモデル 30
31.
◇ 全体構成 ◇ 1.
Executive Summary 2. 理論編 1. ARIMAモデル 2. GARCHモデル 3. 実践編 1. TOPIXとは? 2. モデル作成 3. モデル検証 2012/03/10 RでGARCHモデル 31
32.
3.2. モデル作成
詳細は 【0/2】単位根検定 こちらを 趣旨: このデータは、 Random Walk(乱数列)でないよね? (Random Walk列でも、何かそれっぽいモデルが出来得る。 けど、そのモデルって一体何よ? てな議論になるので…) やり方: 「Random Walkではない」の仮説検定 • Phillips-Perron検定 [stats::PP.test] • Augmented Dickey-Fuller検定 [tseries::adf.test] 2012/03/10 RでGARCHモデル 32
33.
3.2. モデル作成 確認してみる(PP.testを使用) >
PP.test(topix.close) # TOPIX現系列 Random Walkの Phillips-Perron Unit Root Test 可能性61% data: topix.close Dickey-Fuller = -1.9303, Truncation lag parameter = 7, p-value = 0.6078 Random Walkの > PP.test(topix.return) # TOPIXリターン系列 可能性1% Phillips-Perron Unit Root Test data: topix.return Dickey-Fuller = -39.3825, Truncation lag parameter = 7, p-value = 0.01 よって、安心してリターン系列はいじれる。 2012/03/10 RでGARCHモデル 33
34.
3.2. モデル作成 【1/2】(季節調整なし)ARIMAモデル 参考:Tokyo.R#17
@teramonagi さん資料 (ただ、問題があるのだが…。次のスライドで) 最適次数は、ARIMA = (4,0,4) library("snow") hosts <- rep("localhost", 2) cl <- makeCluster(hosts, type=“SOCK”); clusterExport(cl, "topix.return") clusterCall(cl,topix.arima <- apply(expand.grid(1:5,1,0:5) , 1 , function(x) { try( arima(topix.return, order = x ) , TRUE) } ) ) stopCluster(cl) opt.topix.arima <- Reduce(function(x,y) if(x$aic < y$aic){x} else{y}, topix.arima) 2012/03/10 RでGARCHモデル 34
35.
3.2. モデル作成 【参考】前ページの問題:係数が収束しない場合 ARIMA =
(3,1,5) は、一部係数が無限大に飛ぶ 係数は∞ fixed=c(0,NA,NA,0,0,NA,NA,NA)) arima(topix.return,order = c(3,1,5), で無限大の項を除去できるが、当然AICの値は変わる 2012/03/10 RでGARCHモデル 35
36.
3.2. モデル作成 【2/2】の前に fGarch::garchFit
で最適次数の探索法 ループでコマンドを生成・実行し、listに投入、してみた。 (問題:(1) 係数発散時の問題 (2)エラー処理が未対応) 最適次数は、GARCH (1,1) #書式: garchFit( ~ garch(P, Q), data = topix.return, trace = FALSE ) topix.garch <- as.list(NULL) i <- 1; for (P in 1:5){ for (Q in 0:5){ topix.garch[[i]] <- try( eval( parse( text = paste("garchFit( ~ garch(", P ,", ", Q , "), data = topix.return, trace = FALSE )" ) )), silent = TRUE) i <- i + 1 } } opt.topix.garch <- Reduce(function(x,y) if(x@fit$ics[1] < y@fit$ics[1]){x} else{y}, topix.garch) 2012/03/10 RでGARCHモデル 36
37.
3.2. モデル作成 【参考】先のコードが汚い、Rらしくない、 とは思った、が改良は実力不足につき断念。 どうも、素直ではない書き方?をしないとダメっぽい。 library(fGarch)
spec <- garchSpec(model = list(alpha = 0.1, beta = c(0.4, 0.4))) Xt <- garchSim(spec, n = 100) x <- list() for(q in 1:3){ print(q) x[q] <- list(garchFit(substitute(~garch(1,beta), list(beta =q)) , data = Xt, trace = FALSE)) } 上記例:[R] fGarch: how to use garchFit() in loop? https://stat.ethz.ch/pipermail/r-help/2010-August/249276.html 2012/03/10 RでGARCHモデル 37
38.
3.2. モデル作成 【2/2】ARMAモデル +
GARCHモデル データは だと仮定して、 • (条件付き)平均値はARMAにて • (条件付き)分散はGARCHにて推定 ただ、これも係数発散問題が発生した… (最後は怪しい手作業の)探索結果は、ARMA(5, 5) + GARCH(1, 1) #書式: garchFit( ~ arma(p, q) + garch(P, Q) , data = topix.return, trace = FALSE ) やったソース:先のGARCHモデル のノリで、もっと醜悪にしたもの… 実行には3・4時間くらいかかった、気がする。 2012/03/10 RでGARCHモデル 38
39.
◇ 全体構成 ◇ 1.
Executive Summary 2. 理論編 1. ARIMAモデル 2. GARCHモデル 3. 実践編 1. TOPIXとは? 2. モデル作成 3. モデル検証 2012/03/10 RでGARCHモデル 39
40.
3.3. モデル検証 最初にお詫び 以降のモデル検証は、
• 前節でのエラーが取り切れていない • だからか?GARCHモデルの検証結果が怪しい • (あと時間不足で)モデルの予測まで未到達 です。何卒、ご了承下さい…。 2012/03/10 RでGARCHモデル 40
41.
3.3. モデル検証 【1/2】ARIMAモデルの場合 stats::tsdiag で残差を見てゆく。 •
使用例: tsdiag(opt.topix.arima, gof.lag=10 ) (※ gof.lagは、最下段:残差の自己相関 の検定時のラグ数) • 出力例は、次のページで。 結果:とりあえず、問題なさそうな。 2012/03/10 RでGARCHモデル 41
42.
3.3. モデル検証
正規化残差 -8 Standardized Residuals 0 500 1000 1500 Time 自己相関 飛び出てなければ ACF of Residuals 定常過程 ACF 0.0 0 5 10 15 20 25 30 Lag 残差の自己 相関がゼロで p values for Ljung-Box statistic ある確率 p value 0.0 2 4 6 8 10 lag 2012/03/10 RでGARCHモデル 42
43.
3.3. モデル検証 【2/2】ARMA +
GARCHモデルの場合 見たい事: • 基準化された残差 はゼロなの? • 基準化された残差 は正規分布なの? 再掲: を仮定して GARCHモデル 但し、 、 2012/03/10 RでGARCHモデル 43
44.
3.3. モデル検証 【2/2】GARCHモデルの場合
収束がどうも怪しい 左:残差の平均 右:平均値の標準誤差 正規分布テストもダメ 平均ゼロで無い!orz 尖度・歪度を見た (要Package: e1071) 2012/03/10 RでGARCHモデル 44
45.
3.3. モデル検証 ARIMAとGARCHモデルの比較 やりたかったこと(その1) • GARCHモデルで、
は の不偏推定量なのか? 具体的には、 誤差項 の回帰式を考える。 もし不偏推定量ならば、 係数が になるハズ。 2012/03/10 RでGARCHモデル 45
46.
3.3. モデル検証 ARIMAとGARCHモデルの比較 やりたかったこと(その2) • GARCHモデルを導入すると、ARIMAモデルより「美味し
い」のか?の検証 • 但し、ある指標で決まる話ではない。予測するものは、 ARIMAモデル:出力は時系列の値 GARCHモデル:出力は分散の値 と異なるため。 • 考えていた観点の例: • ARIMAでの予測標準誤差を、GARCHの値と比較 • (特に荒れたときの)過去時点での予測値を比較 2012/03/10 RでGARCHモデル 46
47.
まとめ • 時系列モデルとは、過去の値から将来の値を予測するモ デルで、代表的なものにARIMAモデルがある。 • ARIMAモデルは、残差の分散が均一なのを仮定。よって、 突発的な変動があると弱い •
GARCHモデルは、残差に時系列構造を導入することで、突 発的な変動にも対応しようとするモデル 今後の課題 • モデルの係数が発散する場合の対応(参考:P35) • (↑ に関連し)ホントは、係数推定前にエラー検知したい 2012/03/10 RでGARCHモデル 47
48.
おまけ 最近買った本(参考文献4)を眺めていて 観測時系列データ: は、必ずしも等時間間隔で取得できるとは限らない。 そこで、連続時間の確率過程を↓と表記
間隔が開くと、分散が大 ここで、 は標準ウィナー過程であり、 は平均ゼロ、分散 に従う。 2012/03/10 RでGARCHモデル 48
49.
おまけ (平均回帰する)具体的なモデルの一例: • Ornstein-Uhlenbeck過程(OU過程)
( のときにErgotic(何かに確率収束する)) • Vasicek過程 ( のときにErgotic) 2012/03/10 RでGARCHモデル 49
50.
おまけ 何でこんな話をしたのか? 「月曜日にマーケットは動く(月曜日効果)」と聞くので。
• 理由の例:金曜→月曜だけ間隔が広く、情報が多く入るから 試しに:各曜日のTOPIXのリターンの標準偏差を計算 library(RFinanceYJ); library(xts) # データを取得し、xtsに変換 topix.raw <- quoteStockTsData('998405.t‘ , since=‘2006-01-04’, date.end=‘2012-01-31’ ) topix.xts <- as.xts( read.zoo(topix.raw)) # 曜日毎の日次リターン・標準偏差の集計。1件目はNULLなので除外 tapply( ( (topix.xts[,4]-lag(topix.xts[,4]))-1 )[-1,] , weekdays(index(topix.xts[-1,])) , sd) 2012/03/10 RでGARCHモデル 50
51.
おまけの蛇足 その結果:
月曜日の値が 曜日 標準偏差 一番大きい 月曜日 18.45 火曜日 17.82 水曜日 17.75 木曜日 17.90 金曜日 17.71 • 真面目に考える方法例:以下回帰式を推定。各曜日のダミーを 立て、各係数の有意確率と符号で判断 (多重共線性防止のため、月曜日ダミーは入れていない) 2012/03/10 RでGARCHモデル 51
52.
参考文献 1. 渡部敏明 『ボラティリティ変動モデル』
朝倉書店 2000年 2. 岡田昌史(代表) 『Rパッケージガイドブック』 東京書籍 2011年 ⇒ 特に高柳氏のRmetricsのところを参照 3. P. Teetor(著)大橋・木下(訳)『Rクックブック』 オライリー・ジャパン 2011年 4. 西山陽一 『ISMシリーズ:進化する統計数理1 マルチンゲー ル理論による統計解析』 近代科学社 2011年 2012/03/10 RでGARCHモデル 52
Baixar agora