コンテンツにスキップ

アーキテクチャ

システム全体像

graph TB
    subgraph "External Data Sources"
        UW[Unusual Whales API]
        TD[ThetaData API]
        PG[Polygon API]
        BC[Barchart Scraper]
        IB[IBKR TWS/Gateway]
    end

    subgraph "Data Layer"
        HDP[HybridDataProvider]
        DC[DataCache]
        AR[LiveDataArchive]
    end

    subgraph "Analysis Layer"
        GE[GEX Engine]
        DS[DynamicScanner]
        SA[SignalAggregator]
    end

    subgraph "Strategy Layer"
        SM[StrategyManager]
        SP[SunacchanSpear]
        BS[BeatShield]
    end

    subgraph "Execution Layer"
        RM[RiskManager]
        EX[Execution]
        TS[TradeStore]
    end

    subgraph "Monitoring"
        DB[Dashboard]
        SL[Slack/SMS]
    end

    UW --> HDP
    TD --> HDP
    PG --> HDP
    BC --> HDP

    HDP --> DC
    HDP --> AR
    HDP --> GE
    HDP --> DS

    GE --> SA
    DS --> SA

    SA --> SM
    SM --> SP
    SM --> BS

    SP --> RM
    BS --> RM
    RM --> EX
    EX --> IB
    EX --> TS

    TS --> DB
    TS --> SL

レイヤー詳細

Data Layer

コンポーネント 役割 ファイル
HybridDataProvider 複数データソースの統合API core/hybrid_data_provider.py
DataCache ローカルキャッシュ管理 core/data_cache.py
LiveDataArchive Parquetアーカイブ core/archive.py

Analysis Layer

コンポーネント 役割 ファイル
GEX Engine 0D/98D GEX計算 core/gex.py
DynamicScanner Hot Symbol検出 core/scanner.py
SignalAggregator シグナル統合 core/signal_aggregator.py

Strategy Layer

コンポーネント 役割 ファイル
StrategyManager 戦略切替制御 strategies/strategy_manager.py
SunacchanSpear 攻撃型戦略 strategies/sunacchan_spear.py
BeatShield 防御型戦略 strategies/beat_shield.py

Execution Layer

コンポーネント 役割 ファイル
RiskManager リスク管理 core/risk.py
Execution 注文執行 core/execution.py
TradeStore トレード記録 core/trade_store.py

データフロー

エントリーフロー

sequenceDiagram
    participant UW as Unusual Whales
    participant DS as DynamicScanner
    participant GE as GEX Engine
    participant SM as StrategyManager
    participant RM as RiskManager
    participant IB as IBKR

    UW->>DS: Sweep Alert
    DS->>GE: Get GEX Profile
    GE-->>DS: GEX Data
    DS->>SM: Hot Symbol + Signals
    SM->>RM: Trade Request
    RM->>RM: Risk Check
    RM->>IB: Place Order
    IB-->>RM: Order Confirmation

イグジットフロー

sequenceDiagram
    participant TD as ThetaData
    participant PM as PositionMonitor
    participant SM as StrategyManager
    participant IB as IBKR
    participant TS as TradeStore

    loop Every Minute
        TD->>PM: Price Update
        PM->>SM: Check Exit Conditions
        SM-->>PM: Exit Signal
    end

    PM->>IB: Close Order
    IB-->>PM: Confirmation
    PM->>TS: Record Trade

技術スタック詳細

Python パッケージ

# Core
python >= 3.12
pandas >= 2.0
pyarrow >= 14.0
numpy >= 1.26

# API Clients
aiohttp >= 3.9
httpx >= 0.26
ib_insync >= 0.9

# Data Storage
duckdb >= 0.9

# Web
flask >= 3.0
flask-sock >= 0.7

# Utilities
loguru >= 0.7
python-dotenv >= 1.0

外部サービス

サービス 用途 接続方式
IBKR TWS/Gateway 注文執行 TCP (Port 4002/7496)
Unusual Whales オプションフロー REST API
ThetaData オプション/GEX REST API (Port 25503)
Polygon 株価/出来高 REST API
Barchart IV Rank Web Scraping
Twilio SMS通知 REST API
Slack 通知 Webhook