開発ログ¶
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銘柄(欠損スキップ不可) |
| 欠損対応 | 計算穴埋めまで許容 |
データソース優先順位:
- ThetaData(8年分、オプションデータ一本化)
- Polygon(4年分、2021年以降)
- 計算補完(Black-Scholes)
- 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.htmlv2.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注文実行OrderStatusEnum - 注文ステータス管理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自動起動問題
- ログパス権限問題修正
-
pgrep→lsofポートチェック -
🐛 Unusual Whales APIレート制限対応
- 市場フェーズ別キャッシュ(2分〜15分)
- 推定日次消費: 約341 req/日
v1.0.0 (2025-11-15)¶
初期リリース¶
- すなっちゃん Spear 戦略
- Beat Shield 戦略(スプレッドのみ)
- Unusual Whales 統合
- ダッシュボード v1