RiskGuardian(コツコツドカン防止)
概要
RiskGuardian は、「コツコツ稼いでドカンと負ける」パターンを防ぐための多層防御機構です。
問題の背景
オプション売り戦略は勝率が高い一方、一度の大負けで複数回の勝ちを帳消しにするリスクがある。
Geminiとの議論で「口座の50%を失わない」ための具体的な防御策を設計。
PT統合完了(2025-12-10)
Paper Trading システムに統合済み。VIXリアルタイム取得とConviction Allocatorと連携。
現在の設定値($13,000口座向け)
口座・アロケーション設定
| パラメータ |
値 |
説明 |
| DEFAULT_ACCOUNT_SIZE |
$13,000 |
基準口座サイズ |
| MARGIN_BUFFER_PCT |
10% |
余力バッファ |
| MAX_ALLOCATION_PCT |
80% |
最大アロケーション |
| BEAT_SHIELD_WEIGHT |
80% |
Shield戦略配分 |
| SUNACCHAN_SPEAR_WEIGHT |
20% |
Spear戦略配分 |
リスク設定
| パラメータ |
値 |
説明 |
| SHIELD_RISK_PER_TRADE |
2% ($260) |
Shield 1トレードリスク |
| SPEAR_RISK_PER_TRADE |
1% ($130) |
Spear 1トレードリスク |
| CRISIS_RISK_PER_TRADE |
2% |
Crisis戦略リスク |
| CRISIS_ALPHA_ALLOCATION_PCT |
15% |
Crisis Alpha配分 |
ポジション数制限
| パラメータ |
値 |
説明 |
| MAX_POSITIONS_SHIELD |
15 |
Shield最大ポジション |
| MAX_POSITIONS_SPEAR |
6 |
Spear最大ポジション |
| MAX_POSITIONS_CRISIS |
5 |
Crisis最大ポジション |
| MAX_CONTRACTS_PER_POSITION |
10 |
1ポジションあたり最大枚数 |
| MAX_SAME_SECTOR_POSITIONS |
4 |
同一セクター上限 |
VIXベースリスク管理
| 閾値 |
VIX |
アクション |
| NORMAL |
< 20 |
通常稼働 |
| CAUTION |
20-25 |
新規エントリー慎重 |
| STOP |
> 30 |
全ポジション強制決済 |
損益・イグジット設定
| パラメータ |
値 |
説明 |
| DAILY_DRAWDOWN_LIMIT_PCT |
3% |
日次ドローダウン上限 |
| GAMMA_EXIT_DTE |
3日 |
ガンマリスク強制決済 |
| STOP_LOSS_PREMIUM_MULTIPLIER |
4.0 |
損切り倍率 |
| PROFIT_TAKE_MAX_PROFIT_PCT |
50% |
利確ライン |
最低クレジット条件
| パラメータ |
値 |
説明 |
| MIN_CREDIT_ABS |
$0.60 |
絶対最低額 |
| MIN_CREDIT_RATIO |
20% |
スプレッド幅の割合 |
3層防御アーキテクチャ
graph TD
A[Level 1: ポジション管理] -->|エントリー前| B{can_enter_position?}
B -->|No| C[エントリー拒否]
B -->|Yes| D[ポジションオープン]
D --> E[Level 2: リスク監視]
E -->|保有中| F{should_exit_position?}
F -->|Yes| G[通常イグジット]
F -->|No| H[継続保有]
H --> I[Level 3: 緊急対応]
I -->|危機時| J{is_emergency_exit_required?}
J -->|Yes| K[全ポジション強制決済]
J -->|No| E
Level 1: ポジション管理(エントリー前)
チェック項目
- VIXチェック: VIX > 30 で新規エントリー停止
- アロケーションチェック: 80%上限
- セクター集中チェック: 同一セクター4ポジションまで
- 決算フィルター: 決算前はエントリー回避
- 相関チェック: SPY相関0.7以上は重複回避
- PDTチェック: $25k未満の口座でデイトレード制限
EntryBlockReason
| 理由 |
説明 |
| VIX_HIGH |
VIX過高 |
| MAX_ALLOCATION |
アロケーション上限 |
| MAX_POSITIONS |
ポジション数上限 |
| SECTOR_CONCENTRATION |
セクター集中 |
| CORRELATION_RISK |
相関リスク |
| EARNINGS_CONFLICT |
決算リスク |
| DAILY_DRAWDOWN |
日次ドローダウン超過 |
| GAMMA_RISK |
ガンマリスク |
| PDT_LIMIT |
PDT制限 |
Level 2: リスク監視(保有中)
RiskLevel
| レベル |
状態 |
| NORMAL |
通常稼働(VIX < 20) |
| CAUTION |
慎重モード(VIX 20-25) |
| ELEVATED |
警戒モード(VIX 25-30) |
| CRITICAL |
危機モード(VIX > 30、全決済) |
Level 3: 緊急対応(危機時)
トリガー条件
- VIX > 30
- 日次ドローダウン > 3%
- 週次ドローダウン > 6%
80:20 バーベル戦略
口座 $13,000
├── Beat Shield (80% = $10,400)
│ ├── 役割: 防御・生活費
│ ├── 戦略: Put Credit Spread
│ ├── リスク: 2% per trade ($260)
│ └── 最大ポジション: 15
│
├── Sunacchan Spear (20% = $2,600)
│ ├── 役割: 攻撃・ボーナス
│ ├── 戦略: Put Credit Spread (攻撃的)
│ ├── リスク: 1% per trade ($130)
│ └── 最大ポジション: 6
│
└── Crisis Alpha (15% = $1,950)
├── 役割: 暴落時の保険
├── 戦略: Long Put / Bear Spread
└── 最大ポジション: 5
PT連携: VIXリアルタイム取得
# run_paper_trading_v2.py内
# VIX取得(Polygon API経由)
current_vix = self.data_provider.get_vix()
# RiskGuardianに連携
updated_risk_level = risk_guardian.update_vix(current_vix)
# リスクレベルに応じたアクション
if updated_risk_level == RiskLevel.CRITICAL:
await self._close_all_positions("VIX緊急")
実装ファイル
| ファイル |
役割 |
core/risk_guardian.py |
RiskGuardian本体、RiskConfig |
core/hybrid_data_provider.py |
VIXリアルタイム取得 |
scripts/run_paper_trading_v2.py |
PT統合 |
関連ページ