トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

ボラティリティ変動モデル

株価が典型的ですが、金融関係の 時系列分析 では、価格の変動を見ます。

価格の変動は、 ランダムウォークモデル と似ていることが知られています。 ランダムウォークモデルは、以下のような式です。 1ステップ前の値に乱数を足したものが、次の値になっていることを表します。
ランダムウォークモデル

ここで、以下のようにyを考えると、yの式は乱数だけを表します。
Iモデル
Iモデル

eとしては、例えば、「平均値が0で、標準偏差が100の正規分布」というように考えることが普通です。

ところで、「標準偏差が100」と考える時には、暗黙のうちに、「ばらつきは一定」ということを想定しています。 一方、金融関係では、ばらつきが変化している現象が指摘されています。 ばらつきが大きい時期の投資はリスクが大きくなるので、ばらつきの大きさを把握しておく必要があります。
ボラティリティ変動モデル

ボラティリティとは

ボラティリティというのは、ばらつきのことですが、ボラティリティのモデルでは、扱い方に特徴があります。 上記のeを、σ(シグマ)とε(イプシロン)の積で考えます。
ボラティリティ

添え字のnは、n番目のサンプルの値であることを表します。 ボラティリティは、σです。 εは、標準偏差が1の分布です。

eのデータは、例えば、-1,3,7,-5,-2,2,8,-3、というように、ばらばらに大きさが変化します。 ボラティリティが一定の場合は、これらの標準偏差がばらつきを表します。

σとεの積にすると、 「ボラティリティの変化を表現するのがσ、ばらばらな変化を表現するのがε」として、役割を分けることができるようになります。

ARCHモデルから、IGARCHモデルまで

ボラティリティの時系列分析では、σの値を推定します。 以下では、順に方法を説明します。
ARCHモデルから、SES-Vモデルまで

移動平均モデル

移動平均モデル は、ボラティリティの推定でも作れます。

例えば、直近の3つのデータで推定するのなら、以下の式です。
ボラティリティ変動モデル

ARCHモデル

ARCHモデルは ARモデル と似ていて、移動平均モデルを一般化したものです。

例えば、直近の3つのデータで推定するのなら、以下の式です。
ARCHモデル

ARCHモデルの解釈として、 ARCHモデルは、ARかMAか のページがあります。

GARCHモデル

GARCHモデルは、ARCHモデルを改良したものです。

例えば、直近の3つのデータで推定するのなら、以下の式です。
GARCHモデル

GARCHモデルは、過去のσも参照する式になっています。 上の式は直近の3つのデータを使うものですが、 過去のσの推定する時には、さらに過去のデータが入っているので、結果的に、GARCHモデルには、過去の多くのデータを参照するモデルになっています。

ホワイトノイズからSARIMAXまでの道のり のページでは、データの平均値を推定しています。 平均値を推定する時は、直近の数個のデータでも、そこそこの精度の予測になります。 ところが、 誤差とn数 のページにあるように、標準偏差の推定では、少なくとも数十個はないと、安定した推定ができません。

そのため、上の例は、3個でARCHモデルを作りましたが、少なくとも数十個の項があるARCHモデルを作る必要があります。 巨大なモデルになってしまいます。

ここでひとつポイントがあり、ボラティリティの変化を想定しているので、直近のデータほど重みをつけたARCHモデルの方が良いです。

GARCHモデルにすると、少ない項でも、過去の多くのデータを含めることができ、しかも、直近のデータほど重みがつきます。

GARCHモデルの解釈として、 GARCHモデルは、ARMAかETSか のページがあります。

GARCH(1,1)

上のGARCHモデルは、過去の3つのデータを使うようになっています。 GARCH(3,3)と表現します。

ところで、GARCHモデルは、過去の多くのデータを含むようになっているので、もっと簡略にしても、精度がほとんど変わらないです。 αとβが1個ずつしかない、GARCHモデルは、GARCH(1,1)と呼ばれています。
GARCH(1,1)

直近3つのデータを使うARCHモデルでは、「精度が悪い」となるのですが、GARCHモデルの場合は、直近1つのデータでも「実用的」となります。

IGARCHモデル

GARCHモデルについて、係数の和に「1」という条件を付けたモデルは、「IGARCH」と呼ばれています。

例えば、上のGARCHモデルの場合は、条件が以下のようになります。
IGARCHモデル

1よりも大きいと発散傾向、1よりも小さいと収束傾向になります。 ちょうど1の時は、ボラティリティの変動を表しやすいです。

IGARCH(1,1)

「GARCHモデルは、GARCH(1,1)で十分」という話は、IGARCHについても同様なので、IGARCH(1,1)がベストです。
IGARCH(1,1)

以下の書き方でもできます。
IGARCH(1,1)

SES-Vモデル

ここまで、「ω(オメガ)」という項については、触れませんでしたが、ARCHやGARCHでは、ωが入っています。

GACRHモデルは、過去の推定値を参照するので、ωが入れ子のようにして、式に含まれています。 ωが0以外の時は、nが増えるごとにωの影響が増大するようになっているのですが、「そのような現象はない」と筆者は考えています。

そう考えると、ωは不要です。

前項までで、「ボラティリティのモデルはIGARCH(1,1)がベスト」となっていましたので、ωの事も含めると、結論としては、以下がベストになります。 係数がαの1個しかない非常にシンプルな式ですが、ここまでで説明したように、これで十分です。
SES-Vモデル

ちなみに、筆者は、GARCHモデルで計算すると、ωがほぼ0になることが多いことから、「そもそもωは不要では?」と気付きました。

SES-Vモデルの名前の由来

よく見ると、SES-Vモデルは指数平滑法の式そのものです。 一般的な指数平滑法は、平均値を推定する方法ですが、それをボラティリティの推定に置き換えた式になっています。

また、 共分散の逐次学習 の式と、似ています。 いわゆる逐次学習は、真の値が一定なことを想定しています。 SES-Vモデルは、真の値が変化することを想定しています。 その違いが、係数の違いになっています。

筆者が調べた限りでは、ボラティリティのモデルとして、この式を持ち出している文献や、この式がベストと言っている文献は見つかっていません。 そこで、「SES-Vモデル」の名前を仮に付けました。 SESは、単純指数平滑(Simple Exponential Smoothing)の英語での略称です。Vは、ボラティリティ(Volatility)です。

SES-Vモデルの強み

SES-Vモデルは、パラメータがαしかありません。 αしかないということは、計算が楽になることが利点のひとつです。

αを使うことで、ボラティリティの安定性が分析できるようになります。 SES-Vモデルは、この点が優れています。

αが1の時は、ボラティリティが常に変動していて、非常に不安定です。 αが0の時は、ボラティリティが変化しないことを表します。

SES-Vの実施例

まず、下がばらつきを表すeのグラフです。
ボラティリティ変動モデル

上のデータについて、ボラティリティのσを推定した結果が下のグラフになります。 αが0.01と0.1の場合です。

普通は、ボラティリティσがわからないので、モデルを使って推定するのですが、 この例で使っているeは、人工的に作成したものなので、σの真値がわかっています。 真値がわかれば、推定の正しさがわかります。

下のグラフでは、σの真値も併記することで、答え合わせをしています。

αが0.01でも、0.1でも真値と似ているので、SES-Vモデルが大きく間違った推定をしていないことがわかります。

SES-Vモデル SES-Vモデル

αが0.01の時は、滑らかなカーブに近くなり、その点は良いです。 しかし、過去の値の影響を受けやすいので、σの変化への対応が遅れています。

αが0.1の時は、変化対応への遅れがあまりない点が良いです。 しかし、滑らかなカーブではなくなっています。

滑らかなカーブと遅れがない事を両立するための方法としては、αが0.1の結果について、近似曲線を使う方法があります。
SES-Vモデル

この例の場合は、σの真値が3次曲線なので、3次曲線できれいな近似ができます。

近似曲線がうまく作れれば、未来の値を計算することもできるようになります。

Excelによる実施例

上記の実施例は、Excelで作っています。 SES-Vモデルなら、EXCELで簡単に扱えます。

Excelでボラティリティ変動モデル で、具体的な手順を説明しています。



順路 次は トレンド修正付きボラティリティ変動モデル


杉原データサイエンス事務所のロゴ
杉原データサイエンス事務所によるコンサルティングとセミナー