私は金融データの分析を仕事にしていますが、外国為替の 1 分足ヒストリカルデータを扱ううえで、誰もがぶつかる大きな問題があります。 それは週末や休場日にデータが完全に欠落すること

このギャップを放置しておくと、移動平均やボラティリティなどの指標計算がズレたり、チャートが途切れたり、バックテストの結果が信用できなくなったりします。 API からリアルタイムデータを取得する場合、休場中はそもそもデータが返ってこないため、これは避けて通れない課題です。

今回は、実務で使えるデータギャップの特定方法から安全な埋め方システム化するコツまで、コードなしで分かりやすく解説します。


データギャップが起きる場面

外国為替市場は 24 時間取引されていますが、それでも週末国際的な休場日は価格が動かず、取引データが発生しません。

多くのリアルタイム API は、データが存在しない時間を丸ごと省略して返すため、 タイムスタンプが飛び、データ系列が途切れてしまうのです。

これにより起きる問題は:

  • 指標計算が正常に行えない
  • チャートが不自然に途切れる
  • バックテストの結果が歪曲される
  • 分析自体の信頼性が落ちる

など、実務・研究どちらにも深刻な影響が出ます。


まずやるべきこと:ギャップの位置を特定する

データを埋める前に、どこが欠落しているかを正確に把握する必要があります。

1 分足のデータの場合、基本的なルールはただ一つ。 「次の足との時間差が 60 秒を超えたらギャップ」 これだけで、欠落区間を簡単に見つけられます。

週末や休場日は、長時間のギャップとして自動的に判別できるようになります。


実務で使える 3 つのデータ埋め方法

私が実際のシステムで使っているのは、「偽の相場を作らない」 3 つの方法だけです。

1. 前方埋め(前の値を引き継ぐ)

ギャップの直前の終値をそのまま継続して表示する方法です。 最も安定しており、バックテストで最も推奨されます。 無駄な変動を作らず、指標も歪みません。

2. 線形補間

前の値と次の値を滑らかにつなぐ方法。 チャートを自然に見せたいとき、レポートや可視化に適しています。

3. 欠落マークをつける

NaN やフラグで「ここはデータがない」と明示する方法。 監査や厳密な分析で必要になります。


実践的な使い分け

  • バックテスト・戦術検証 → 前方埋め
  • チャート表示・可視化 → 線形補間
  • データ監査・記録 → 欠落マーク

この使い分けをするだけで、データの品質が劇的に向上します。


休場ギャップを自動化するコツ

手動で埋めていては限界があります。

実務のシステムでは:

  1. ヒストリカルデータを自動取得
  2. ギャップを自動判定
  3. ルールに従って自動埋め
  4. 埋めた箇所にマークをつけて記録

このフローを組むことで、休日でも途切れない安定したデータ環境を作れます。


最後に私が実務で守っているルール

  1. 長期の休場期間は無理に補間しない
  2. 埋めたデータには必ず目印をつける
  3. 偽のトレンドを作る補間は使わない
  4. バックテストでは前方埋めを基本とする
  5. データフォーマットは統一して管理する

これを守るだけで、分析の信頼度が大きく変わります。


まとめ

外国為替 1 分足の休場ギャップは、API の問題ではなく AllTick APIデータ処理の問題です。

ギャップを正しく特定し、状況に合った方法で埋め、自動化まで仕組み化すれば、 バックテストも指標計算も安定し、信頼できる分析ができるようになります。

データを「埋める」ことが目的ではなく、相場の性質を壊さずに連続性を保つことが最も重要なのです。