検証ラボ ── 2026-09-11
経済指標カレンダーを自動売買のフィルタに使うときの落とし穴 — 実際に踏んだ10個
「指標の前後◯分は取引しない」というフィルタは、自動売買でよく使われます。
実装は簡単に見えます。カレンダーを読んで、時刻を比べて、当てはまったら止める。それだけです。
そのカレンダーが、思ったとおりのものとは限りません。
3週間このデータを触って、実際に踏んだ落とし穴を10個並べます。記事にした個別の測定へのリンクも付けます。
1. 数値の列が、ヘッダーの記載と逆順だった
いちばん大きかったものです。
ヘッダーには <ACTUAL>,<CONSENSUS>,<PREVIEWS> と書いてありました。実際は「前回・予想・結果」の順でした。
素直に読むと、結果と前回が入れ替わります。サプライズの計算をしていれば、符号も大きさも狂います。
気づき方: 改定されない指標(中国の製造業PMIなど)を日付順に並べ、「前回」列が前の回の「結果」列と一致するかを見ます。一致率が低ければ列がずれています。
詳しくはプロの予想はどれくらい当たるのかに書きました。
2. 同じヘッダーが、時刻と指標名の順番でも間違っていた
同じファイルのエクスポート版で、<TITLE>,<COUNTRY>,<TIME> と書いてあるのに、実データは <TIME>,<TITLE>,<COUNTRY> の順でした。
一度嘘をついた説明書は、二度目も疑うべきです。1番に気づけたのは、この件があったからでした。
3. タイトルにカンマが入る行がある
CSVを前から数えて割ると、タイトルにカンマがある行だけ列がずれます。
後ろから数えて取るのが安全です。件数が多いので、少数のずれは集計に紛れて気づけません。
4. 重要度のラベルは、実際のスプレッド拡大と対応していない
3段階の重要度が付いていますが、下2段階は平常時とまったく区別がつきませんでした(どちらも平常の1.00倍)。
さらに、重要度が最低なのに1.8倍開く指標がありました(日本のコアCPI)。逆に「要人発言」は重要度が付いているのに1.0倍、つまり無反応です。
重要度でフィルタすると、避けるべきものを外し、避けなくていいものを避けます。
5. 主要な指標は、必ず他の指標と同時に発表される
米雇用統計は、非農業部門雇用者数・失業率・平均時給が同じ分に出ます。米CPIも総合とコアが同時です。
発表分の24.6%が同時発表でした。
つまり「この指標だけを避ける」という実装は、実質的に不可能です。避けられるのは「その分」であって、「その指標」ではありません。
集計する側も同じで、指標名ひとつを代表にすると同点処理の順番で順位が変わってしまいます。
6. 会見と要人発言だけ、時刻が数分ずれる
データの発表は72.6%が記載時刻ちょうどでした。カレンダーの時刻は信用してよい、という結論です。
ただし会見は別でした。
| ずれ | |
|---|---|
| 日銀の記者会見 | +6分 |
| FOMCの記者会見 | +4〜5分 |
| ECBの記者会見 | +5分 |
| 大統領の発言 | +3分 |
**記載時刻が「開始時刻」**だからです。冒頭の説明が終わって中身に入るまでの時間、と考えると自然です。
前後10分で切るフィルタだと、日銀会見のピーク(+6分)はぎりぎり入りますが、その後も続きます。会見は+15分くらい見ておくほうが安全です。
7. 中央銀行によって、影響の長さがまったく違う
政策発表を8行分、横並びで測りました。
| スプレッドが平常の1.2倍を超えていた時間 | |
|---|---|
| 日銀 | 31分 |
| SNB(スイス) | 10分 |
| FRB | 5〜7分 |
| BOE | 4分 |
| BOC / RBA | 2分 |
日銀だけ桁が違います。「中央銀行の前後◯分」という一律のフィルタでは、日銀は取りこぼします。
さらにECBは反応が発表の分に来ません。23回中12回は+6分より後にピークが来ています。「その瞬間を避ける」対策はECBには効きません。
8. 「確定値」は指標によって扱いが違う
PMIの確定値は、速報の3分の1しか反応がありませんでした(5.25倍 → 1.71倍)。避ける価値は薄いでしょう。
ところがミシガン大の改定値は、ほとんど落ちません(3.46倍 → 3.04倍)。
「Final」「Revised」で一律に除外すると、後者を取りこぼします。
9. 分離できない組み合わせがある
米GDPの反応を測ろうとして、できませんでした。
速報・改定・確定のいずれも木曜8:30 ETで、その枠には毎週の新規失業保険申請が必ず入っています。GDPを測ろうとすると、失業保険申請を測ってしまいます。
最初の集計では「GDP確定値が対照の6.3倍」という数字が出ました。確定値でそれはおかしいと気づいて調べて、判明しました。
自分のフィルタが何を避けているのか、名前だけでは分かりません。
10. 通貨の割り当てを鵜呑みにしない
カレンダーの指標には通貨が1つ割り当てられています。中国の指標なら CNY です。
「自分は豪ドルを扱うから、AUDの指標だけ見ればいい」——これは間違いです。
中国の指標を測ったら、豪ドル/米ドルの値幅が平常の2.10倍になっていました。円で1.65倍、ユーロでも1.45倍です。
割り当てられた通貨のペア以外にも効きます。
おまけ:実装以前の話が2つ
カレンダーに未来の予定は入っていない
手元のカレンダーは取得した日までのデータでした。「今週の発表予定」を出すことはできません。
**運用でフィルタとして使うなら、定期的に取り直す仕組みが要ります。**取り直すたびに、上の1〜3の落とし穴を踏み直さないように、読み取りは1か所にまとめておくべきです。
予想値が書き換えられていないかは、1回の取得では分からない
サプライズを計算するなら、「発表前に公表されていた予想」である必要があります。
発表後に書き換えられていたら、実際より当たっているように見えます。
手元にあるのは1回分の取得だけなので、確かめられませんでした。別の日にもう一度取得して差分を取るしかありません。そのためのスナップショットは残してあります。
実装するなら
- **読み取りを1か所にまとめる。**列の順番の解釈を各所に散らさない
- 改定されない指標で検算する。「前回」が前の回の「結果」と一致するかを見れば、列のずれは検出できる
- **重要度でフィルタしない。**指標名で持つ
- 「分」で避ける。「指標」では避けられない(同時発表)
- 会見は別枠にする。+15分見る
- **日銀は別枠にする。**31分見る
- **自分が扱う通貨ペアで、実際に測る。**通貨の割り当ては目安にすぎない
限界
- 1つの配信元のカレンダーの話です。**提供元は公開されていません。**別のカレンダーでは別の落とし穴があるはずです
- 3週間触っただけです。まだ踏んでいないものがあると思っています
- 測定はすべて2023年8月〜2026年8月の3年分です
- 「なぜそうなっているのか」はほとんど推測です。提供元に確かめたわけではありません
まとめ
カレンダーをフィルタに使うのは、読んで、比べて、止めるだけに見えます。
実際にやると、列の順番・タイトルの区切り・重要度の意味・同時発表・時刻のずれ・指標ごとの持続時間・分離できない組み合わせ・通貨の割り当て——このあたりで順番につまずきました。
**どれもエラーになりません。**それらしい数字が出て、それらしく動きます。集計スクリプトのときと同じです。
出典
すべて当サイトの実測です。データは ForexTester 6 の Advanced Data Feed が配信するティック(2023年8月25日〜2026年8月23日)と、同ソフトに付属する経済指標カレンダー(2026年8月26日取得)。
- 列の順番: プロの予想はどれくらい当たるのか
- 重要度と同時発表: 経済指標の「重要度」は当てになるか
- 時刻のずれ: 経済指標カレンダーの時刻はどれだけ正確か
- 中央銀行ごとの違い: 中央銀行8行の政策発表を同じ物差しで測る
- 確定値: 改定値は見る意味があるのか
- 通貨の割り当て: 中国の指標はどの通貨に効くのか
- 発表の集中: 経済指標はいつ出るのか
- 落ちないバグ全般: 集計スクリプトは、間違っていてもエラーを出さない
※本記事は情報提供を目的としたもので、特定の取引・製品を推奨するものではありません。