/ Weekly Report

Published every Monday · simulated unless labeled live · fees included

weekly-2026-09-21 2026-09-21 13:32 UTC
# KalshiTrader Weekly Report — 2026-09-21

**All figures are simulated (paper) trading, fees and slippage included,
unless explicitly labeled live. Not investment advice.**

## Headline

- Net PnL (marked): **$684.47**
- Fees modeled: $135.28
- Risk: Sharpe 8.1 · Sortino 9.05 · max drawdown $281.46 (418h) · 680h tracked

## Per Strategy

| Strategy | W–L | Open | Realized | Net (marked) | Fees |
|---|---|---|---|---|---|
| daily_bell | 677–362 | 4 | $866.59 | $867.26 | $18.05 |
| momentum_fifteen | 456–473 | 65 | $30.50 | $32.26 | $4.89 |
| range_fade | 473–299 | 3 | $23.04 | $22.80 | $9.71 |
| pair_divergence | 301–423 | 4 | $23.34 | $21.99 | $2.28 |
| box_arb | 848–1104 | 10 | $19.24 | $18.76 | $35.60 |
| five_min_drift | 24–188 | 28 | $8.03 | $8.88 | $1.02 |
| cross_lead_follow | 65–51 | 2 | $8.23 | $8.27 | $0.57 |
| crypto_seasonality | 22–36 | 6 | $3.98 | $4.48 | $0.76 |
| weather_rain | 19–61 | 4 | $1.16 | $3.23 | $2.13 |
| whale_follow | 8–5 | 1 | $2.43 | $2.35 | $0.24 |
| realized_range_reversion | 5–8 | 7 | $2.01 | $2.32 | $0.09 |
| book_imbalance | 27–35 | 0 | $2.15 | $2.15 | $0.39 |
| alt_follower | 6–5 | 3 | $0.43 | $1.67 | $0.04 |
| tape_surge | 14–14 | 4 | $1.62 | $1.58 | $0.48 |
| overshoot_fade | 5–1 | 0 | $1.29 | $1.29 | $0.10 |
| maker_quoter | 6–6 | 4 | $0.84 | $0.88 | $0.58 |
| venue_maker | 2–0 | 0 | $0.65 | $0.65 | $0.02 |
| longshot_fade | 21–0 | 1 | $0.51 | $0.48 | $0.24 |
| post_print_favorite | 3–0 | 0 | $0.42 | $0.42 | $0.04 |
| group_arb | 0–0 | 3 | $0.00 | $0.17 | $0.07 |
| strike_arb | 3–7 | 2 | $0.03 | $0.10 | $0.18 |
| event_vol_crush | 1–2 | 0 | $0.06 | $0.06 | $0.06 |
| macro_release | 0–0 | 1 | $0.00 | $-0.06 | $0.02 |
| canary | 2–11 | 1 | $-0.94 | $-1.07 | $0.27 |
| ensemble_meta | 0–7 | 0 | $-1.48 | $-1.48 | $0.03 |
| cross_venue_lag | 29–27 | 2 | $-1.95 | $-1.81 | $0.60 |
| conditional_probability | 0–0 | 7 | $0.00 | $-2.36 | $0.06 |
| new_market_scanner | 2–27 | 2 | $-3.96 | $-2.43 | $0.86 |
| candle_prob_mispricing | 0–0 | 9 | $0.00 | $-2.67 | $0.06 |
| ladder_arb | 0–30 | 0 | $-4.09 | $-4.09 | $0.61 |
| flow_follower | 359–369 | 0 | $-4.57 | $-4.57 | $2.34 |
| crypto_threshold | 0–10 | 2 | $-4.19 | $-4.62 | $0.76 |
| favorite_backer | 26–15 | 1 | $-10.07 | $-10.09 | $0.71 |
| calendar_arb | 7–218 | 13 | $-10.57 | $-10.34 | $2.55 |
| daily_ladder_edge | 54–62 | 5 | $-18.63 | $-16.54 | $7.38 |
| vol_richcheap | 162–325 | 3 | $-16.59 | $-17.35 | $6.01 |
| model_maverick | 74–372 | 0 | $-21.65 | $-21.65 | $0.66 |
| neighbor_no | 182–144 | 0 | $-22.01 | $-22.01 | $3.71 |
| spread_harvester | 102–205 | 0 | $-24.58 | $-24.58 | $4.27 |
| post_move_expansion | 9–241 | 0 | $-24.77 | $-24.77 | $4.55 |
| closing_bell | 53–117 | 0 | $-29.42 | $-29.42 | $2.98 |
| range_compression | 4–351 | 0 | $-30.10 | $-30.10 | $6.25 |
| weather_edge | 33–178 | 0 | $-37.39 | $-37.39 | $6.47 |
| hourly_range_sniper | 61–194 | 0 | $-48.18 | $-48.18 | $6.59 |

## Calibration Watch

- range_compression: worst bucket predicts 20% vs realized 1% (-19pp, n=361)
- daily_ladder_edge: worst bucket predicts 86% vs realized 55% (-30pp, n=56)
- new_market_scanner: worst bucket predicts 20% vs realized 5% (-15pp, n=20)
- weather_rain: worst bucket predicts 45% vs realized 20% (-25pp, n=15)
- post_move_expansion: worst bucket predicts 34% vs realized 4% (-29pp, n=23)
- spread_harvester: worst bucket predicts 76% vs realized 45% (-31pp, n=40)
- cross_venue_lag: worst bucket predicts 74% vs realized 46% (-28pp, n=26)
- neighbor_no: worst bucket predicts 97% vs realized 56% (-41pp, n=317)
- closing_bell: worst bucket predicts 87% vs realized 19% (-68pp, n=119)
- cross_lead_follow: worst bucket predicts 88% vs realized 64% (-24pp, n=45)
- momentum_fifteen: worst bucket predicts 75% vs realized 48% (-27pp, n=67)
- whale_follow: worst bucket predicts 60% vs realized 64% (+4pp, n=14)
- pair_divergence: worst bucket predicts 63% vs realized 40% (-23pp, n=614)
- maker_quoter: worst bucket predicts 50% vs realized 50% (+0pp, n=24)
- calendar_arb: worst bucket predicts 100% vs realized 4% (-96pp, n=223)
- vol_richcheap: worst bucket predicts 84% vs realized 33% (-50pp, n=24)
- longshot_fade: worst bucket predicts 94% vs realized 100% (+6pp, n=24)
- book_imbalance: worst bucket predicts 73% vs realized 46% (-26pp, n=28)
- weather_edge: worst bucket predicts 96% vs realized 18% (-78pp, n=11)
- crypto_seasonality: worst bucket predicts 36% vs realized 27% (-9pp, n=15)
- range_fade: worst bucket predicts 113% vs realized 70% (-43pp, n=20)
- five_min_drift: worst bucket predicts 44% vs realized 18% (-26pp, n=22)
- hourly_range_sniper: worst bucket predicts 93% vs realized 60% (-33pp, n=15)
- strike_arb: worst bucket predicts 100% vs realized 50% (-50pp, n=10)
- canary: worst bucket predicts 50% vs realized 23% (-27pp, n=13)
- model_maverick: worst bucket predicts 52% vs realized 16% (-36pp, n=254)
- box_arb: worst bucket predicts 100% vs realized 44% (-56pp, n=1957)
- ladder_arb: worst bucket predicts 100% vs realized 8% (-92pp, n=24)
- flow_follower: worst bucket predicts 74% vs realized 50% (-25pp, n=596)
- daily_bell: worst bucket predicts 96% vs realized 43% (-53pp, n=1050)
- favorite_backer: worst bucket predicts 93% vs realized 67% (-27pp, n=18)
- tape_surge: worst bucket predicts 69% vs realized 46% (-23pp, n=26)

## Config Changes This Week (audited)

- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/positions` positions by system:gemini_exec
- `gemini:/v1/prediction-markets/orders/active` active_orders by system:gemini_exec

## Arb desk

- census auto/gemini: ~177 windows/wk ≈ $225.5/wk (mixed, as of 2026-09-21)
- census auto/polymarket: ~136 windows/wk ≈ $16.5/wk (mixed, as of 2026-09-21)
- census deterministic/cboe: ~3245 windows/wk ≈ $30191.85/wk (mixed, as of 2026-09-21)
- census deterministic/forecastex: ~415 windows/wk ≈ $724.58/wk (mixed, as of 2026-09-21)
- census deterministic/gemini: ~1519 windows/wk ≈ $3997.93/wk (mixed, as of 2026-09-21)
- verdict auto/gemini: **ACCUMULATING**
- verdict auto/polymarket: **ACCUMULATING**
- verdict deterministic/forecastex: **ACCUMULATING**
- verdict deterministic/gemini: **NO_GO**
- executions (7d): shadow/filled_both ×1999, shadow/missed ×70 — shadow net $4650.33 (modeled)

## Executor scorecard

- shadow (7d): 2069 qualifying windows, modeled net $4650.33
- real executor: no live overlap yet — shadow counterfactual only
- policy verdict (14d, n=3609): **DOUBLE_TAKER** — km mean 200.02c vs dt mean 198.09c (1.0%), maker fill rate 42%

## Portfolio quality

- pending recommendations: allocation_rebalance ×8 — resolve on /strategies
- promotion-eligible: pair_divergence, range_fade, box_arb, cross_lead_follow, five_min_drift, crypto_seasonality, book_imbalance, weather_rain
- cull candidates: hourly_range_sniper, weather_edge, range_compression, closing_bell, post_move_expansion, spread_harvester, neighbor_no, model_maverick, daily_ladder_edge, vol_richcheap, favorite_backer
- calibration warning range_compression: predicts 20% vs realized 1% (gap -19pp, n=361)
- calibration warning daily_ladder_edge: predicts 86% vs realized 55% (gap -30pp, n=56)
- calibration warning new_market_scanner: predicts 20% vs realized 5% (gap -15pp, n=20)
- calibration warning weather_rain: predicts 45% vs realized 20% (gap -25pp, n=15)
- calibration warning post_move_expansion: predicts 34% vs realized 4% (gap -29pp, n=23)
- calibration warning spread_harvester: predicts 76% vs realized 45% (gap -31pp, n=40)
- calibration warning cross_venue_lag: predicts 74% vs realized 46% (gap -28pp, n=26)
- calibration warning neighbor_no: predicts 97% vs realized 56% (gap -41pp, n=317)
- calibration warning closing_bell: predicts 87% vs realized 19% (gap -68pp, n=119)
- calibration warning cross_lead_follow: predicts 88% vs realized 64% (gap -24pp, n=45)
- calibration warning momentum_fifteen: predicts 75% vs realized 48% (gap -27pp, n=67)
- calibration warning pair_divergence: predicts 63% vs realized 40% (gap -23pp, n=614)
- calibration warning calendar_arb: predicts 100% vs realized 4% (gap -96pp, n=223)
- calibration warning vol_richcheap: predicts 84% vs realized 33% (gap -50pp, n=24)
- calibration warning book_imbalance: predicts 73% vs realized 46% (gap -26pp, n=28)
- calibration warning weather_edge: predicts 96% vs realized 18% (gap -78pp, n=11)
- calibration warning range_fade: predicts 113% vs realized 70% (gap -43pp, n=20)
- calibration warning five_min_drift: predicts 44% vs realized 18% (gap -26pp, n=22)
- calibration warning hourly_range_sniper: predicts 93% vs realized 60% (gap -33pp, n=15)
- calibration warning strike_arb: predicts 100% vs realized 50% (gap -50pp, n=10)
- calibration warning canary: predicts 50% vs realized 23% (gap -27pp, n=13)
- calibration warning model_maverick: predicts 52% vs realized 16% (gap -36pp, n=254)
- calibration warning box_arb: predicts 100% vs realized 44% (gap -56pp, n=1957)
- calibration warning ladder_arb: predicts 100% vs realized 8% (gap -92pp, n=24)
- calibration warning flow_follower: predicts 74% vs realized 50% (gap -25pp, n=596)
- calibration warning daily_bell: predicts 96% vs realized 43% (gap -53pp, n=1050)
- calibration warning favorite_backer: predicts 93% vs realized 67% (gap -27pp, n=18)
- calibration warning tape_surge: predicts 69% vs realized 46% (gap -23pp, n=26)

## SLO (month to date)

- ✅ ingestion freshness: 99.2% (489/493h fresh) — target 95% of hours: markets gap <10min, error budget 16.2% used
- 🔥 signal→fill p95: 0/3 days within budget — target 90% of days: p95 ≤ 60s (7d window), error budget 1.0e3% used
- 🔥 alert error budget: 3549 watchdog/critical alerts this month — target ≤ 20 watchdog/critical alerts/month, error budget 17745.0% used
- 🔥 job health: 10649 oban discards this month — target ≤ 50 oban discards/month, error budget 21298.0% used
Simulated (paper) performance unless explicitly labeled live; see the full disclaimer. Not investment advice.