Deep Research

BTC Ladder Bands

Compare three entry-condition variants of the KXBTC15M 10-level strike ladder with all ten levels, strike gates, exits and risk limits held fixed. Version 1: spread gate of 0.03 on every entry level instead of 0.02, bands unchanged at 0.90-0.99. Version 2: best-ask bands widened to 0.84-0.99 on every level (and spread 0.03 on every level). Version 3: best-ask bands 0.88-0.99 on every level (and spread 0.03 on every level).

Historical research only. Not investment advice.

Comparison Results

Kalshi KXBTC15M 10-Level Strike Ladder — Entry-Condition Variants

Research note. Historical simulation only. Not investment advice, not a solicitation, and not a claim about future results.

Short Disclaimer

This is a historical, backtest-style simulation study on a Kalshi crypto market. It does not predict live performance. Simulated results are easy to misread and can be sensitive to the exact window, fills, and fees being modeled. Nothing here is advice.

Intro / Thesis

The BTC 15-minute market on Kalshi (series KXBTC15M) resolves quickly and offers a strike ladder, which makes it a good place to test whether a simple directional gate plus a price-band filter does anything useful. The base strategy is a 10-level ladder: at each rung the strategy gets more permissive about how far spot and the EMA sit from the strike, while the contracts it wants to buy have to sit inside a best-ask band and a tight spread.

The question for this batch was narrow. If we hold the ladder, the strike gates, the exits, and the risk limits fixed, what happens when we only touch the entry conditions? Specifically: loosen the spread gate from 0.02 to 0.03, and then also widen the best-ask band at the bottom. Three variants were run. This is an explicit, small, hand-picked batch — not a parameter sweep, and not a statistical test of robustness.

Variant and Strategy Explanation

All three variants share the same structure. The strategy evaluates every 10 seconds. It trades one KXBTC15M market at a time, selected as the most liquid. Maximum position is 50 contracts, YES price is bounded between 0.05 and 0.99, and each entry rule buys size 50 with immediate-or-cancel execution. Rules are evaluated top to bottom and the first one that matches fires for that tick.

The shared exit and stop logic was held fixed across all three:

  • Exit a YES position if the YES bid has fallen to 0.35 or below, and exit a NO position if the NO bid has fallen to 0.35 or below.
  • Exit a YES position if spot is below the strike, and exit a NO position if spot is above the strike.
  • Take profit on a YES position if the YES bid is at 0.995 or better while time to expiry is at or under 15 minutes and above 2 minutes. Same for NO on the NO bid.

The shared entry logic is a 10-rung ladder. Each rung has a time-to-expiry cutoff (8m, 5m, 4m, 2m, 1m, 30s, 25s) and a minimum spot distance from strike (100, 85, 70, 46.7, 35, 23.3 points) or, for the final two rungs, no spot-distance gate at all. Every directional entry also requires the EMA to be on the same side of the strike as spot, 5-minute BTC change to agree with the direction, 1-minute velocity to agree (or be zero), and the option to be quoted inside the best-ask band with a spread no wider than the gate.

The only things changed across the three variants:

  • V1 — spread gate 0.03 on every entry level, bands unchanged at 0.90–0.99. The spread tolerance at all ten rungs goes from 0.02 to 0.03. Best-ask bands stay where they are.
  • V2 — best-ask bands widened to 0.84–0.99 on every level, spread 0.03. Same as V1, but the lower edge of the best-ask band drops to 0.84 everywhere, so cheaper quotes are now eligible.
  • V3 — best-ask bands 0.88–0.99 on every level, spread 0.03. Same as V1, but the lower edge drops to 0.88, a smaller widening than V2.

Rungs 19 and 20, the final 25-second rungs, are unchanged in shape across all three: they already used a 0.03 spread gate in the base, and only the best-ask lower edge moves in V2 and V3.

All three variants ran on the same 30-day window. Each successful variant is saved as a runnable Turbine strategy, so the exact rule set behind any number below can be re-opened and inspected.

Top Results

Ranked by ROI over the 30-day window:

RankVariantTradesWin rateTotal PnLMax drawdownSharpeROI
1V2: bands 0.84–0.99, spread 0.0360892.9%373.85−97.170.51747.7%
2V3: bands 0.88–0.99, spread 0.0358292.9%212.84−118.430.41425.7%
3V1: spread 0.03, bands 0.90–0.9954193.9%195.08−122.190.50390.2%

V2 is the clear winner on ROI, total PnL, max drawdown, and Sharpe. It took the most trades (608) and still recorded the shallowest drawdown of the group (−97.17), which is the combination you would want if you were going to pick one. Widening the band all the way to 0.84 let the strategy fill more entries at cheaper prices; whether those fills would look the same in live markets is a separate question, and one this exercise does not answer.

V3 sits in the middle. Relative to V1 it gave up a little win rate (92.9% vs 93.9%) in exchange for more trades and higher total PnL, but it also had a Sharpe of 0.41, the lowest of the three, and a drawdown of −118.43 that was only slightly better than V1's. The 0.88 floor did not do what the 0.84 floor did.

Bottom Results

Ordered from worst to best by ROI:

V1 — spread 0.03, bands unchanged at 0.90–0.99. This was the most conservative change and it produced the most conservative result: 541 trades, 93.9% win rate, 195.08 total PnL, −122.19 max drawdown, 0.50 Sharpe, 390.2% ROI. It had the highest win rate of the three and the lowest ROI, which is a normal trade-off — with bands fixed at 0.90–0.99 the strategy is still buying relatively expensive contracts, so it wins often but the payoff per win is smaller. Its Sharpe of 0.50 was essentially tied with V2's 0.51.

V3 — bands 0.88–0.99, spread 0.03. 582 trades, 212.84 PnL, −118.43 drawdown, 0.41 Sharpe, 425.7% ROI. The odd result here is the Sharpe: V3 has a higher ROI than V1 and a slightly shallower drawdown, yet a materially lower Sharpe. V1's Sharpe of 0.50 with a 390.2% ROI and V3's 0.41 with a 425.7% ROI do not line up the way a simple return-to-volatility story would suggest. That discrepancy is unresolved. It is not explained by anything in this batch, and I am not going to invent a mechanism for it. If anything, it is a reason to treat the Sharpe ordering across this batch as noisy.

V2 — bands 0.84–0.99, spread 0.03. Best on paper: 747.7% ROI, 373.85 PnL, −97.17 drawdown, 608 trades, 92.9% win rate. It also had the lowest win rate of the three, which is consistent with buying cheaper contracts: more of the trades end in a loss, but the wins are larger. That is a coherent story, but it is a single 30-day window and a single hand-picked batch, and it should not be read as evidence that the 0.84 floor is the right one going forward.

One note on all of these numbers: they are simulation returns over 30 days, and the ROI figures are large in ways that only make sense against the sizing and capital assumptions being modeled. They are not directly comparable to how the same logic would perform with a different risk budget, and the ordering here could easily shuffle over a different month.

Conclusion

Three entry-condition variants of the same KXBTC15M 10-level ladder were run over the same 30-day window with exits, strike gates, and risk limits held fixed. The version that widened the best-ask band most aggressively, V2 at 0.84–0.99 with a 0.03 spread gate, topped the batch on ROI, PnL, max drawdown, and Sharpe. The 0.88 version, V3, landed in the middle and produced the one number in this set that does not fit together cleanly, its low Sharpe relative to its ROI and drawdown, which is unresolved. The most conservative change, V1, was the weakest on ROI.

That ordering is what this batch produced. It is one window, three hand-picked variants, and no sweep. The winner here is saved as a runnable Turbine strategy and can be re-run, inspected, and re-tested over other periods, which is really the only responsible next step. Do not read a 30-day, three-point comparison as evidence that any of these entry tweaks generalizes.

Long Disclaimer

This document is a research note describing historical simulation output. It is provided for informational purposes only and does not constitute investment advice, a recommendation, an offer, or a solicitation to buy or sell any security, contract, or derivative, including any Kalshi market or

About this Kalshi strategy backtest

What question does BTC Ladder Bands investigate?

Compare three entry-condition variants of the KXBTC15M 10-level strike ladder with all ten levels, strike gates, exits and risk limits held fixed. Version 1: spread gate of 0.03 on every entry level instead of 0.02, bands unchanged at 0.90-0.99. Version 2: best-ask bands widened to 0.84-0.99 on every level (and spread 0.03 on every level). Version 3: best-ask bands 0.88-0.99 on every level (and spread 0.03 on every level).

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 3 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.