Deep Research

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_low threshold and inside the allowed band (i.e., below entry_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_floor and price_ceiling (0.15 and 0.85 in the base, but the floor was one of the parameters we varied). No position exceeds the max_position limit of 10 contracts. A cooldown of 30 seconds prevents immediate re-entry after an exit.

The 100 variants we tested systematically adjusted two knobs:

  • Entry band: We slid the entry_low and entry_high values 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:

RankEntry BandFloorROI %Total PnLTradesWin RateMax Drawdown %Sharpe
10.20–0.600.15572.157.2148834.8%-59.850.16
20.25–0.600.15560.356.0353833.8%-62.510.15
30.25–0.600.20463.846.3844436.9%-64.070.13
40.25–0.600.10426.942.6957432.1%-64.960.11
50.20–0.600.10404.740.4753032.5%-65.170.11
60.20–0.600.20378.737.8738638.3%-63.750.12
70.30–0.600.15367.736.7757432.8%-74.900.08
80.25–0.600.05302.130.2165628.7%-69.840.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:

RankEntry BandFloorROI %Total PnLTradesWin RateMax Drawdown %Sharpe
1000.40–0.500.10-14974-1497.43547013.3%-1529.99-1.28
990.40–0.500.15-14929-1492.92544813.3%-1525.48-1.27
980.40–0.500.05-14918-1491.81553213.3%-1524.37-1.29
970.40–0.500.20-14865-1486.49538213.3%-1524.64-1.24
960.35–0.500.10-14713-1471.31540013.0%-1502.11-1.28
950.35–0.500.05-14669-1466.86546413.0%-1496.49-1.28
940.35–0.500.15-14654-1465.42537613.1%-1496.22-1.27
930.35–0.500.20-14590-1458.99531013.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 —

About this Kalshi strategy backtest

What question does BTC Kalshi Mean Reversion investigate?

Bitcoin 15-minute Kalshi markets overreact early in the window; buying below an entry band and exiting inside it captures mean reversion.

Read the analysis alongside the individual variant results. Check which entry, exit, price-band or risk settings changed, which settings stayed fixed, and whether the report documents enough historical coverage to support its comparison. A different parameter value defines a different simulation; it does not establish a new source of live trading returns.

How many strategy variants are included?

This report lists 100 completed and 0 failed strategy variants. Failed comparisons do not count as successful tests with zero profit. Review trade counts and drawdown alongside net P&L, win rate and Sharpe, and read any coverage or execution caveats in the analysis. A result based on very few trades needs particular care, even when its return looks high.

Does a profitable Kalshi backtest predict live performance?

These are historical simulations. Live results can differ because of liquidity, fees, slippage, latency, market resolution, outages and data quality. Selecting the best result after comparing many variants can also overstate how reliably it will perform on new data. Compare nearby settings, inspect losing variants and test on a separate period before considering a live run. The report is research, not a promise of profit or investment advice.

How can I inspect or test a strategy from this report?

Use an available Open strategy link to inspect that variant. Review its rules, market, date window, fill assumptions, fees and trade history before changing parameters or rerunning it. Confirm which data and execution assumptions the selected market actually supports; a replay does not establish that every historical order could have filled live. For the workflow, read the Kalshi and prediction market backtesting guide. The Kalshi backtesting software page explains the product's supported testing workflow.

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.