Bear Market Filters & GEX Filters(市場フィルター)¶
v3移行後に発見・検証されたフィルター群。 ベア市場対策(§1-3)はbase.yamlで常時ONに設定されており、ブル期間のコスト影響なしで自動的にベア保護を提供する。 GEXベースフィルター(§4)はBT検証の結果デフォルトOFFで保持している。
1. GFF (Gamma Flip Filter) Mode B 5d¶
概要: GEX (Gamma Exposure) がプラスからマイナスに転換(bearish flip)した後、5営業日間エントリーをブロックする。
メカニズム:
- マーケットメーカーのガンマエクスポージャーが正→負に転換すると、ボラティリティ増幅が発生
- この期間の新規エントリーは損失拡大リスクが高い
- 5日間のクールダウンで危険な局面を回避
検証結果 (2022 Bear, $32K):
| Config | MaxDD | 改善 |
|---|---|---|
| GFFなし | -38.2% | — |
| GFF Mode B 5d | -13.2% | 65%改善 |
設定 (base.yaml):
ストレスBT検証 (2026-03-28, Fargate Spot 32シナリオ):
GFFのON/OFFを歴史的ストレス期間で直接比較。GFFが戦略の生存に必須であることを定量的に確認。
| ストレス期間 | GFF ON (5d) | GFF OFF | 判定 |
|---|---|---|---|
| COVID Crash (VIX 85, 2020-02~07) | TW $596K / DD -17.5% | TW $0 (全損) | GFF必須 |
| 2022 Bear Market (VIX 37, 2022-02~07) | TW $80K / DD -18.7% | TW $0 (全損) | GFF必須 |
GFF 15d(クールダウン延長)はGFF 5dと同一結果。5日間で十分な保護を提供している。
不採用バリアント:
- Mode A(bearish flipでスキップ、bullish flipで再開): DD改善なし
- Mode B 3d: 5dに劣る
- Mode B 15d: 5dと同一結果(追加保護効果なし)
- Regime連携: 不要な複雑さ
2. HY OAS Credit Gate + Per-Symbol Momentum Direction¶
概要: クレジット市場のストレス指標(HY OAS)が閾値を超えた時だけ、銘柄別モメンタムに基づくCall Credit Spread切替を有効化する。
メカニズム:
Layer 1: HY OAS Gate(ベアレジーム検知)
HY OAS ≥ 400bps → ベアレジーム → Layer 2 有効化
HY OAS < 400bps → 通常レジーム → 全銘柄Put Spread(変更なし)
Layer 2: Per-Symbol Momentum Direction(方向選択)
銘柄の20日リターン < -5% → Call Credit Spread(弱気ベット)
銘柄の20日リターン > 0% → Put Credit Spread(強気ベット)
中間 → Call Credit Spread(aggressive bear)
データソース:
- HY OAS: FRED
BAMLH0A0HYM2(ICE BofA US High Yield OAS) — 日次更新、無料 - モメンタム: 各銘柄の過去20営業日の終値リターン
2022年のHY OASシグナル:
| 期間 | HY OAS 400bps超 | 備考 |
|---|---|---|
| 2022年(ベア) | 180日間(3月7日〜年末) | ほぼ通年でシグナルON |
| 2024-2025年(ブル) | 12日間のみ | 偽陽性ほぼゼロ |
検証結果 ($13K初期資本):
| Config | Bear TW | Bull TW | Bear+Bull TW |
|---|---|---|---|
| Baseline (Put only) | $218,889 | $4,707,331 | $4,926,220 |
| Momentum always | $759,630 | $3,966,721 | $4,726,351 |
| VIX Gate 25 | $406,925 | $3,603,969 | $4,010,894 |
| HY OAS Gate 400bps | $451,791 | $4,758,116 | $5,209,907 |
HY OAS Gateは合算で唯一ベースラインを上回る(+5.8%)。ベア+106%改善、ブルコスト実質ゼロ。
設定 (base.yaml):
strategy:
momentum_direction_enabled: true
momentum_lookback_days: 20
momentum_bear_threshold: -0.05
momentum_bull_threshold: 0.0
momentum_neutral_action: "call"
momentum_hy_oas_gate_enabled: true
momentum_hy_oas_gate_threshold: 4.0
不採用バリアント:
| バリアント | Bear TW | Bull Cost | 判定 |
|---|---|---|---|
| Momentum always (ゲートなし) | +247% | -15.7% | ブルコスト高 |
| VIX Gate 25 | +86% | -23.4% | 両方悪い |
| VIX Gate 30 | 0% | 0% | 効果なし(VIX Stopと同値) |
| NFCI (金融環境指数) | — | — | 2022年で閾値未到達(検知不能) |
| BearScore (9シグナル複合) | — | — | 全シナリオで有害 |
3. VIX Stop 30(フェイルセーフ)¶
概要: VIX ≥ 30で全ポジションを強制クローズし、新規エントリーをブロック。
メカニズム: パニック時にエクスポージャーをゼロにする最終安全弁。GFFやHY OAS Gateとは独立に常時動作。
設定 (base.yaml):
4. DGF (Dealer Gamma Features) フィルター — デフォルトOFF¶
概要: 銘柄ごとのDealer Gammaレジーム・ゼロガンマ距離・脆弱性スコアに基づいてエントリーをフィルタリングする。 2026-03-09に実装、BT検証の結果デフォルトOFFで保持。
メカニズム¶
GammaProfile(Polygon Options Snapshotから計算)を14の正規化特徴量に変換:
| 特徴量グループ | 内容 |
|---|---|
| 基本GEX | net_gex, call_gex, put_gex |
| Zero Gamma | zero_gamma_level, spot距離% |
| Gamma Walls | nearest call/put wall, 距離% |
| レジーム | positive / neutral / negative |
| 複合スコア | fragility_score (0.0=安定 〜 1.0=脆弱) |
| フリップ | 前日からのレジーム反転フラグ |
Fragility Score の構成:
fragility = 0.40 × regime_score (NEG=1.0, NEUTRAL=0.5, POS=0.0)
+ 0.30 × zero_proximity (spot→zero gamma距離、3%以内=1.0)
+ 0.30 × wall_thinness (put wall距離、5%以内=1.0)
BeatShield フィルタ(3種)¶
| フラグ | 動作 | デフォルト |
|---|---|---|
dgf_block_negative_gamma |
Negative Gammaレジームでエントリーをブロック | OFF |
dgf_block_below_zero_gamma |
Spot < Zero Gamma Levelでエントリーをブロック | OFF |
dgf_max_fragility |
Fragility ≥ 閾値でブロック (0.0-1.0) | None (無効) |
SunacchanSpear 調整(2種)¶
| フラグ | 動作 | デフォルト |
|---|---|---|
dgf_negative_gamma_bonus |
Negative Gamma時にモメンタムスコア加点 | 0.0 (無効) |
dgf_positive_gamma_penalty |
Positive Gamma時にモメンタムスコア減点 | 0.0 (無効) |
検証結果(2024-01〜2026-01, 25ヶ月, $32K)¶
5つのDGFバリアントをBTテスト:
| Config | 効果 |
|---|---|
| DGF_NegBlock (negative gamma block) | -40% パフォーマンス低下 |
| DGF_BelowZero (spot < zero gamma) | 効果微小 |
| DGF_Fragile70 (fragility ≥ 0.7) | 効果微小 |
| DGF_Fragile50 (fragility ≥ 0.5) | マイナス |
| DGF_Combined (NegBlock + BelowZero) | 最悪 |
不採用理由¶
Dealer Gamma Regime Attribution Analysis (2026-03-09) により根本原因が判明:
- AEGIS = ガンマ非依存のスキュープレミアム収穫 — CR≥25%フィルタが全レジームでプラスを生む
- Negative gammaはCR25機会の最大供給源(59%のトレード、4.0件/日)
- NegBlock(-40%)はこの高密度機会ゾーンの除去が原因
- 全レジーム(positive / neutral / negative)で利益が出ている → レジーム別フィルタは有害
結論: CR25フィルタがガンマレジームに代わるリスクゲートとして機能しているため、DGFフィルタは不要。コードはデフォルトOFFで保持し、将来の再検証用に残す。
実装ファイル¶
| ファイル | 内容 |
|---|---|
AEGIS/core/models.py |
DealerGammaFeatures dataclass (14特徴量) |
AEGIS/core/gex.py |
extract_dealer_gamma_features(), _compute_fragility_score() |
AEGIS/strategies/beat_shield.py |
_passes_dgf_filter() (3フラグ) |
AEGIS/strategies/sunacchan_spear.py |
DGFスコア調整 (2フラグ) |
フィルター相互作用¶
ベア市場フィルター(§1-3)は独立かつ階層的に動作:
VIX ≥ 30 → 全ポジション強制クローズ(最優先)
↓ VIX < 30
GFF bearish flip → 5日間エントリーブロック
↓ クールダウン完了
HY OAS ≥ 400bps + 銘柄モメンタム < -5% → Call Credit Spread
↓ それ以外
通常のPut Credit Spread
DGF(§4)はデフォルトOFF。有効化時はGFFと同階層(エントリーゲート)で動作する。
検証日・確定日¶
- GFF Mode B 5d: 2026-03-15 確定
- HY OAS Credit Gate: 2026-03-16 確定
- VIX Stop 30: 2026-03-11 確定(COVID生存優先でVIX80から変更)
- DGF: 2026-03-09 実装、BT検証でデフォルトOFF確定