
DCC-GARCHモデル|通貨ペア間の相関は「一定」ではなく「動く」という前提で設計する
複数の通貨ペアでEAを分散運用する際、多くの人が「相関係数」を1つの固定値として扱います。しかし結論から言えば、通貨ペア間の相関は時間とともに変化し、特に市場が動揺するショック時にこそ急激に高まる傾向があり、この「動く相関」を捉えるために考案されたのがDCC-GARCH(Dynamic Conditional Correlation GARCH)モデルです。この記事では、なぜ固定相関の前提が危険なのか、そしてDCC-GARCHがどのようにこの問題に対応するのかを整理します。
固定相関という前提の危うさ
相関係数とポートフォリオ管理 で扱ったように、複数の通貨ペアを分散させる際には、相関係数が重要な役割を果たします。しかし、多くの分析はここで単純化しすぎています。
- 過去1年のデータから計算した「平均的な相関係数」を、そのまま将来も続くものとして扱ってしまう
- 平常時は相関が低い(分散効果がある)通貨ペアの組み合わせでも、市場全体がリスクオフに傾いた瞬間には、多くの通貨ペアが同時にドル買い・安全資産買いに動き、相関が急上昇することがある
- つまり、分散効果が最も必要とされる「まさにその瞬間」に、分散効果そのものが消失するという皮肉な現象が起こりうる
これは、リーマンショック(2008)とFX やコロナショック(2020年3月) のような急変局面で、複数の通貨ペアを使ったポートフォリオが「想定していたほど分散できていなかった」と気づかされる典型的なパターンです。
GARCHモデルの基本:ボラティリティ自体が変動する
DCC-GARCHを理解するには、まず土台となるGARCHモデルの考え方を押さえる必要があります。
- GARCH(一般化自己回帰条件付き分散不均一モデル)は、「ボラティリティの高い時期には、次の瞬間もボラティリティが高い状態が続きやすい(ボラティリティ・クラスタリング)」という、相場でよく観察される性質を数式化したモデル
- 単純な移動平均によるボラティリティ推定と異なり、直近のショックの大きさと、過去のボラティリティ水準の両方を加味して、次の期間のボラティリティを予測する
- ボラティリティとは?「危険な時間」を測るという発想 で扱ったATRなどのシンプルな指標よりも、統計的に洗練された形でこの現象を捉える
DCC(動的条件付き相関)という発展
GARCHが個々の通貨ペアのボラティリティの変動を捉えるのに対し、DCCはこれを複数の資産間の相関の変動にまで拡張したものです。
- 各通貨ペアについて個別にGARCHモデルを推定し、そのボラティリティで標準化したリターン(標準化残差)を計算する
- この標準化されたリターン同士の相関係数を、固定値ではなく、時間とともに変化する動的な値として推定する
- 結果として、「平常時は相関0.3だが、ショック時には相関0.8まで急上昇する」といった、時間変化する相関の推移を定量的に把握できる
実務的に得られる示唆
DCC-GARCHを厳密に実装しなくても、この枠組みが示す教訓は、複数EAを運用する上で実務的に重要です。
- 「分散されている」という感覚を過信しない:平常時の相関係数だけを見て「この2つの通貨ペアは無相関だから安全」と判断するのは危険であり、複数EAを同時に動かすときの注意点 で触れたように、ショック時の挙動まで想定する必要がある
- ショック時を想定したストレステスト:過去の実際の急変時(スイスフランショックやコロナショックなど)に、自分が運用している通貨ペアの組み合わせがどう動いたかを個別に確認する
- 相関の変化を簡易的にモニタリングする:厳密なDCC-GARCHでなくても、直近数週間の相関係数を継続的に計算し、平常時の水準から乖離していないかを定期的にチェックするだけでも、早期の異常検知につながる
個人開発における実装の現実
DCC-GARCHの完全な実装は、統計ソフトウェア(RやPythonの専用パッケージなど)を用いるのが一般的で、MQL4だけで完結させるのは現実的ではありません。
- パラメータ推定は外部環境(Pythonなど)で行い、推定された動的相関の値を定期的にEAに読み込ませる、といった構成が現実的
- 個人開発のレベルでは、完全なDCC-GARCHでなくとも、「直近のローリング相関係数」を簡易的に計算し、一定の閾値を超えたら新規のポジション追加を抑制する、といった簡易ルールで十分な効果が得られることも多い
- 重要なのは、モデルの精緻さそのものより、「相関は動くものであり、特にショック時にこそ危険な方向に動く」という前提を運用設計に組み込んでおくことです
よくある誤解
Q. 相関係数は一度計算すれば、しばらくそのまま使える? A. 特にショック時には相関が急変するため、定期的な見直しが必要です。固定値として長期間使い続けるのはリスクがあります。
Q. 相関が低い通貨ペアを組み合わせれば、暴落時も安全? A. 平常時の相関が低くても、市場全体が動揺する局面では相関が急上昇することがあり、分散効果が消える可能性があります。
Q. DCC-GARCHは個人には扱えない? A. 完全な実装は難しいですが、「相関は動く」という考え方を踏まえた簡易的なモニタリングは、個人開発でも十分に取り入れられます。
まとめ
- 通貨ペア間の相関は固定値ではなく、時間とともに変化し、特に市場ショック時に急上昇する傾向がある。
- この動的な相関構造を捉えるために考案されたのがDCC-GARCHモデルであり、GARCH(ボラティリティの時間変化)を複数資産間の相関にまで拡張したもの。
- 分散効果が最も必要な急変時にこそ、分散効果が消失しうるという皮肉な現象を理解しておく必要がある。
- 厳密な実装が難しくても、「相関は動く」という前提でストレステストや簡易モニタリングを行うことが、実務的な対策になる。
複数の通貨ペア・複数のEAを組み合わせる分散運用は、平常時の相関だけでなく、「相関が崩れる瞬間」への備えがあって初めて意味を持ちます。
※ FXおよび自動売買には損失が生じる可能性があります。本記事は統計モデルの一般的な解説であり、特定の投資判断や実装手法を推奨するものではありません。
「退場しない設計」について、まずは無料で受け取る。
ほかの記事を読む

