参照外部データ¶
概要¶
AEGISのペーパートレード(PT)およびライブトレードでは、複数の外部データソースからリアルタイムデータを取得し、戦略判断・エントリー・イグジット・リスク管理に活用しています。
本ページでは、PTで実際に使用している外部データソースと、その役割・実装箇所・関連スクリプトを一覧化します。
外部データソース一覧¶
データソース → 役割 → 実装の対応表¶
| 外部データソース | 取得データ(代表) | PTでの役割(何に効くか) | 取得方式 | 実装の主戦場(主要ファイル) | 生成物/保存先(ログ/アーカイブ/キャッシュ) | 関連スクリプト(運用) |
|---|---|---|---|---|---|---|
| Polygon.io(Stocks Snapshot / Indices Snapshot) | 株価リアルタイム、指数(例: I:VIX, I:SPX) |
現在値/変動を全戦略の土台として供給。VIXはRiskGuardianの警戒/緊急判断の入力にもなる | REST | AEGIS/core/hybrid_data_provider.py(_get_realtime_stock_from_polygon() / get_realtime_snapshot() / get_vix()) |
PTは AEGIS/logs/PT_logs/* に周期ログ、必要に応じ data/live_data_archive/stocks/... にParquet保存 |
AEGIS/scripts/run_paper_trading_v2.py(PT本体) |
| Polygon.io(Stocks Aggs) | 日足OHLCV | EMA/MTF/モメンタム等の 日足ベース判定(戦略モード切替・エントリー可否の材料) | REST(必要時)/(キャッシュ参照の場合あり) | AEGIS/core/hybrid_data_provider.py(get_daily_bars()) + AEGIS/scripts/run_paper_trading_v2.py(_get_daily_bars()経由で利用) |
必要に応じてPT内で取得・利用(保存は別途アーカイブ/ログ) | AEGIS/scripts/run_paper_trading_v2.py |
| Polygon.io(Options Snapshot = Live Chain + Greeks) | オプションチェーン(満期/ストライク/ bid/ask/mid)、Greeks、IV、OI/Volume | 建玉候補の生成・流動性判定・価格決定・GEX計算の入力(PlanS/PlanR系の中核) | REST(ページネーション有) | AEGIS/core/hybrid_data_provider.py(_get_option_chain_from_polygon()) |
プレフェッチキャッシュ: AEGIS/data/cache/realtime_options/ / PTアーカイブ: data/live_data_archive/options/... |
AEGIS/scripts/prefetch_option_chains.py(198銘柄を先にキャッシュ) / AEGIS/scripts/run_paper_trading_v2.py |
| Unusual Whales(Option Flow) | Sweep/Block/Flow Alerts(premium, sentiment, etc) | 「すなっちゃん系」等の 初動検知(Hot銘柄選定、方向感、強度スコア) | REST(PTでは use_websocket=False で30秒ポーリング) |
AEGIS/core/unusual_whales.py / AEGIS/core/scanner.py(DynamicScanner) |
参考ログ: AEGIS/logs/PT_logs/* / アーカイブ: AEGIS/data/live_data_archive/uw_flow/...(Parquet) |
AEGIS/scripts/run_paper_trading_v2.py(scanner初期化) |
| Unusual Whales(IV Rank) | iv_rank_1y(0–1に正規化) |
Crisis Alpha等の IVベース判定、レジーム/リスクの補助入力 | REST | AEGIS/core/uw_iv_provider.py(UnusualWhalesIVProvider) + AEGIS/core/hybrid_data_provider.py(get_iv_rank()) |
PT内で参照(必要に応じアーカイブ設計可) | AEGIS/scripts/run_paper_trading_v2.py(iv_provider=UnusualWhalesIVProvider()) |
| IBKR(TWS/IB Gateway) | 口座情報、建玉、約定、注文発行 | 発注・建玉管理・約定追跡(ライブ運用の実行層) | ローカル接続(IB API) | AEGIS/modules/hands.py(IB APIラッパ) + AEGIS/scripts/run_paper_trading_v2.py(Hands.create_paper_trading_instance(port=4002, client_id=...)) |
AEGIS/logs/PT_logs/YYYY-MM-DD/trades.jsonl(構造化トレードログ)/ paper_trading_live.log |
AEGIS/scripts/kick_ibkr_pt.py / AEGIS/scripts/launchd/start_tws_if_needed.py / AEGIS/scripts/monitor_pt_health.py |
データ処理スクリプト一覧¶
スクリプト → 役割 → 出力の対応表¶
| スクリプト | 役割 | 入力(外部/内部) | 出力(保存先) |
|---|---|---|---|
AEGIS/scripts/run_paper_trading_v2.py |
PT本体(取得→判断→発注→ログ→アーカイブ) | Polygon / UW / IBKR | AEGIS/logs/PT_logs/*、AEGIS/data/live_data_archive/*(Parquet) |
AEGIS/scripts/prefetch_option_chains.py |
Polygon Options Snapshotを事前取得してキャッシュ | Polygon Options | AEGIS/data/cache/realtime_options/*.json |
AEGIS/core/archive.py(実装) |
ライブデータをParquetで永続化 | PT内で生成した正規化レコード | AEGIS/data/live_data_archive/{uw_flow\|options\|stocks\|vix\|trades}/... |
AEGIS/scripts/fill_iv_rank_gaps.py |
IV Rankの欠落補完(主にヒストリカル側) | Barchart raw + VIXキャッシュ等 | AEGIS/data/cache/iv_rank_filled/ |
AEGIS/scripts/monitor_pt_health.py |
PT稼働監視(死活・異常検知) | PTログ/状態 | 監視ログ(状況確認用) |
AEGIS/scripts/launchd/start_tws_if_needed.py |
TWS/IB Gatewayの自動起動補助 | ローカルサービス状態 | 稼働状態維持 |
外部データの保存/可観測性(PTの生成物)¶
| 種別 | 生成物 | 目的 |
|---|---|---|
| PTログ(人間向け) | AEGIS/logs/PT_logs/YYYY-MM-DD/operational.log, detail.log |
稼働状況の追跡、例外・遅延・判断根拠の確認 |
| PTログ(機械向け) | AEGIS/logs/PT_logs/YYYY-MM-DD/trades.jsonl |
トレードイベントの厳密な再現・分析(strategy/理由/価格/UUID等) |
| ライブ監視ログ | AEGIS/logs/PT_logs/paper_trading_live.log |
シナリオ別NLV/建玉などの“定期スナップショット” |
| プレフェッチキャッシュ | AEGIS/data/cache/realtime_options/*.json |
場中のPolygon呼び出しを減らし、遅延/欠損による機会損失を減らす |
| ライブデータアーカイブ(Parquet) | AEGIS/data/live_data_archive/{uw_flow\|options\|stocks\|vix\|trades}/... |
将来のBT/検証に使える“ライブ実データ”の蓄積(断定分析の根拠) |
実装箇所(コードリファレンス)¶
PT本体(全体のオーケストレーション)¶
ファイル: AEGIS/scripts/run_paper_trading_v2.py
- 外部データ初期化:
Hands(...),HybridDataProvider(enable_theta=False),DynamicScanner(...),LiveDataArchive(...) - アーカイブ保存:
write_stocks/write_options/write_vix/write_trade_snapshot
市場データ統合(Polygon中心)¶
ファイル: AEGIS/core/hybrid_data_provider.py
- リアルタイム株価取得:
_get_realtime_stock_from_polygon() - オプションチェーン取得:
_get_option_chain_from_polygon() - VIX取得:
get_vix() - 日足データ取得:
get_daily_bars()
Unusual Whales(フロー/IV Rank)¶
ファイル:
- AEGIS/core/unusual_whales.py(REST API クライアント)
- AEGIS/core/scanner.py(DynamicScanner)
- AEGIS/core/uw_iv_provider.py(IV Rankプロバイダー)
ライブアーカイブ¶
ファイル: AEGIS/core/archive.py
- Parquet形式でのデータ永続化
- スキーマ定義:
UW_FLOW_SCHEMA,OPTIONS_SCHEMA,STOCKS_SCHEMA,GEX_SCHEMA,IV_RANK_SCHEMA,TRADE_SNAPSHOT_SCHEMA
Polygonチェーンの事前取得(PT向け)¶
ファイル: AEGIS/scripts/prefetch_option_chains.py
- 198銘柄のオプションチェーンを事前取得してキャッシュ
- 実行タイミング: 1日2回(18:00 JST, 03:00 JST)
設定(認証情報/ポート)¶
| 項目 | 設定場所 | 値/説明 |
|---|---|---|
| Polygon API Key | .env の POLYGON_API_KEY |
Polygon.io APIキー |
| Unusual Whales Token | .env の UNUSUAL_WHALES_API_TOKEN |
Unusual Whales APIトークン |
| IBKRポート | TWS/IB Gateway(PT想定) | port 4002 |
| ThetaDataポート | Theta Terminal(参考) | port 25503(※PT v2では enable_theta=False で基本無効化) |
関連ドキュメント¶
- エントリーロジック - データソースを活用したエントリー判定の詳細
- システム概要 - データソース - データソース全体像
- バックテスト設定 - バックテストでのデータ利用方法