Crisis Alpha 戦略¶
概要¶
Crisis Alphaは、2020年COVID暴落のような市場環境(IV急騰+下落トレンド)で利益を狙う危機対応戦略です。
注意
Crisis Alphaはヘッジ目的です。通常の利益追求ではなく、ポートフォリオ保護のために発動します。
戦略概要¶
flowchart LR
A[IV Rank 急騰] --> B{下落トレンド?}
B -->|Yes| C[🚨 Crisis Alpha 発動]
B -->|No| D[Beat Shield 高IV環境]
C --> E[Long Put エントリー]
E --> F[IV上昇 + デルタで利益]
発動条件¶
IV Rank 基準¶
| IV Rank | 発動 | 強度 | 説明 |
|---|---|---|---|
| < 0.60 | ❌ | 0.0 | 発動なし |
| 0.60 - 0.70 | 🟡 | 0.7 | 部分発動(confidence低め) |
| ≥ 0.70 + 下落トレンド | ✅ | 0.95 | フル発動 |
トレンド条件¶
- 下落トレンド確認: Price < EMA20
- StrategyManagerが判定し、
CRISIS_ALPHAモードを返す
主な手法¶
| 手法 | 説明 | リスク |
|---|---|---|
| Long Put | OTMプットを購入し、IV急騰とデルタによる利益を狙う | ハイリスク・ハイリターン |
| Bear Put Spread | リスク限定的な下落ベット(コスト削減) | 未実装(Noneを返す) |
パラメータ¶
リスク管理¶
LONG_PUT_ALLOCATION_PCT = 0.05 # 資金の5%までLong Putに
BEAR_SPREAD_ALLOCATION_PCT = 0.10 # 資金の10%までSpreadに
CRISIS_ALPHA_ALLOCATION_PCT = 0.15 # 資金の15%まで(合計)
Exit 条件¶
タイミング・DTE¶
Long Put 選定基準¶
LONG_PUT_OTM_PCT = 0.15 # 15% OTM(現在価格の85%付近)
LONG_PUT_MIN_DELTA = -0.20
LONG_PUT_MAX_DELTA = -0.05
# mid: $0.05 ~ $5.00(安価なプット)
PT(Paper Trading)実装¶
エントリーロジック¶
run_paper_trading_v2.py の _attempt_crisis_entry() メソッド(L1811-1974)で実装:
async def _attempt_crisis_entry(
self,
scenario_id: str,
symbol: str,
snapshot,
current_date: date,
evaluation,
):
"""Crisis Alpha戦略エントリーを試行(Long Put)"""
# OTMプット: 現在価格の92%程度
strike = round(snapshot.price * 0.92, 0)
expiration = current_date + timedelta(days=45) # 45DTE
# プレミアム推定
premium = snapshot.price * 0.02 # 株価の2%程度
# ポジションサイズ計算(最大損失 = プレミアム全額)
max_risk_per_trade = state.virtual_capital * 0.02 # 資金の2%
position_size = max(1, int(max_risk_per_trade / (premium * 100)))
StrategyManager での判定¶
strategies/strategy_manager.py で Crisis Alpha モードを判定:
# IV Rank >= 0.7 かつ 下落トレンド → CRISIS_ALPHA FULL発動
if eval_result.iv_rank >= 0.70 and not eval_result.uptrend:
return StrategyMode.CRISIS_ALPHA, 0.95, f"Crisis FULL: IV={eval_result.iv_rank:.2f} + 下落トレンド"
# IV Rank >= 0.6 → 部分発動
if eval_result.iv_rank >= 0.60:
return StrategyMode.CRISIS_ALPHA, 0.7, f"Crisis PARTIAL: IV={eval_result.iv_rank:.2f}"
RiskGuardian 設定¶
core/risk_guardian.py で Crisis Alpha の資金配分を管理:
Exit 戦略¶
利確¶
- プレミアムが2倍(+100%)になったら売却
- IV急騰時にプレミアムが急上昇するため、早めの利確も検討
損切り¶
- プレミアムが50%以上減少したら損切り
- Long Putは時間減衰が大きいため、損切りは重要
DTE管理¶
CLOSE_BEFORE_EXPIRY_DAYS = 10で強制クローズ- 時間価値の急激な減衰を避ける
実装ファイル¶
| ファイル | 内容 |
|---|---|
strategies/crisis_alpha.py |
CrisisAlpha戦略クラス |
strategies/strategy_manager.py |
戦略モード判定 |
core/risk_guardian.py |
資金配分管理 |
scripts/run_paper_trading_v2.py |
PTでのエントリー実装 |
scripts/verify_crisis_alpha.py |
動作検証スクリプト |
制限事項¶
現在の制限
- Bear Put Spread: 未実装(
Noneを返す) - オプションチェーン連携: 実際のプレミアムは推定値を使用
- 自動ヘッジ判断: v5で実装予定