コンテンツにスキップ

データソース

接続状況サマリー

データソース 用途 接続方式 状態
Saxobank 注文執行 OpenAPI (REST/OAuth2) ✅ 接続OK
Polygon 株価/オプション/GEX REST API (Developer plan) ✅ 接続OK
Unusual Whales オプションフロー / IV Rank REST API ✅ 接続OK
yfinance 株価フォールバック Python API ✅ 利用可能
Finnhub 決算カレンダー REST API ✅ 接続OK
FRED 経済指標 (HY OAS) REST API ✅ 接続OK

Saxobank OpenAPI

概要

Saxobankの取引APIを通じて注文を執行(IBKR TWS/Gatewayから移行済み)。

接続設定

項目 Simulation Live
環境 sim.logonvalidation.net live.logonvalidation.net
認証 OAuth2 (App Key + Secret) OAuth2
Account ID 21734682 -

使用API

  • brokers/saxobank/adapter.py: SaxobankAdapter
  • brokers/saxobank/hands_compat.py: SaxobankHands (IBKR互換レイヤー)
  • OAuth2自動リフレッシュ

Unusual Whales

概要

オプションフローデータを提供。Sweep/Block取引を検出。

API情報

項目
Base URL https://api.unusualwhales.com
認証 Bearer Token
レート制限 120 req/min, 15k req/day

使用エンドポイント

エンドポイント 用途
/api/option-trades リアルタイムフロー
IV Rank取得 UW IV Provider経由

レート制限対策

# 市場時間帯による頻度調整
if is_market_open():
    interval = 30  # 30秒間隔
elif is_pre_market():
    interval = 60  # 1分間隔
else:
    interval = 300  # 5分間隔

Polygon

概要

株価、出来高、オプションチェーン、GEX計算用データを提供する主要データソース。 Developer plan ($79/月) を使用。Snapshot API、Greeks、IV、OI等を含む。

使用エンドポイント

エンドポイント 用途
/v2/snapshot/locale/us/markets/stocks/tickers/{symbol} 株価スナップショット
/v3/snapshot/options/{underlying} オプションスナップショット (Greeks/IV/OI含む)
/v2/aggs/ticker/{symbol}/range/1/day 日次集計データ
/v1/marketstatus/now 市場ステータス

フォールバック

Polygon失敗 → yfinanceフォールバック

yfinance

概要

Polygon失敗時の株価・オプションチェーンフォールバック。

取得データ

データ 用途
株価 (リアルタイム) Polygon失敗時の現在価格
VIX推定 (VXX/VIXY) VIX取得失敗時のフォールバック
オプションチェーン Polygon失敗時の最終手段

制限事項

  • レート制限あり(Yahoo Finance依存)
  • 市場クローズ中はリアルタイム価格取得不可

Finnhub

概要

決算カレンダーデータを提供。決算ブラックアウト(±2日)判定に使用。

プラン

Free tier (無料)

  • 60 API calls/min
  • 30 calls/sec
  • 決算カレンダー、基本的なファンダメンタルデータ

API情報

項目
Base URL https://finnhub.io/api/v1
認証 token クエリパラメータ
レート制限 60 req/min (Free)

使用エンドポイント

エンドポイント 用途
/calendar/earnings 決算カレンダー(バルク取得)

実装方式

  • 1日1回バルクダウンロード(今後90日分、1 API call)
  • ローカルdict キャッシュ → O(1) ルックアップ
  • HybridDataProvider.has_earnings_within() で使用
  • BT/PT両方で決算±2日ブラックアウト判定に使用
# 使用例
if data_provider.has_earnings_within(symbol, current_date, days=2):
    logger.debug(f"[{symbol}] 決算±2日 → 新規停止")
    continue  # エントリースキップ

使用ファイル

  • core/hybrid_data_provider.py: _refresh_earnings_cache(), has_earnings_within()
  • .env: FINNHUB_API_KEY

FRED (Federal Reserve Economic Data)

概要

セントルイス連銀が提供する経済データAPI。HY OAS (ICE BofA US High Yield OAS) をベアレジーム検知に使用。

プラン

Free tier (無料、APIキー登録制)

  • レート制限: 120 req/min
  • 全系列アクセス可能

API情報

項目
Base URL https://api.stlouisfed.org/fred
認証 api_key クエリパラメータ
レート制限 120 req/min (Free)

使用系列

FRED Series ID データ 用途
BAMLH0A0HYM2 ICE BofA US High Yield OAS ベアレジーム検知(≥400bpsでモメンタム方向切替有効化)

実装方式

  • BT: CSV事前ダウンロード (aegis_v3/data/fred/hy_oas.csv)
  • PT: FRED API経由で日次取得(EOD更新)
  • HY OAS ≥ 4.0% (400bps) → ベアレジーム → 銘柄別モメンタムでPut/Call自動切替

使用ファイル

  • aegis_v3/aegis/engine/backtest.py: _load_hy_oas_csv()
  • aegis_v3/aegis/strategy/beat_shield/strategy.py: HY OAS gate チェック
  • .env: FRED_API_KEY

IV Rank

概要

IV Rank データは Unusual Whales API 経由で取得(旧Barchartスクレイピングから移行済み)。

取得方式

  • HybridDataProvider が UW API からIV Rankを取得
  • EODデータ収集時に collect_eod_all.py がIV Rankパーケットを生成

データ鮮度管理

フォールバック理由

理由コード 説明 対応
holiday 休場日 前日データ使用
weekend 週末 金曜データ使用
after_hours 時間外 終値使用
pre_market プレマーケット 前日終値使用
early_close 早期終了 終了時データ使用
api_error API障害 キャッシュ使用