メインコンテンツまでスキップ

研究方針

1. 意思決定の基準(再定義)

  1. 比較基準は常に 10ETH buy-and-holdinitial-position-eth=10 で公平化)
  2. 主目的は alpha_total_pnl_jpy > 0 の再現性
  3. 学習指標(logloss/MSE)は補助であり、採用判断はバックテストAlphaで行う
  4. 実験は必ず「期間・モデル・実行条件」を固定して記録する

2. 戦略開発の3本柱

A. Hold10 Overlay(主軸)

  • 対象:
    • ml_hold10_softmax_overlay_aggressive
    • ml_hold10_softmax_overlay_regime_blend
    • ml_hold10_softmax_overlay_cost_guard(新規)
  • 目的:
    • 「常時ロング」を基本に、下落局面だけ露出を下げてAlphaを取る
  • 次の最適化軸:
    • hold_bias_bps, flat_cost_bps, short_cost_bps
    • confidence/cooldown/min_hold
    • downside検知しきい値(logret_30s, imbalance, rv_30s

B. Rule Overlay(比較対照)

  • 対象:
    • baseline_technical_hold_overlay_adaptive
    • baseline_regime_switch_micro
    • baseline_flow_imbalance_pulse
  • 目的:
    • MLが不安定な区間での安全弁
    • 低複雑度でのAlpha獲得余地を定量化

C. Image/Transformer(中期育成)

  • 対象:
    • image_alpha_linear
    • image_alpha_transformer
  • 目的:
    • event画像表現で tabular を上回る signal を得る
  • 現状:
    • OOS相関は改善したがまだ小さいため、単体採用は保留

3. 90日ロードマップ

Phase 1(今週〜2週間)

  1. Hold10 Overlay を短期区間(例: 2026-01-01〜01-31)で反復最適化
  2. 探索は seed固定シャッフル を前提に、7日抽出 → 1か月再検証 の二段階で運用
  3. h300 を基準モデルにして cost_guardclass_weight_mode を比較
  4. 週次で alpha_total / alpha_sharpe / alpha_max_dd / turnover を比較

Phase 2(3〜6週間)

  1. walk-forward で train/valid 分離を厳密化
  2. ラベルを state-aware(現在ポジションと遷移コストを明示)へ移行
  3. セッション別(東京/欧州/米国)パラメータ分離
  4. 上位2戦略のアンサンブル(ゲート切替)を導入

進捗(2026-02-15):

  • state-aware ラベル実装は完了(label_mode/switch_cost/short_extra/hysteresis)。
  • 42日評価(2026-01-01〜2026-02-11)で alpha_total_pnl_jpy = +1,142,330 を確認。
  • 週次walk-forward(7日窓)でも statefulgreedy を上回ることを確認(+732,210 vs +213,660)。
  • 窓幅感度(14日/21日)でも stateful 優位を維持。

Phase 3(7〜12週間)

  1. image-transformer を full-train(非サブサンプル)で再学習
  2. image出力を hold10 overlay の補助シグナルとして統合
  3. OOS(2025-10-01〜2026-02-11)で総合比較し、昇格候補を決定

4. 昇格ゲート(運用反映条件)

  1. alpha_total_pnl_jpy > 0(評価区間)
  2. alpha_max_dd が許容範囲内(既存主力より悪化しない)
  3. deadline_breach_flag == 0
  4. turnover が過大でない(実行可能な注文密度)
  5. 同条件で複数期間に再現する

5. 実装ルール

  • 新戦略追加時は:
    • src/atc/strategies/ への実装
    • registry 登録
    • 最低1つのユニットテスト
    • docs更新(research-log.mdresults.md
  • 実験後は:
    • CSVサマリを data/derived/reports/ に保存
    • 採用/不採用の理由を1段落で記録