時系列分析で使われるGARCHモデルを用いた分析方法について,実践例を用いて解説します.
実践例で使用している統計解析アプリStaatAppはこちらのページから無料でダウンロードできます.(GARCH機能は有料版です)
GARCHモデルとは
時系列分析においてGARCHモデルはボラティリティを予測するためのモデルです.ボラティリティとは金融分野における価格変動の大きさや度合いのことを指します.例えば,株価が一日で大きく上下するときその株は”ボラティリティが高い”と言います.
GARCHモデルにおいては将来のボラティリティは過去のボラティリティにより影響を受けるという仮定のもと分析を行います.
GARCHモデルを用いた分析手順
GARCHモデルを用いた分析は,以下のように行うのが一般的です.
はじめに時系列データを可視化して時系列データの特徴を把握します.GARCHモデルは定常過程に対して有効なため,時系列データに長期変動や季節変動が見られる場合は,前処理として差分変換や対数変換を行います.
モデルを作成したら評価指標や残差分析を行うことで,モデルの精度を評価します.モデルの精度がよくない場合は,パラメータやモデル式を修正して再度モデルを作成します.
最終的には作成したモデルを用いてボラティリティやVaR(Value at Risk:予想最大損失額)の将来予測を行います.
StaatAppを用いたGARCHモデルの分析
統計解析アプリStaatAppを用いて,具体的にGARCHモデル分析について解説します.サンプルデータとして,ビットコイン(BTC)の価格データ(円)を使用します.このデータには2022年第1四半期の1時間ごとのデータが含まれています.
① データの可視化
折れ線グラフ機能を用いて,サンプルデータの可視化を行います.期間内のBTC価格は長期変動や季節変動がない定常過程ように見えます.
② 前処理
ADF検定を行い定常過程かどうかを判定します.
ADF検定の値が全て有意水準=0.05より大きいため,BTC価格は単位根過程(≒非定常過程)であると言えます.GARCHモデルは定常過程の時系列データに対して有効なため,差分変換を行います.
再度,ADF検定を行うとp値<0.05となったため差分変換したデータでモデル作成を行います.
③ モデルの作成・評価
GARCH機能でモデル作成を行います.分析対象のデータを選択して,「モデル作成」ボタンをクリックするとモデルが作成されます.
オプションでは平均値モデルやボラティリティモデル,誤差分布を選ぶことができますが基本的にはデフォルト設定のGARCH(1,1)で大丈夫です.オプションの詳細は補足をお読みください.
モデルが作成されたら評価指標を見ます.特にGARCHモデルではモデル式の変数のp値に注目します.この値が小さいほどモデル式の各項は統計学的に意味がある値であることを示し,モデルの当てはまりが良い言えます.
今回の実行結果はあまり当てはまりがよいとは言えないので,オプション設定で誤差分布をt分布に変更して再度モデル作成を行います.先程より値が小さくなり,当てはまりがよいモデルであることが言えます.
標準化残差の分布を確認すると,残差はほぼ正規分布に従い偏りがないということがわかります.
④ 予測
ボラティリティの算出と将来予測を行います.「ボラティリティ」タブの「予測」をオンにして予測時点数を”10”に設定します.「描画」ボタンをクリックするとボラティリティが算出され,将来予測値を含むグラフが表示されます.
VaRの将来予測(観測時点の次の時点の値)を算出します.
有意水準α=0.05で39413.43…という値になります.今回の分析例ではBCTの価格変動データの差分系列に対してのVaRになるので,1時間後には5%の確率で1単位あたり39413.43円以上の損失が発生することを意味します.
※ StaatAppでは正規分布を用いてVaRを算出しています.
補足① 参考書籍
StaatAppのGARCH機能及び分析手順・解釈については以下の書籍を参考にしています.
補足② GARCH機能の詳細仕様
StaatAppのGARCH機能ではPythonの以下のライブラリを使用して演算を行っています.詳細なアルゴリズムや信頼性を知りたい方は公式ドキュメントをお読みください.
モデル作成時の各オプションについても記載されています.