blindTest V45 vs karmaResearch V9
V45: Karma regime + MPI-scaled shorts + CBBI/ARI boosts | V9: BB regime + bottom signals + MPI exit
| Train Ret | Train Sharpe | Val Ret | Val Sharpe | Test Ret | Test Sharpe | Full Sharpe | MaxDD | Val/Train | Params |
| V45 |
+170% | 2.74 |
+95% | 2.92 |
+7.1% | 2.41 |
2.67 | 13.8% |
0.56 | ~50 |
| V9 |
+146% | 2.20 |
+99% | 3.37 |
-3.8% | -0.13 |
2.15 | 16.4% |
0.68 | 20+ |
| V16 (simple) |
+159% | 2.04 |
+49% | 2.19 |
+30.5% | 1.84 |
2.00 | 18.2% |
0.31 | 5 |
V45 完整決策流程
flowchart TD
START["每根 K 棒 (1h)"] --> WAIT{"有掛單? 暖機中?"}
WAIT -->|是| SKIP["跳過"]
WAIT -->|否| POS{"有持倉?"}
POS -->|無| REGIME["Karma Regime\nkarma < 30 → BEAR\nkarma > 60 → BULL\n其他 → NEUTRAL"]
POS -->|有多| LONG_EXIT["多頭出場判斷"]
POS -->|有空| SHORT_EXIT["空頭出場判斷"]
REGIME --> HOUR{"06-12 UTC?"}
HOUR -->|是| ENTRY_THR["ob_dif 閾值\nBULL=1500\nNEUTRAL=2000\nBEAR=3000"]
HOUR -->|否| ENTRY_THR_OFF["ob_dif 閾值\n= 5000 (off-peak)"]
ENTRY_THR & ENTRY_THR_OFF --> LONG_CHECK{"ob_dif > 閾值\nAND price <= BB upper?"}
LONG_CHECK -->|是| LONG_LEV["計算多頭 leverage"]
LONG_CHECK -->|否| SHORT_CHECK{"做空訊號?"}
SHORT_CHECK -->|是| SHORT_LEV["計算空頭 leverage"]
SHORT_CHECK -->|否| SKIP
LONG_LEV --> BUY["做多"]
SHORT_LEV --> SELL["做空"]
style START fill:#1f6feb,color:#fff
style BUY fill:#238636,color:#fff
style SELL fill:#da3633,color:#fff
style SKIP fill:#30363d,color:#8b949e
V45 多頭 Leverage 計算
flowchart TD
REG["Karma Regime"] --> BASE{"regime?"}
BASE -->|BULL| B20["base = 2.0x"]
BASE -->|NEUTRAL| B10["base = 1.0x"]
BASE -->|BEAR| B03["base = 0.3x"]
B20 & B10 & B03 --> LIQ{"overall_liq\n>= Q95?"}
LIQ -->|是| BOOST15["× 1.5"]
LIQ -->|否| NEXT1["不變"]
BOOST15 & NEXT1 --> CBBI{"CBBI 值?"}
CBBI -->|"< 0.35"| CB_UP["× 1.5 (低估)"]
CBBI -->|"> 0.80"| CB_DOWN["× 0.5 (過熱)"]
CBBI -->|"0.35-0.80"| CB_NORM["不變"]
CB_UP & CB_DOWN & CB_NORM --> CAP["min(result, 3.0x)"]
style B20 fill:#238636,color:#fff
style B03 fill:#da3633,color:#fff
style CB_UP fill:#238636,color:#fff
style CB_DOWN fill:#da3633,color:#fff
V45 多頭出場 (3 層條件)
flowchart LR
subgraph "Regime-based Rules"
R["Karma Regime"] --> BULL_R["BULL:\nmax_hold=36h\nmpi_exit=70"]
R --> NEU_R["NEUTRAL:\nmax_hold=24h\nmpi_exit=60"]
R --> BEAR_R["BEAR:\nmax_hold=18h\nmpi_exit=50"]
end
subgraph "ob_liq Hold Adjust"
OL["ob_liq quantile"] --> OL_HIGH{"Q >= 0.7?"}
OL_HIGH -->|是| HM1["hold × 1.0"]
OL_HIGH -->|否| OL_LOW{"Q <= 0.2?"}
OL_LOW -->|是| HM2["hold × 1.0"]
OL_LOW -->|否| HM3["不變"]
end
subgraph "Basis Emergency"
BA["basis_apy >= 0.15?"] -->|是| BA_TIGHT["hold = min(hold, 12h)"]
end
BULL_R & NEU_R & BEAR_R --> EXIT{"ob_dif < 0\nOR MPI > exit\nOR held >= max_hold"}
HM1 & HM2 & HM3 --> EXIT
BA_TIGHT --> EXIT
EXIT -->|任一觸發| CLOSE["平倉"]
style CLOSE fill:#da3633,color:#fff
V45 做空系統
flowchart TD
subgraph "進場 (5 道過濾)"
F1["06-12 UTC only"] --> F2["LSUR >= -1.0\n(veto filter)"]
F2 --> F3["ob_dif < -2500"]
F3 --> F4["MPI > 50"]
F4 --> ENTER_SHORT["進場做空"]
end
subgraph "MPI 分級 Leverage"
ML["MPI 值"] --> M50["50-60 → 0.5x"]
ML --> M60["60-70 → 1.0x"]
ML --> M70["70-80 → 1.5x"]
ML --> M80["80+ → 3.0x ⚡"]
end
subgraph "出場 (4 條件 OR)"
E1["ob_dif > 0"]
E2["MPI < 40"]
E3["held >= 12h"]
E4["stop loss (if set)"]
E1 & E2 & E3 & E4 --> CLOSE_S["平空"]
end
style ENTER_SHORT fill:#da3633,color:#fff
style M80 fill:#da3633,color:#fff
style CLOSE_S fill:#238636,color:#fff
V45 vs V9 核心差異
V45 — Karma Regime
Long+Short ~50 params 8 指標
- Regime: Karma Index (30/60) — 即時情緒,非價格
- 進場: ob_dif 依 regime 不同閾值 (1500~5000)
- Leverage: regime-based + CBBI scaler + liq boost
- 出場: MPI 閾值依 regime 調整 (50/60/70)
- 做空: MPI 分 4 級 (50→80+), LSUR veto
- 特色: basis_apy emergency exit, ob_liq hold adjust
V9 — BB Regime
Long+Short 20+ params 6 指標
- Regime: Price BB(2000h) — 價格驅動,很慢
- 進場: 底部訊號 (ARI/ob_dif/skew/usdc) 計數
- Leverage: signal count → 固定倉位 + MPI neutral
- 出場: MPI monthly 75% range 線性減倉
- 做空: MPI(12h)>65 + SMA(200) + 3 tranches
- 特色: DD protection 3 級, bottom override
為什麼 V45 贏
| 觀察 | 分析 |
| V45 用 Karma Index 做 regime | 情緒指標比價格 BB 反應更快 |
| V45 的 MPI exit 依 regime 調整 (50/60/70) | 比 V9 的固定 monthly range 更靈活 |
| V45 做空用 MPI 分 4 級 + LSUR veto | 比 V9 的 3 tranches 更精細 |
| V45 用 CBBI scaler (低估加倉/過熱減倉) | 週期位置感知,V9 沒有 |
| V45 Test Sharpe 2.41 vs V9 -0.13 | 核心邊際更真實,不是 noise fit |
| V9 Val 高 (3.37) 但 Test 虧損 | Val 被間接 overfit(數百次看 Val 數字) |
| V45 ~50 個參數 | 參數多但多數是 disabled (boost=0),有效參數 ~15 |