🗄️ 歴史的文書(アーカイブ) — この文書は過去の研究フェーズの記録であり、現在の結論・手法を反映していません。現在の研究状況は解説セクションを参照してください。
Phase 1.5-v2 — 62 日間リーダーボード(Fix-1 + Fix-2 適用、15 戦略)
本ページは Phase 1.5-v2 のリーダーボード・レポート research_reports/phase1_5_v2_leaderboard.md を整理したもの。
v1 (phase1_5/leaderboard.md) で明らかになった 2 つのバグを修正し、Phase 2 (phase2/alpha-signal-candidates.md) で提案された 3 つの microstructure alpha 候補戦略を実装した上で、2026-02-17 → 2026-04-19 の 62 日ストリーム窓で 15 戦略を並走させた。結果は 15 戦略全てが cost-adjusted hold-10-ETH ベンチマーク(+¥510,082)に負ける — v1 の結論を追認しつつ、新しい失敗モードを 3 つ露呈した。
ラン条件
- Symbol:
ETH_JPY - Window: 2026-02-17 → 2026-04-19(62 日、両端含む)
- Initial position: 10 ETH(
start_cash = 0) - Holding cost: 0.04%/日 06:00 JST 課金 — 戦略・ベンチマーク両方に適用(Fix-2)
- Benchmark:
hold 10 ETHcost-adjusted = +¥510,082(v1 の +¥591,155 から -¥81k 補正) - Source:
--source s3-stream - Maker-quote fill simulator: 動作(Fix-1)—
mm_zero_fee_inside_spreadが 95,945 回の実 fill を生成 - Run tag:
phase1_5_s3_v2 - 完了日時: 2026-04-21 ~06:15 JST
v1 から v2 への変更点
v1 を走らせて発覚した 2 つのバグと、Phase 2 からの追加シグナル 3 本を反映した。
- Fix-1: Maker-quote fill simulator を実装(
phase1_5/mm-zero-fee-simulator-bug.mdの Option A を採用)。v1 ではmm_zero_fee_inside_spreadが 62 日で 1 fill しか生成せず、沈黙したままリーダーボード 1 位に誤ランクされていた。src/atc/cli/backtest.pyの resting-quote fill ループを追加し、trade event が resting quote を cross したら fill をブックするようにした。 - Fix-2: ベンチマーク側にも holding cost を課金(
phase1_5/benchmark-audit.mdで定量化された 13.7% の非対称性を解消)。v1 のベンチマーク +¥591,155 は pre-cost、戦略は post-cost という非対称性を持っていたため、今回は両方に 0.04%/日 を課して +¥510,082 に統一。 - +3 新 Phase 3 alpha 戦略(
phase2/alpha-signal-candidates.mdの top-3 候補を実装):alpha_top1_vs_deep,alpha_deep_imbalance_reversion,alpha_big_trade_follow。Phase 2 の signal-theoretic 推定では 3-5× 楽観的と注意書きがあった通り、実戦では big loser 圏に着地した。
フル・ランキング(15 戦略、alpha_total_pnl_jpy 降順)
| # | strategy | alpha | strat_pnl | bench | fills | hold cost | max|pos| |
|---|---|---|---|---|---|---|---|
| 1 | baseline_flat | -¥509,437 | +¥645 | +¥510,082 | 1 | ¥0 | 10 |
| 2 | baseline_flow_imbalance_pulse | -¥519,631 | -¥9,548 | +¥510,082 | 5,492 | ¥49 | 0.05 |
| 3 | baseline_mean_reversion_micro | -¥522,377 | -¥12,294 | +¥510,082 | 11,070 | ¥32 | 0.05 |
| 4 | baseline_momentum_micro | -¥523,990 | -¥13,907 | +¥510,082 | 11,561 | ¥53 | 0.05 |
| 5 | baseline_regime_switch_micro | -¥525,835 | -¥15,752 | +¥510,082 | 3,986 | ¥50 | 0.05 |
| 6 | baseline_inventory_mm | -¥528,073 | -¥17,990 | +¥510,082 | 11,905 | ¥116 | 0.05 |
| 7 | baseline_queue_imbalance_breakout | -¥531,004 | -¥20,921 | +¥510,082 | 11,095 | ¥90 | 0.05 |
| 8 | baseline_sweep_follow | -¥531,411 | -¥21,328 | +¥510,082 | 9,469 | ¥80 | 0.05 |
| 9 | multiday_trend_carry_aware | -¥668,517 | -¥158,434 | +¥510,082 | 230 | ¥24,137 | 10 |
| 10 | alpha_big_trade_follow (new Phase 3) | -¥5,041,583 | -¥4,531,500 | +¥510,082 | 12,155 | ¥16,015 | 10 |
| 11 | imbalance_momentum_micro | -¥5,867,217 | -¥5,357,134 | +¥510,082 | 11,745 | ¥10,699 | 10 |
| 12 | alpha_deep_imbalance_reversion (new Phase 3) | -¥7,191,127 | -¥6,681,045 | +¥510,082 | 17,826 | ¥15,405 | 10 |
| 13 | sweep_counter_fade | -¥7,581,063 | -¥7,070,980 | +¥510,082 | 13,522 | ¥21,100 | 10 |
| 14 | alpha_top1_vs_deep (new Phase 3) | -¥12,265,576 | -¥11,755,493 | +¥510,082 | 35,716 | ¥21,898 | 10 |
| 15 | mm_zero_fee_inside_spread (Fix-1 now working) | -¥22,588,324 | -¥22,078,241 | +¥510,082 | 95,945 | ¥1,292 | 10 |
ヘッドライン・ファインディング
-
どの戦略も hold-10-ETH に勝てない。 ベンチマークを修正(Fix-2, -¥81k)し maker-quote fill を有効化(Fix-1)しても、正のアルファを出す戦略はゼロ。
-
mm_zero_fee_inside_spreadは実約定が走った瞬間に壊滅的に負ける。 v1 では silent で +¥25,967(ランク 1 誤認)だったのが、Fix-1 で fill が有効化された瞬間 -¥22.6M に転落(ランク 15)。- 95,945 fills(他戦略の 10 倍以上)
- -¥22.6M strategy PnL
- ゼロ手数料下でも逆選択(adverse selection)は機能する。 スプレッド内に刺した resting quote は informed flow に喰われ、戦略は毎回間違った側のポジションを抱える。これは「zero-fee → quote inside spread = free money」という素朴な仮説を棄却する。
-
Phase 3 の signal-theoretic alpha 戦略は実戦で失敗した。
- Phase 2 が提案した 3 候補(
top1_vs_deep,deep_reversion,big_trade_follow)はそれぞれランク #10, #12, #14 に着地。 - Phase 2 の caveats どおり signal-theoretic P&L は 3-5× 楽観的で、実現 P&L は遥かに悪い。最も善戦した
big_trade_followですら -¥5M。 - 確認: microstructure correlation ≠ tradeable alpha。スプレッド・クロスの規律と逆選択緩和がなければ成立しない。
- Phase 2 が提案した 3 候補(
-
悪いシグナルを 10 ETH にスケールすれば決定論的に -¥M 損失を出す。
- 10 ETH max position の big-size 戦略は全て ≥¥5M の損失。
- マイクロ(0.05 ETH)版は互いに ±¥22k 以内でクラスタリング — エッジがないからスケールでのみ差がついている。
-
保有コストは無視できないライン・アイテム:
- ベンチマークは 62 日で ¥81k 支払う(10 ETH 保持の真のコスト)
sweep_counter_fade,alpha_top1_vs_deepは ¥21-22k の戦略側 carry を支払うmultiday_trend_carry_awareは ¥24k — 設計上最長保有のため 1 戦略当たり最大
Phase 2+ への決定的な教訓
根本的な問題は、ラリー・レジームでベンチマークが強すぎること。Hold-10-ETH は 2-3% の ETH ラリーから +¥510k を稼いだ。これを上回るには以下のいずれかが必要:
- ラリー期間のみの集中エクスポージャ(regime filter → トレンド・アップ時のみ 10 ETH、それ以外 flat)
- 別軸からの非相関アルファ(cross-venue arb、funding-rate arb 等)— 単一 venue spot では利用不能
- 強いシグナルへのレバレッジ(10 ETH max → 20 ETH max にすればシグナルが本物であれば利得倍増)
現在の 15 戦略はいずれもこれらをしていない。Phase 3 alpha シグナルは microstructure correlation を持つが、spread cost × turnover を覆すだけのエッジがない。
次フェーズへの示唆
- Phase 3 継続:
alpha_*の閾値をより高くチューン;--min-order-interval-sec 30でターンオーバーを削減;--max-abs-position-eth 2でダウンサイドを制限。 - Phase 3b — regime-conditional strategy: 5m trend でラリー日を intraday 識別し、ラリー日は 10 ETH を保有、ダウン日は flat する trivial なメタ戦略。ベンチマークのホーム・グラウンドで構造的に勝てるはず。
- Phase 5 walk-forward: 延期。現 15 戦略は全て 62 日 alpha が負であり、負け組に walk-forward をかけても情報価値は乏しい。
mm_zero_fee深掘り: inside-spread quote がなぜ負けるのかを詳細調査。純粋な逆選択か、それとも fill simulator が over-fill しているのか。trade-level ログで非対称 fill 分布を監査する。
アーティファクト
- Reports:
data/derived/reports/backtest_ETH_JPY_2026-02-17_2026-04-19_<strategy>_phase1_5_s3_v2.json - Source changes: Fix-1(
src/atc/cli/backtest.pyresting-quote fill loop)、Fix-2(同ファイル、ベンチマーク holding cost) - Phase 3 strategies:
src/atc/strategies/baselines/alpha_*.py+ registry - Run tag:
phase1_5_s3_v2 - 完了日時: 2026-04-21 ~06:15 JST
関連ページ
- Phase 1.5 — Leaderboard (v1, 62-day, s3-stream) — 本 v2 のベースとなった 12 戦略 v1 リーダーボード
- Phase 1.5 — MM Zero-Fee Simulator Bug — Fix-1 で修正した resting-quote fill simulator 欠落バグの診断レポート
- Phase 1.5 — Benchmark Audit — Fix-2 で対称化した holding-cost 非対称性の監査
- Phase 2 — Alpha Signal Candidates — 本 v2 で実装された 3 つの新 Phase 3 戦略(
alpha_top1_vs_deep,alpha_deep_imbalance_reversion,alpha_big_trade_follow)の元シグナル設計