コンテンツにスキップ

リスク管理

概要

AEGISは多層的なリスク管理を実装しています。


リスク階層

graph TB
    A[ポジションレベル] --> B[戦略レベル]
    B --> C[ポートフォリオレベル]
    C --> D[口座レベル]

ポジションレベル

1トレードリスク

戦略 リスク
Spear 5%
Shield 2%

損切り

戦略 損切り
Spear -30%
Shield -50%

戦略レベル

戦略リスク上限

戦略 上限
Spear 15%
Shield 8%

同時ポジション制限

戦略 同一銘柄 戦略全体
Spear 1 3
Shield 1 2

ポートフォリオレベル

デルタ管理

class PortfolioDeltaManager:
    """ポートフォリオデルタ管理"""

    MAX_NET_DELTA = 500  # 最大ネットデルタ

    def check_delta(self) -> bool:
        """デルタをチェック"""
        net_delta = sum(pos.delta * pos.quantity for pos in self.positions)
        return abs(net_delta) < self.MAX_NET_DELTA

セクター分散

MAX_SECTOR_EXPOSURE = 0.30  # 30%

def check_sector_exposure(sector: str) -> bool:
    """セクターエクスポージャーをチェック"""
    sector_value = sum(
        pos.value for pos in self.positions
        if pos.sector == sector
    )
    return sector_value / self.portfolio_value < MAX_SECTOR_EXPOSURE

相関リスク

class CorrelationMonitor:
    """相関リスク監視"""

    MAX_CORRELATION = 0.70

    def check_correlation(self, new_symbol: str) -> bool:
        """相関をチェック"""
        for pos in self.positions:
            corr = self._calculate_correlation(new_symbol, pos.symbol)
            if corr > self.MAX_CORRELATION:
                return False
        return True

口座レベル

最大ドローダウン

MAX_DRAWDOWN = 0.20  # 20%

def check_drawdown() -> bool:
    """ドローダウンをチェック"""
    current_value = get_account_value()
    peak_value = get_peak_value()
    drawdown = (peak_value - current_value) / peak_value
    return drawdown < MAX_DRAWDOWN

日次損失制限

MAX_DAILY_LOSS = 0.05  # 5%

def check_daily_loss() -> bool:
    """日次損失をチェック"""
    daily_pnl = get_daily_pnl()
    return daily_pnl > -self.capital * MAX_DAILY_LOSS

自動ヘッジ

ヘッジ提案

class AutoHedger:
    """自動ヘッジ"""

    def suggest_hedge(self) -> Hedge | None:
        """ヘッジを提案"""
        net_delta = self._calculate_net_delta()

        if abs(net_delta) > self.HEDGE_THRESHOLD:
            return Hedge(
                type="SPY_OPTIONS",
                delta=-net_delta,
                reason="Delta neutralization"
            )

        return None

現在は提案のみ

自動ヘッジ実行は v5 で実装予定。現在は提案のみ。


リスクダッシュボード

ダッシュボードで以下を監視:

  • ネットデルタ
  • セクターエクスポージャー
  • 日次PnL
  • ドローダウン
  • 戦略別リスク使用率

実装ファイル

  • core/risk.py - RiskManager
  • core/portfolio_manager.py - ポートフォリオ管理
  • core/correlation_monitor.py - 相関監視
  • core/auto_hedger.py - 自動ヘッジ