コンテンツにスキップ

開発ログ

v2.6.5 (2025-12-02)

実装検証レポート作成

GitHub Pages記載の仕様と、実際のバックテスト/ペーパートレードコードの実装状況を比較検証。

検証結果サマリー

検証項目 実装状況 詳細
80:20 バーベル戦略 ❌ 未実装 資金配分ロジック(Track A/B)が存在しない
すなっちゃん Spear ⭕️ 実装済 SunacchanSpear クラスおよびモメンタム分析基盤は実装されている
決算トレード戦略 (v3.0) ❌ 未実装 仕様書 (EARNINGS_PLAY_SPEC.md) はあるがコードが存在しない
イグジットロジック ⭕️ 実装済 各戦略クラス内に個別に実装されている(共通モジュールではない)
Plan I 動的パラメータ調整 ⭕️ 実装済 DynamicAdjuster クラスにより実装されている
UW Flow Schema ⚠️ 部分的 APIクライアントは存在するが、戦略への統合とWebSocketが未実装
Crisis Alpha ⭕️ 実装済 CrisisAlpha クラスとして実装されている

ドキュメント追加

  • 実装検証レポート - reports/verification_20251202.md 新規作成
  • ✅ GitHub Pagesレポートセクションに追加
  • ✅ 推奨アクションを明記

バージョン管理整理

  • devバージョン削除 - 数値バージョンに統一
  • バージョン番号の一貫性確保 - 最新バージョンは数値が最大のものを表示

v2.6.4 (2025-12-02)

運用基盤整備計画 - 3つの必須機構

AEGIS運用の根幹となる3つの必須機構を正式に定義・実装開始

1. PT日次稼働(MUST)

項目 内容
稼働条件 米国市場オープン中は必ず実行
シナリオ数 現在5シナリオ → BT後に10シナリオへ拡張
資金管理 \(13k × シナリオ数(\)250k枠内)
トレードログ UUID v4 + 網羅的情報(エントリー/エグジット条件、PnL、手数料、スリッページ)
BT連携 GHP更新をトリガーにBT採用機構を自動反映

実装済み:

  • run_paper_trading_v2.py - 複数シナリオ対応PT
  • monitor_pt_health.py - 5分間隔ヘルスチェック(launchd登録)
  • ✅ トレードログ設計(logs/pt_trades.jsonl

2. ライブデータ蓄積(MUST)

将来のバックテスト用に自前データを蓄積。

データ種別 内容 ソース
オプションデータ Greeks, OI, Bid/Ask, Last Price ThetaData
株価OHLCV 日足 + 1時間足 Polygon
IV Rank 52週パーセンタイル Barchart
GEX 計算結果サマリー 自前計算
Unusual Whales Flow Sweep/Block, Premium, Sentiment Unusual Whales

実装済み:

  • core/archive.py - IV Rank/GEXサマリースキーマ追加
  • scripts/archive_market_data.py - IV Rank/GEX/UW Flow対応

3. ヒストリカルBT(欠損ゼロ必須)

項目 内容
期間 2019-2025年(6年間)
銘柄数 198銘柄(欠損スキップ不可)
欠損対応 計算穴埋めまで許容

データソース優先順位:

  1. ThetaData(8年分、オプションデータ一本化)
  2. Polygon(4年分、2021年以降)
  3. 計算補完(Black-Scholes)
  4. yFinance(最終手段、2019-2020年株価のみ)

PT v2 重大バグ修正

  • 🐛 chart_snapshot/momentumがNoneで渡されていた問題
  • 影響: 全銘柄が「不明瞭: Beat(安全側)」となりエントリー不可
  • 修正: BTと同じロジックを移植
    • _get_daily_bars() メソッド追加
    • generate_chart_snapshot_from_bars() 追加
    • generate_mock_momentum() 追加

Crisis Alpha段階的発動(v2.6.3からの継続)

IV Rank 発動レベル
0.70 部分発動 (intensity=0.5)
0.85 フル発動 (intensity=1.0)

Plan I 動的パラメータ調整

strategies/dynamic_adjuster.py による動的調整:

  • 20MA傾き → ポジションサイズ調整
  • IV Rank平均 → 利確/損切り調整
  • 勝率 → サイズ調整

GitHub Pages更新

  • docs/AEGIS_Operations_Plan.html 新規作成(運用基盤整備計画)
  • docs/AEGIS_System_Overview.html v2.0.3更新
  • ✅ Unusual Whalesを明記(PT/ライブデータ両方)

v2.6.3 (2025-11-30)

ドキュメント大幅拡充

Geminiとの戦略議論で実装した機能について、詳細なドキュメントを追加。

新規ドキュメント(実装詳細)

ページ 内容
MTF分析 マルチタイムフレーム分析(日足/1時間足/5分足)の詳細
UWダマシ検知 Flow Validatorによるフロー品質検証
ステートマシン トレードライフサイクル状態遷移管理
RiskGuardian 3層防御によるコツコツドカン防止
テクニカルバリデーション 重要ライン検出とブレイクアウト確認

新規ドキュメント(戦略)

ページ 内容
決算トレード戦略 IV Run-up / Expected Move Edge / PEAD の3戦略

更新されたドキュメント

  • implementation/index.md - v2.5-2.6新機能一覧を追加
  • strategy/index.md - 80:20バーベル戦略、決算トレードを追加
  • mkdocs.yml - ナビゲーションに新ページを追加

目的

WORK_LOG.mdに記録された実装内容をGitHub Pagesに反映し、「外部記憶」としての精度を向上。 ユーザーが「この機構のテストをしていない」「修正したい」と気づくきっかけを提供。


v2.6.2 (2025-11-30)

バグ修正: 通知システム

Slack/SMS通知が発火しないバグを修正。

  • 🐛 データ構造の不整合修正 - status_data.get("data_sources")status_data.get("status", {}).get("data_sources") に修正
  • 🐛 IBKRダウン検知が機能していなかった問題を修正

信頼性向上

  • ダッシュボード接続チェック改善 - lsofコマンドからsocketモジュールに変更(より信頼性が高い)
  • ポート占有対策 - 起動時に既存プロセスを自動終了するkill_process_on_port()追加

ドキュメント

  • 通知システムドキュメント新規作成 - operations/notifications.md
  • Slack通知の設定と動作説明
  • Twilio SMS通知の設定と動作説明
  • トラブルシューティング手順

v2.6.1 (2025-11-29)

新機能: ダッシュボード Filter Analytics

Filter Tracker機能のUI可視化を追加。

  • エントリーファネル円グラフ - 各フィルタ段階での通過率を視覚化
  • イグジット理由分布円グラフ - 利確/損切り等の割合をパイチャートで表示
  • 直近トレード履歴テーブル - 最新10件のクローズ済みトレード一覧
  • Filter Tracker専用ドキュメント - 実装詳細セクションに追加

APIエンドポイント拡張

/api/filter_stats レスポンス形式をUI向けに最適化:

{
  "filter_stages": { "STAGE": {"passed": N, "rejected": M} },
  "exit_reasons": { "REASON": count },
  "total_evaluated": 200,
  "total_passed": 45,
  "recent_trades": [...]
}

ドキュメント更新

  • operations/dashboard.md - Filter Analyticsセクション追加
  • implementation/filter-tracker.md - 新規作成
  • implementation/index.md - v2.5モジュール一覧追加

v2.6.0 (2025-11-29)

新機能: 高精度バックテスト統合

ペーパートレードと同等の高精度バックテストを実現するため、全ての新機構をバックテストに統合。

  • MTFAnalyzer - マルチタイムフレーム分析(日足/1時間足/5分足)
  • FlowValidator - UWダマシ検知(Ask Side、Spot Confirmation、Vol/OI)
  • RiskGuardian - コツコツドカン防止(80:20バーベル戦略)
  • TechnicalValidator - 重要ライン検出、ブレイクアウト確認
  • EMA環境認識 - 200EMA、50EMA、ゴールデンクロス判定
  • フィボナッチ - リトレースメントレベル計算、サポート判定

新統計項目

バックテストサマリーに以下の統計を追加:

項目 説明
mtf_aligned MTF整合した日数
mtf_rejected MTF拒否した日数
ema_bullish/bearish/neutral EMAトレンド別日数
fib_support_hits フィボナッチサポートヒット数
risk_blocked_entries RiskGuardianによるブロック数
emergency_exits 緊急決済発動回数

ドキュメント

  • 提案ステータスレポート - 過去24時間の実装状況を可視化するHTML
  • 決算トレード戦略仕様書 - v3.0マイルストーンとして正式決定

v2.5.0 (2025-11-29)

新機能: Filter Tracker(フィルタ追跡機構)

「なぜ取引が発生しないのか」を可視化し、戦略改善のためのインサイトを提供する機構を実装。

  • core/filter_tracker.py - フィルタ追跡コアモジュール
  • FilterTracker シングルトン - フィルタリング追跡を一元管理
  • FilterStageType - 7段階のエントリーフィルタ定義
  • ExitReasonType - 6種類のイグジット理由定義
  • record_filter_result() - 各段階の通過/振り落とし記録
  • record_exit() - イグジット理由とPnL記録
  • get_summary() - ダッシュボード用サマリー
  • export_debug_csv() - 詳細CSVエクスポート

  • 戦略モジュール追跡統合

  • strategies/sunacchan_spear.py - Spear戦略のフィルタ追跡
  • strategies/beat_shield.py - Beat戦略のフィルタ追跡
  • strategies/strategy_manager.py - レジーム判定追跡

  • ダッシュボードAPI拡張

  • /api/filter_stats - フィルタ統計サマリー
  • /api/filter_history/{trade_id} - 取引IDのフィルタ履歴
  • /api/export_trade_analysis - 外部LLM分析用データエクスポート

  • 取引分析エクスポート

  • scripts/export_trade_analysis.py - 分析用JSONエクスポート
  • --auto-select - 大勝ち/大負け取引の自動抽出
  • 外部LLM(GPT-5.1, Gemini 3.0)分析用プロンプト生成

  • バックテストレポート拡張

  • フィルタ統計のログ出力
  • サマリーJSONにfilter_stats追加
  • DEBUG_FILTERS=trueでDebugモード有効化

エントリーフィルタ段階

段階 名前 説明
1 OPTION_CHAIN オプションチェーン利用可能
2 UW_SWEEP Unusual Whales Sweep検知
3 GEX_MATCH GEXレジームマッチ
4 IV_RANK IV Rank範囲内
5 MOMENTUM モメンタム条件
6 RISK_BUDGET リスク枠チェック
7 SPREAD_BUILD スプレッド構築成功

イグジット理由

理由 説明
PROFIT_TAKE 利確(目標達成)
STOP_LOSS 損切り(閾値到達)
TIME_DECAY 最大保有日数経過
EXPIRY 満期接近
GEX_CHANGE GEXレジーム変化
MOMENTUM_REVERSAL モメンタム反転(Spear専用)

v2.1.0 (2025-11-29)

新機能

  • ThetaDataバルクキャッシュシステム
  • 全56銘柄×1,647日のオプションデータを事前キャッシュ
  • バックテスト高速化(API呼び出し不要)
  • scripts/build_cache_bulk.py - バルク取得スクリプト
  • core/data_cache.py - キャッシュ優先順位管理(バルク→通常→FB/META変換)

v2.0.0 (2025-11-28)

新機能

  • Phase 3: 注文執行(リトライ付き)
  • modules/hands.py - IBKR注文実行
  • OrderStatus Enum - 注文ステータス管理
  • execute_spread_entry() - 指値→値下げ→再試行(最大3回)
  • execute_spread_exit() - 指値→成行フォールバック
  • タイムアウト30秒、部分約定対応

  • Phase 4: ロール戦略

  • strategies/roll_strategy.py - ロール判定ロジック
  • ロール条件:

    • DTE ≤ 7 → Roll Out
    • ITM化 → Roll Up/Down
    • Delta ≥ 0.4 → Roll
    • 利益80%以上 → Roll検討
  • Phase 5: リスク管理強化

  • ポートフォリオデルタ管理
  • セクター分散/相関リスク監視

  • ライブデータアーカイブシステム

  • core/archive.py - Parquet形式(zstd圧縮)
  • core/market_time.py - 市場時間ユーティリティ(夏時間/冬時間対応)
  • scripts/archive_uw_flow.py - UWフロー5分間隔アーカイブ
  • scripts/archive_market_data.py - オプション/GEX/株価1分足
  • launchd plist: 自動化スケジュール

  • Unusual Whales動的銘柄選定

  • core/unusual_whales.py - 公式API直接接続
  • core/scanner.py - Hot Symbolスコアリング
  • Whale取引($50k+)、Sweep取引検知

  • ダッシュボード改善

  • Barchart IV Rank ステータス表示
  • Polygon早期終了情報表示
  • データ鮮度警告の詳細化
  • Slack/SMS緊急通知

  • 98D GEXデータ事前キャッシュ完了

  • 56銘柄 × 1,647日
  • 所要時間: 8.7時間
  • キャッシュサイズ: 43MB

修正

  • 🐛 バックテストPnL計算の修正
  • Put売りのITM/OTM判定
  • 担保管理の追加

  • 🐛 データ鮮度警告の理由表示

  • "不明" → 具体的な理由(休場日、週末、時間外など)

  • 🐛 トレードロジック抜本的修正

  • エントリー条件追加(GEX/モメンタム/日次上限)
  • イグジットロジック実装(利確/損切り/時間/GEX変化)
  • リアルタイムオプション価格取得

  • 🐛 IBKR TWS自動起動問題

  • ログパス権限問題修正
  • pgreplsof ポートチェック

  • 🐛 Unusual Whales APIレート制限対応

  • 市場フェーズ別キャッシュ(2分〜15分)
  • 推定日次消費: 約341 req/日

v1.0.0 (2025-11-15)

初期リリース

  • すなっちゃん Spear 戦略
  • Beat Shield 戦略(スプレッドのみ)
  • Unusual Whales 統合
  • ダッシュボード v1