BTC Kalshi Mean Reversion
Bitcoin 15-minute Kalshi markets overreact early in the window; buying below an entry band and exiting inside it captures mean reversion.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Short Disclaimer
This report is a historical simulation study only. Past simulated results do not guarantee future performance. All trades are hypothetical and executed against historical data.
Intro / Thesis
Kalshi’s 15-minute Bitcoin markets (KXBTC15M) exhibit interesting behavior early in each window. The core idea here is straightforward: prices sometimes overreact shortly after a new 15-minute contract opens, and a mean-reversion approach that buys low and exits back toward more moderate levels may capture that snapback. This report explores exactly that — buying when the contract price dips into a defined entry band and closing once it returns inside that band.
We ran 100 parameter variants based on a mean-reversion strategy. The goal was to see which entry bands and price floors produced the best simulated outcomes, and which combinations fell apart completely.
Variant and Strategy Explanation
All variants share the same mechanical DNA. The base strategy is a mean-reversion loop on the KXBTC15M series ticker. Here’s how it works:
- Polling interval: Every 60 seconds, the system checks the current price of the active 15-minute BTC contract.
- Entry logic: If the price is below a defined
entry_lowthreshold and inside the allowed band (i.e., belowentry_high), the strategy buys a position. The thesis is that prices this low reflect a temporary overreaction that tends to correct. - Exit logic: The position is closed when the price moves back above
entry_low— meaning it has reverted back into “normal” territory. This is pure mean reversion; we’re not predicting direction over the full 15-minute window, only capturing the bounce off the floor. - Risk controls: Every variant has a
price_floorandprice_ceiling(0.15 and 0.85 in the base, but the floor was one of the parameters we varied). No position exceeds themax_positionlimit of 10 contracts. Acooldownof 30 seconds prevents immediate re-entry after an exit.
The 100 variants we tested systematically adjusted two knobs:
- Entry band: We slid the
entry_lowandentry_highvalues around. The base was 0.30–0.60. We tested tighter bands (e.g., 0.40–0.50) and wider ones (e.g., 0.20–0.60, 0.25–0.60). - Price floor: We moved the minimum allowable price from 0.05 up to 0.20.
Everything else — the 60-second polling loop, the cooldown, the max position, the exit rule — stayed the same. Each successful variant is saved as a runnable Turbine strategy, so the exact settings that produced these numbers are not just theoretical; they’re preserved and can be examined in the platform.
Top Results
The best performers shared a clear pattern: a wider entry band on the low side and a floor of 0.15. Here’s the leaderboard:
| Rank | Entry Band | Floor | ROI % | Total PnL | Trades | Win Rate | Max Drawdown % | Sharpe |
|---|---|---|---|---|---|---|---|---|
| 1 | 0.20–0.60 | 0.15 | 572.1 | 57.21 | 488 | 34.8% | -59.85 | 0.16 |
| 2 | 0.25–0.60 | 0.15 | 560.3 | 56.03 | 538 | 33.8% | -62.51 | 0.15 |
| 3 | 0.25–0.60 | 0.20 | 463.8 | 46.38 | 444 | 36.9% | -64.07 | 0.13 |
| 4 | 0.25–0.60 | 0.10 | 426.9 | 42.69 | 574 | 32.1% | -64.96 | 0.11 |
| 5 | 0.20–0.60 | 0.10 | 404.7 | 40.47 | 530 | 32.5% | -65.17 | 0.11 |
| 6 | 0.20–0.60 | 0.20 | 378.7 | 37.87 | 386 | 38.3% | -63.75 | 0.12 |
| 7 | 0.30–0.60 | 0.15 | 367.7 | 36.77 | 574 | 32.8% | -74.90 | 0.08 |
| 8 | 0.25–0.60 | 0.05 | 302.1 | 30.21 | 656 | 28.7% | -69.84 | 0.07 |
A few observations:
The 0.20–0.60 band with a 0.15 floor was the standout. It produced the highest ROI (572%) with a 34.8% win rate over 488 trades. The max drawdown of -59.85% is meaningful — this is not a smooth ride — but it’s the best balance in the set.
Floor of 0.15 consistently appeared near the top. Variants with floors of 0.15 occupied ranks 1, 2, and 7. Too low a floor (0.05 or 0.10) increased trade count but eroded win rate and drawdown. Too high a floor (0.20) trimmed trade frequency but didn’t outperform 0.15 in ROI.
Wider entry on the low side helped. The 0.20 lower bound caught more reversion opportunities than the base 0.30. The top six variants all used 0.20 or 0.25 as the entry_low. The base 0.30 band only appeared at rank 7 — still deeply profitable in simulation, but it missed early bounces that the wider bands captured.
Win rates were modest but positive. Across top variants, win rates clustered between 29% and 38%. This is typical for mean reversion: you lose more often than you win, but the winners are large enough relative to losers to produce a positive expectancy. The strategy relies on a few sharp reversals paying for many small losses.
Bottom Results
The worst performers were a different species entirely. Every bottom-dwelling variant used narrow entry bands — 0.40–0.50 or 0.35–0.50 — regardless of the floor. The damage was catastrophic:
| Rank | Entry Band | Floor | ROI % | Total PnL | Trades | Win Rate | Max Drawdown % | Sharpe |
|---|---|---|---|---|---|---|---|---|
| 100 | 0.40–0.50 | 0.10 | -14974 | -1497.43 | 5470 | 13.3% | -1529.99 | -1.28 |
| 99 | 0.40–0.50 | 0.15 | -14929 | -1492.92 | 5448 | 13.3% | -1525.48 | -1.27 |
| 98 | 0.40–0.50 | 0.05 | -14918 | -1491.81 | 5532 | 13.3% | -1524.37 | -1.29 |
| 97 | 0.40–0.50 | 0.20 | -14865 | -1486.49 | 5382 | 13.3% | -1524.64 | -1.24 |
| 96 | 0.35–0.50 | 0.10 | -14713 | -1471.31 | 5400 | 13.0% | -1502.11 | -1.28 |
| 95 | 0.35–0.50 | 0.05 | -14669 | -1466.86 | 5464 | 13.0% | -1496.49 | -1.28 |
| 94 | 0.35–0.50 | 0.15 | -14654 | -1465.42 | 5376 | 13.1% | -1496.22 | -1.27 |
| 93 | 0.35–0.50 | 0.20 | -14590 | -1458.99 | 5310 | 13.1% | -1495.38 | -1.23 |
This is not a case of “fine but lower returns.” These variants destroyed capital. Why?
The band was too tight. A 0.40–0.50 entry band means the strategy only buys when the price is already quite low — and only has a tiny window (0.40 to 0.50) to trigger. But in practice, prices that fall through 0.50 often keep falling, and the strategy kept buying into continued weakness with no real reversion. The volume of trades exploded (5,000+) as the loop repeatedly triggered on every small oscillation, racking up losses.
Win rates collapsed to 13%. The thesis still requires an eventual bounce back above the entry_low for a win. In these narrow bands, that bounce rarely came. The strategy was essentially catching falling knives.
Max drawdowns exceeded -1,500%. This is simulation-level destruction. The price ceiling of 0.85 and floor controls didn’t matter; the core band selection was the fatal variable.
The floor made almost no difference in the worst group. At the bottom ranks, floor values from 0.05 to 0.20 all produced near-identical results. The entry band was the dominant factor by a wide margin.
Conclusion
This research strongly supports the thesis, but with an important qualifier: the reversion has to be captured early and with a wide enough net. The top simulated variants bought when prices dropped to 0.20 or 0.25 — well below the midpoint —
This report is generated from historical simulations. Backtests can be wrong or incomplete, and live trading can differ materially because of liquidity, fees, slippage, latency, market resolution, outages, and data quality. Do your own review before running any strategy.