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 —
Parameter Sensitivity
This sweep reruns the same thesis across nearby parameter values to show whether the winner is robust or isolated.
Parameter Heatmap
Cell color is normalized by Net PnL across this sweep.
Only the cell at the lowest entry low and a middling entry high produces a positive net PnL; the rest of the grid is uniformly negative or barely break-even. Performance concentrates in one isolated corner, surrounded by deep losses with no secondary high spots, so the winning cell looks more like a lucky outlier than part of a robust region.
Marginal Response
Mean and best cell by parameter value.
Entry low shows strongly negative mean PnL at every level, with the best result at the extreme low end and outcomes worsening monotonically as the threshold rises; the edge exists only at the smallest value tested. Entry high fares poorly except in a narrow band around 0.6, where the best result sits, while the lowest tested threshold is catastrophic—mean PnL sinks deep into the red—indicating a fragile interior peak.
Permutation TestTests whether the winning result survives on shuffled market data, where any real price structure is destroyed — separating genuine edge from luck. The p-value is the fraction of luck-only re-sweeps whose best result matched or beat the real winner.
Each re-sweep re-runs the full parameter sweep on shuffled market data; bars group them by the best Net PnL each produced, and the dashed line marks the real winner’s Net PnL.
The winning Net PnL of 57.21 beat 74.0% of 1,000 luck-only re-sweeps of the same parameter grid (p = 0.260). Shuffled data routinely produced results this strong, so the winner’s performance here is not distinguishable from luck.
Caveats
The deflated Sharpe is near zero, far below the expected maximum for 25 trials, meaning the winner cannot be separated from noise-driven selection. The permutation test reinforces this: the sweep's best beat only 74% of luck-only re-sweeps, so a result this good or better would arise by chance roughly a quarter of the time.
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.