過去の金データを扱ったことがある人なら、一度はこういう状況に遭遇したことがあるはずです。
チャートは一見正常に見えるのに、どこか違和感がある。

価格が突然ジャンプしたり、平坦な区間が出現したりして、戦略では説明できない動き。
多くの場合、これは 休日ローソク足 が原因です。

バックテストや分析を行う人ほど、この微妙な違和感にすぐ気づくでしょう。
問題は戦略ではなく、取得している 貴金属API のデータ構造にあることが多いです。

非取引時間(Non-trading Hours)が問題の起点

金市場は暗号資産のように24時間稼働しているわけではありません。

週末や祝日、取引所の休場期間など、明確な 非取引時間 が存在します。

この期間のデータ取得方法でよくあるパターンは:

  • データを完全にスキップする
  • 前の価格で埋める(フォワードフィル)
  • タイムスタンプがまばらになる

これが 履歴データの欠損 の原因になります。

実践的なデータ取得例

チャートや分析の前にまずやるべきことは、正確なデータを取得すること です。

AllTick の貴金属APIを使えば、金(XAUUSD)の歴史的なKラインデータを簡単に取得できます:

import requests

API_KEY = "YOUR_API_KEY"
symbol = "XAUUSD"
interval = "1h"

url = "https://api.alltick.co/market/kline"

params = {
    "symbol": symbol,
    "interval": interval,
    "start": "2026-01-01",
    "end": "2026-05-28",
    "apikey": API_KEY
}

response = requests.get(url, params=params).json()

for item in response["data"]:
    timestamp = item["time"]
    open_price = item["open"]
    close_price = item["close"]

    is_holiday = item.get("isHoliday", False)

    print(timestamp, open_price, close_price, "休日ローソク足" if is_holiday else "")

この例のポイントは、単に価格を取得するだけでなく、そのローソク足が非取引期間に属しているかどうかを判別できることです。
この情報があれば、後続の分析やチャート処理が格段に安定します。

休日ローソク足が分析に与える影響

休日ローソク足自体は「間違ったデータ」ではありません。
ただし、誤解されると以下の計算に影響します:

  • 移動平均のずれ
  • ボラティリティの過小/過大評価
  • バックテスト曲線の不自然な変化
  • トレンド継続の誤解

特に長期間の分析では、わずかな断層が蓄積され、大きな影響になります。

実務的な取り扱い方法

一般的には以下の3つのアプローチがあります:

1. 空白のまま保持(分析向き)

市場の状態を忠実に再現できます。

2. 前値で埋める(可視化向き)

滑らかなチャートを作れるが、注意が必要です。

3. 非取引期間を明示的にマーク

最もバランスの取れた方法で、多くのシステムが採用しています。

見落とされがちなポイント

データの問題は「欠損そのもの」ではなく、

「取引が行われなかった」か「データが欠落したか」の区別

です。

AllTick のような貴金属APIは、構造化された歴史的Kラインデータを提供するため、この違いを自然に扱うことができます。
これにより、長期間の金データ分析やバックテストでも安心して利用できます。