2026年9月30日 · リサーチ

バックテストでは好成績だった時間帯。時計が変わった後も取引できますか?

バックテストでは好成績だった時間帯。時計が変わった後も取引できますか?

明確な結果が見つかりました。あなたの暗号資産戦略は、13:00〜14:00 UTCにリターンの大半を稼いでいます。手数料を確認し、バックテストを再実行し、シグナルをペーパートレードで検証しました。次は米国株版の準備です。最も強い時間帯はニューヨーク時間の09:30〜10:30に見えます。

どちらの結果も信頼する前に、時計がどう動いたか確認しましょう。米国のサマータイムが始まると、ニューヨーク市場の寄り付きはUTCに対して1時間ずれます。特徴量、セッションラベル、注文で異なる時刻の定義を使っていると、戦略が再現性のある市場パターンではなく、カレンダー上の境目を利用している可能性があります。

時間帯の調査を捨てる必要はありません。仮説がどの時計を基準にしているのかを定義し、バックテストのすべての要素で一貫して使えばよいのです。

まず、その時間帯の意味を明確にする

「最初の1時間」は、基準とする時計を決めるまでは正確そうに聞こえます。NYSEの寄り付き後60分間なのか、ニューヨークの現地時刻で09:30〜10:30なのか、それとも固定のUTC時間帯なのか。これらの定義は1年のうち一部では一致しますが、サマータイムの切り替え前後ではずれます。

株式の仮説では、取引所の現地セッション時刻を使います。ニューヨーク時間の09:30は、ESTでもEDTでも09:30です。暗号資産の仮説では、固定のUTC時間帯が意図した変数かもしれません。暗号資産は終日取引されるため、主張の基準にできる取引所の寄り付き時刻がありません。

調整を始める前に定義を書き留めましょう。「通常取引セッションの寄り付き後、最初の1時間に取引する」なら検証できます。「シグナルが最もよく機能する時間帯に取引する」では、最適化によって戦略だけでなく時計の定義まで選ばれてしまいます。

時刻の不整合が入り込む場所

株式データはUTCで保存され、特徴量のコードはUTCの時間単位で行をグループ化し、執行ルールはニューヨーク時間の09:30にポジションを建てるとします。サマータイムの切り替え後、市場の寄り付きは14:30 UTCから13:30 UTCへ移ります。UTCの時間区分で「最初の1時間」とラベル付けされた特徴量は、セッション内の別の時間帯を指すようになります。

タイムスタンプからバーを作るときにも、同じ落とし穴があります。UTCでリサンプリングしてからラベルをニューヨーク時間に変換すると、予想外の区切りが生じることがあります。特に春の切り替えでは現地時刻の1時間が存在せず、秋の切り替えでは同じ現地時刻の1時間が2回現れます。UTCオフセットが付いていない、またはUTCで表されていない場合、秋の日曜日の現地時刻01:30は曖昧です。

暗号資産の結果にも、カレンダーが関係することがあります。UTC時間単位の戦略が数か月にわたって米国市場の動きと重なり、その後、米国の時計が変わるとずれたように見えるかもしれません。それで戦略が無効になるわけではありませんが、主張できる内容は変わります。測定したのは、米国市場の寄り付きに結び付いた効果ではなく、ときに寄り付きと重なる固定UTC時間帯のパターンだった可能性があります。

セッションの時計をテストに組み込む

イベントのタイムスタンプは基準記録としてUTCで保持します。過去のルール変更にも対応するタイムゾーンデータベースを使い、America/New_Yorkのような名前付きタイムゾーンから現地セッションの情報を導出します。「UTCから5時間引く」や「UTCから4時間引く」とハードコードしないでください。どちらのオフセットも、年間を通じたニューヨーク時間を表すものではありません。

判断項目株式の例暗号資産の例
仮説の時計通常取引セッションの寄り付きからの経過分数1日のUTC時間
セッションの基準祝日と短縮取引日を含む取引所カレンダー連続したUTCカレンダー
注文のタイミングシグナル後、最初に執行可能なイベントシグナル後、最初に執行可能なイベント

次に、切り替え前後の週を分けてテストします。各サマータイム変更の前後でパフォーマンスを比較し、好成績の時間帯が市場セッションに連動し続けるのか、UTCで固定されたままなのかを確認しましょう。最良の結果を探すために多くの時間帯、日付、オフセットを試したなら、その探索も過剰適合の評価に含めます。時計の選択も別の試行だったからです。

タイムゾーンは、差し引く時間数ではなく、ルールの集合です。イベントはUTCで保存し、必要なときに現地市場時刻を導出しましょう。

ペーパートレードで確認すること

戦略をペーパートレードに移したら、イベントのUTCタイムスタンプとセッション開始からの経過分数の両方を記録します。これで、寄り付きが09:30だと思っているのに、実際には現地時刻の10:30に発注している戦略をすぐに見つけられます。祝日や短縮取引日も確認してください。通常のセッション時間を毎週の全営業日に当てはめると、取引所が休場の日にも取引を勝手に作り出してしまいます。

時計が変わったとき、株式曲線を見慣れた形にするためにシグナルをずらして結果を「修正」したくなるかもしれません。その前に、明記した仮説、カレンダー、注文のタイミングを確認しましょう。結果が市場セッションに連動して動くなら、セッションの動きについて何かが分かったということです。同じUTC時間帯にとどまるなら、別のことが分かったということです。バックテストでは、その違いを保つ必要があります。

日中の季節性タイムゾーンバックテスト市場時間データエンジニアリング
← 記事一覧