Data specification and alignment
売買・バックテスト対象はMNQ。MESはSMT判定の参照市場であり、MESの約定損益は計算しない。取得状況の公開用集計は results/summary/data_inventory.json に保存し、元の価格バーは配布しない。
SMTの分析可能期間は両系列の共通時刻のみ。欠損バーは補間しない。
現行データ(2026-09-28更新)
| 用途 | 系列 | 本数 | NY現地時間の終点 |
|---|---|---|---|
| MNQ売買・バックテスト | Databento 5m | 122,577 | 2026-09-25 16:55 |
| MNQ追加分の原資料 | Databento 1m(9/18以降のみ) | 7,360 | 2026-09-25 16:59 |
| MES SMT参照 | Databento 1m | 611,239 | 2026-09-25 16:59 |
| MES SMT参照 | 完全な1分足5本から集約した5m | 122,110 | 2026-09-25 16:55 |
- 分析終点は完了済みの2026-09-25 NY取引日。MNQ/MESの時刻一致5分足は121,858本、MNQのみ719本、MESのみ252本。全取得状況とSHA256は
results/summary/data_inventory.jsonとdata/raw/manifest.json。 - MNQは旧2026-09-18 09:25までの実限月コード付き5分足に、Databento
MNQ.c.0と満期金曜のMNQ.c.1から集約した1,470本を連結。旧ファイルは保持し、新系列はdata/raw/mnq_5m_databento_2025-01-01_2026-09-26.csv。ローダーは実限月の切替点から先にのみ価格差を加算する。 - MESは旧2026-09-23 19:59までの1分足に9/25まで2,640本を追加。9/18満期金曜09:30〜16:59は
MES.c.1の450本を補い、以後の12月限にMESZ6を付した。最終系列はdata/raw/MES/mes_1m_databento_20250101_20260926_expiryfill.csvとその5分足。9/18以前のMESには実限月コードがないため、それ以前のロールは復元していない。 - 追加API見積額は初回MNQ/MES約$0.0365、MES限月補完約$0.0016。MNQの保存前検証で列形式不一致が起き、追加MNQ照会を1回行ったため、実請求は見積額合計より高くなり得る。価格CSVはサイトやGitへ公開しない。
- MNQの全期間1分足は未保存のため、全期間の3分足SMTは引き続き計算しない。旧TradingView MESは比較資料専用で、現行主パイプラインはDatabento MESを使用する。
以下の旧スナップショット節は取得履歴として残す。現在のソースと期間は上記および設定ファイルを参照。
旧スナップショット: TradingView MES系列
| Field | MNQ | MES |
|---|---|---|
| Source | Databento GLBX.MDP3 | TradingView export |
| Continuous | True MNQ.c.0 | unknown |
| Local SMT-source interval | 5m | 5m |
| Rollover | vendor continuous mapping, local forward-only gap adjustment | unknown |
| Back adjustment | vendor none; local forward-only | unknown |
| Contract column | symbol | missing |
| Timezone | America/New_York, DST-aware | America/New_York, DST-aware |
| Session | ETH | unknown |
| Coverage | 2025-01-01 18:00:00-05:00 .. 2026-09-18 09:25:00-04:00 | 2026-04-05 18:00:00-04:00 .. 2026-09-15 21:15:00-04:00 |
| Missing volume bars | 0 | 32140 |
| Duplicate bars | 0 (loader rejects duplicates) | 0 (loader rejects duplicates) |
Alignment quality
- MNQ-only bars in overlap: 0
- MES-only bars in overlap: 276
- Exact matched bars: 31864
- Timestamp mismatches / unmatched bars: 276
- Missing ratio (union denominator): 0.8587%
- Overlap UTC: 2026-04-05T22:00:00+00:00 .. 2026-09-16T01:15:00+00:00
SMT availability
Computed: 5m, 10m, 15m, 30m, 60m, 90m, 4h, 1d, 1w. Unavailable: {'3m': 'requires source bars dividing 3m; current=5m'}. 5m系列から3mを再構成しない。
追加取得済みMESの仕様と感度分析は以下に記録。 元データ・Pine本文はライセンスによりGit管理外。
Data source docs: https://databento.com/docs/examples/symbology/continuous
旧スナップショット: 2026-09-25取得のMES Databento系列
- 取得日: 2026-09-25。取得元: Databento
GLBX.MDP3、ohlcv-1m、継続シンボルMES.c.0。期間:2025-01-01以上、2026-09-24未満(UTC)。実際のバーは2025-01-01 23:00〜2026-09-23 23:59UTC。 - 保存先:
data/raw/MES/mes_1m_databento_20250101_20260924.csv(608,149本)、完全な5本からのみ集約したdata/raw/MES/mes_5m_databento_20250101_20260924.csv(121,492本)。SHA256とAPI見積額 $2.220220938325 はdata/raw/manifest.jsonに記録。 - 時刻は
America/New_York(DST対応)。取得対象は継続先物の全取引時間帯(ETH相当)で、RTHへの限定はしていない。Databentoの期近継続先物マッピングを使用し、ベンダー側のバックアジャストは指定していない。ロール基準の詳細は未検証。 symbolとcontract列にはMES.c.0が入る。実限月コードではないため、このファイル単独で限月切替時刻を復元・検証できない。MNQ既存ファイルとはこの点が異なる。- 1分足の重複時刻、欠損値、OHLC不整合、非正出来高は各0件。取得時、Databentoは一部日付の品質低下を警告(例: 2025-09-17、2025-09-24、2025-11-28。全対象日リストは未照会)。欠損バーの補間は行っていない。
- 既存MNQ 5分足との共通期間
2025-01-01 23:00〜2026-09-18 13:25UTCでは、時刻一致120,388本、MNQのみ719本、MESのみ252本、union欠損率0.8001%。旧TradingView MESとの上記分析結果には混ぜていない。 - 当時の旧MESとの感度比較は
reports/mes_source_comparison.mdに保存。現行主パイプラインには上記の更新済みDatabento MESを採用した。3m SMTにはMNQ側の全期間1分足も必要。
確定SMT後の最初のシグナル検証
scripts/run_first_signal_after_smt.pyの更新版はNY現地日付2025-01-01〜2026-09-25を対象にする。Discoveryは2025年通年、retrospective Validationは2026年1月〜9月25日。MESは両期間でDatabentoの同一系列を使用し、旧TradingView MESと混ぜない。5m/15m/60m SMTを使用し、15m/60mは対応する5分足が全て揃い、その上位足が閉じた時刻にのみ確定する。- 同方向のSMTが続く間を1イベントとし、
none・逆方向・ペアの5分超ギャップで区切る。確定時刻と同時のシグナルは除外し、それより後の最初のインジケーターシグナルがイベントを消費する。方向一致はその最初のシグナルの部分集合。 - 売買シグナルは5分足終値で確定し、隣接する次の5分足始値にEntry。日付境界とH007の90分窓は共通約定エンジンに合わせNY現地時刻で区分する。
- 監査列
event_confirmed_at、signal_at、direction_matched、entry_gap_okはresults/features/first_smt_signals.csvに保存。MNQ・Databento MESのSHA256と一致バー数はresults/summary/first_signal_after_smt_provenance.json。2026年9月25日16:55 NYの完了済み最終5分足までを対象とする。 - 現行SMTの参照高安値は過去の上位足から求める。過去側の上位足に欠損5分足があれば、その期間の高安値は観測値だけから計算される。MESの9月18日以降のみ実限月を確認済みで、それ以前のロール近辺の判定は追加確認が必要。
- 追加の4h検証は
--four-hourで別出力する。NY 18:00を起点に4時間を区切り、MNQ・MES両方の5分足48本が全て一致する期間だけ、その4時間足終値でSMTを確定する。取引時間末尾や欠損による未完成の4時間足は確定イベントにしない。結果はreports/first_signal_after_smt_4h.md、監査はresults/features/first_smt_signals_4h.csv。
Session Framework 4分類
config/session_frameworks.yamlが今回の唯一のセッション境界と閾値の正本。既存の4セッション×90分AMDXとは別定義で、Asia 18:00–01:00、London 01:00–08:00、NY 08:00–16:00、NY AM 08:00–12:00。全てAmerica/New_Yorkの壁時計で判定し、18:00以降のバーは翌NYカレンダー日付のセッションへ割り当てる。09:30 Cash Openは価格参照であり、Framework判定の取引禁止条件ではない。- MNQ 5分足に対してF1〜F4のSweep・Reclaim・Expansionの各時刻を保存。Sweepは基準高安を最低1 tick越え、既定では3本以内に内側でClose。ExpansionはReclaim後の別の足で、セッション開始時点のATR14×1以上の順方向移動に初めて到達した足のCloseで確定する。幅のtick、ATR、Session Range、固定Pointは設定とイベント列で追試できる。複数FrameworkとNO_FRAMEWORKを許可する。日次集計は後から見た全日の構造であり、エントリー判定には
confirmed_at <= entry_timeだけを使用する。 - F1のKey Levelは前の完了したNY取引日高安。F2の明確なAsia Rangeは同RangeとLondon開始時の5分足ATR比で判定。F3のHTF Targetは前日高安または01:00以前に完成した7時間足のSwing高安/FVGの直近候補。7時間足はNY 18:00起点の420分窓で、完全な84本が必要。LondonのProtractionはNet距離/ATR、効率、最大Retracementを別々に記録してから合成判定する。F4はLondon高安のNY AM Sweep/Reclaim/Expansion。目視ICTラベルの完全再現とは主張しない。
- SMTは2025年から使えるDatabento MESとMNQの時刻一致5分足で計算。5m/15m/60m/90m/4hは対象足に必要な一致バーが全て揃った時だけ、1d/1wは通常ETHバー数の99%以上を条件にし、最後の完成足の状態を次のEntryに結合する。欠損を補間せず、許容時刻を超えた状態は
unknown。HTF Biasは前の完了日Closeと5日平均の比較。ボラティリティは確定5分足のATRに基づく既存の高・低ラベル。AMDは価格構造ではなく既存のNY AM時間区分。 session_framework_daily.csvは日次のOHLCと成立フラグ、session_framework_events.csvは候補・確定時刻・基準Level・HTF Target、session_framework_trades.csvは約定時点のContext、R損益、MAE/MFEを保持する。サイトには同じ全件CSVの圧縮版session_framework_trades.csv.gzを掲載する。MAE/MFEはEntryからExitを含む5分足高安によるUSDの可能範囲で、同一足の先後・スリッページの細部は判定できない。session_framework_filter_backtests.csvはFramework確定時点以降のEntry制限を実際に再実行し、F4のみ09:30–10:00許可・禁止の両方を保存する。- 2025-01〜08、2025-09〜12、2026-01〜09/25を別集計する。いずれも過去研究で閲覧済みの可能性がある期間で、独立Holdoutではない。Frameworkは単独で注文を出さず、単独PFを定義しない。記述的コホートの最大DDは抽出約定のExit順損益で、複数戦略を一口座で運用した際のDDではない。
scripts/session_framework_expansion_sensitivity.pyはExpansion閾値0.5/1.0/1.5/2.0×ATRのみを変更して全日を再分類し、成立頻度と既存約定の件数・PF・平均R・期待値をsession_framework_expansion_sensitivity.csvに保存する。感度表はEntry制限の再実行ではなく記述的比較であり、閾値の事後選択は将来成績を保証しない。scripts/build_framework_amdx_matrix.pyはEntry時点でF1〜F4の確定フラグがあるMNQ約定だけを、インジケーター×AMDX窓で記述的に再集計する。窓の時刻はEntry直前の5分足シグナルバーの開始時刻で決める。session_amdx_matrix.yamlの4セッション×90分(NY AM D 09:00–10:30)とamdx.yamlのNY AM専用区分(D 09:30–10:30)はschemeで区別し、同一約定に両方のラベルを付ける。Frameworkも重複可能なため、行同士を合算しない。結果CSVはresults/summary/framework_amdx_matrix.csv。- 同スクリプトは90m・4h SMTのEntry時点の確定状態を
results/summary/framework_amdx_smt_matrix.csvに別集計する。presentはbullish+bearish、direction_matchedは買い×bullishまたは売り×bearish。noneは確定した非乖離、unknownはデータ不足。各行のbaselineは同じ期間・インジケーター・窓・SMT条件でFramework指定だけを外す。重複するSMT条件やFramework行の件数・PnLは合算しない。既存約定の分割であり、SMT確定後の最初のシグナル検証や条件付き再約定ではない。 - 3枚版は
scripts/run_framework_scaleout_matrix.pyとconfig/framework_scaleout_targets.yamlに定義する。シグナル確定の次の連続5分足始値に3枚、各TPに1枚、TP1約定後の残りSLは次の足から建値へ。SqueezeはATR14×1・3R/5R/7Rでシグナル決済なし。他14本は既存の初期SL(未定義ならATR14×2)・利用者指定の2R/3R/4Rで既存シグナル決済を維持する。3段階TPが原インジにあると見なさない。同一足でSLとTPに触れたらSL優先、片道1tick不利約定と片道1枚$0.62を含む。各戦略独立口座モデルでNY日の開始残高から−$1,000に達したら決済・当日新規停止。ただし5分足始値ギャップとシグナル決済により、モデル値の日内損失が$1,000を超える場合がある。2025年末・2026年9月25日の未完了ポジションは成績から除外し件数をprovenanceへ記録する。最大DDは3枚セット完了約定のExit順PnLによるコホート値で、口座全体の含み損DDではない。MAE/MFEは3枚の初期数量を全保有期間に掛けた可能範囲で、部分利確後の実際の時系列エクスポージャーではない。