Deep Research

BTC 15M Price Bands

On the KXBTC15M Bitcoin 15-minute markets, BTC five-minute momentum plus one-minute velocity, filtered by a material-opposition cross-asset veto, holds up across entry-price bands rather than at one optimized winner.

Historical research only. Not investment advice.

Top Strategy Variants

Bottom Strategy Variants

BTC 15-Minute Price Bands on Kalshi: A Historical Simulation Study

Disclaimer (short)

This is historical simulation research. It is not investment advice, and nothing here should be read as a forecast of future profits. Past simulated performance does not predict live results.

Intro / thesis

This report looks at a custom strategy on Kalshi's KXBTC15M series, the 15-minute Bitcoin markets. The core idea was simple to state and worth testing carefully: momentum in Bitcoin over the last five minutes, plus short-term direction over the last one minute, filtered by a cross-asset veto on Ethereum, might hold up across a range of entry prices rather than at one cherry-picked threshold.

The specific claim under test was that this combination survives across entry-price bands. In other words, if the edge only appears when you set the floor and ceiling to one lucky pair of numbers, it is probably an artifact. If it holds across a broad band of settings, that is a more useful signal, though still only a simulated one.

By the end, all 100 planned variants in the sweep completed without failure. All of them showed positive simulated net PnL. The detail behind those numbers is where the real questions live, and the report tries to be honest about which of those questions remain open.

Variant and strategy explanation

The strategy trades KXBTC15M, the 15-minute Bitcoin market on Kalshi, every 30 seconds. It holds a position limit of 50 contracts, a YES price range of 0.05 to 0.95, a per-market notional cap of $50, and a max loss of $25 on the strategy's own inventory.

The rules run top to bottom, and the first match ends the tick:

  • Rule 1: if unrealized PnL is at or below −$25, sell everything.
  • Rule 2 (buy YES): requires no open position, no existing order, fewer than 3 portfolio positions, time to expiry between 120 and 300 seconds, a YES best ask between 0.35 and 0.80, spread at or below 0.03, BTC five-minute change at or above +0.0005, BTC one-minute velocity above zero, and ETH five-minute change at or above −0.0005. It buys 50 YES.
  • Rule 3 (buy NO): mirrors this on the downside. Same position, order, portfolio, expiry, and spread checks, a NO best ask between 0.35 and 0.80, BTC five-minute change at or below −0.0005, BTC one-minute velocity below zero, and ETH five-minute change at or below +0.0005. It buys 50 NO.

The ETH check is the cross-asset veto. It is not a trade signal on its own; it blocks entries when Ethereum is moving materially against the Bitcoin signal.

The variants are a 10-by-10 sweep of two axes: the price floor (risk.price_floor) across 0.05, 0.36 through 0.44, and the price ceiling (risk.price_ceiling) across 0.62 through 0.78 plus 0.95. That is 100 cells, and all 100 succeeded. Each successful variant is saved as a runnable Turbine strategy, so the settings behind any given result can be reloaded and re-run rather than reconstructed from notes.

Top results

Ranked by net PnL, the leaders cluster in the low-floor, mid-to-high-ceiling corner of the grid.

RankVariantNet PnLROI %SharpeMax DDTradesWin rate
1floor 0.37 / ceil 0.621752.273504.540.96−144.116070.649
2floor 0.36 / ceil 0.621727.013454.020.93−144.116150.643
3floor 0.38 / ceil 0.621721.913443.820.99−124.845980.651
4floor 0.40 / ceil 0.621676.503353.001.04−117.165790.658
5floor 0.42 / ceil 0.621648.323296.641.04−117.165490.668
6floor 0.39 / ceil 0.621633.653267.301.03−112.125890.649
7floor 0.41 / ceil 0.621614.443228.881.04−117.165590.661
8floor 0.05 / ceil 0.621603.103206.200.95−138.997660.543

A few things stand out. First, the top eight all share a ceiling of 0.62, which is the tightest ceiling in the sweep. That is a fairly specific pattern, and it is worth reading the rest of the report before drawing conclusions from it. Second, the leaderboard does not match the parameter sweep's headline winner. The sweep computed its winner as floor 0.05 / ceiling 0.78 with a value of 2225.47, which does not appear as the top individual result. The two rankings are computed differently, and we are not able to reconcile them from the data here; we are flagging that as unresolved rather than explaining it away.

Third, the highest-ROI variants also carry the largest drawdowns in this group, around −$144 for the top two. The floor 0.40 to 0.42 variants trade slightly less and draw down less, roughly −$117. That trade-off is worth noticing: ROI here is measured against a small capital base, so the absolute ROI figures are large in a way that flatters the numbers.

Bottom results

The bottom of the 100-cell grid is instructive, and it also complicates the story.

RankVariantNet PnLROI %SharpeMax DDTradesWin rate
100floor 0.44 / ceil 0.661766.382164.681.20−124.355770.699
99floor 0.44 / ceil 0.951795.402200.251.27−130.399110.727
98floor 0.44 / ceil 0.681799.152204.841.33−115.136090.701
97floor 0.44 / ceil 0.741803.132209.721.34−132.897190.703
96floor 0.43 / ceil 0.661850.192267.391.21−133.065980.697
95floor 0.44 / ceil 0.701867.182288.211.38−115.136560.704
94floor 0.41 / ceil 0.661876.242299.311.16−133.066390.682
93floor 0.43 / ceil 0.951879.212302.951.26−148.659310.725

These are the "worst" variants by net PnL, and they still made money in simulation. More to the point, several bottom-ranked variants have higher absolute net PnL and higher win rates than several variants in the top-eight table. The floor 0.44 / ceil 0.66 variant has net PnL of 1766.38, which actually exceeds the top-ranked variant's 1752.27, despite sitting at rank 100.

That apparent inconsistency is between the per-variant table (sorted one way) and the sweep ranking (sorted another way). The data here does not let us resolve how the two orderings were produced, and we are not going to invent a mechanism for it. It is a discrepancy, and it should be treated as one.

What the two tables do agree on is that the floor 0.44 variants cluster at the bottom of the sweep ranking. The marginal curve for price_floor shows mean net PnL declining steadily as the floor rises, from about 2030 at 0.05 down to about 1806 at 0.44. The ceiling marginals are less tidy: means rise from roughly 1652 at 0.62 to a peak near 2128 at 0.78, then fall back to about 1954 at 0.95. The single best cell in the grid is at floor 0.05 / ceiling 0.78.

Conclusion

Did the thesis hold? Qualified yes, with real caveats.

The strategy did produce positive simulated net PnL in all 100 cells, ranging from about 1553 to 2225. That is a broad band rather than a single winner, which supports the idea that the underlying momentum-plus-veto logic is not purely a threshold artifact. Every variant is saved as a runnable Turbine strategy, so this is reproducible rather than a one-off backtest readout.

The robustness checks are more mixed. The neighborhood

About this Kalshi strategy backtest

What question does BTC 15M Price Bands investigate?

On the KXBTC15M Bitcoin 15-minute markets, BTC five-minute momentum plus one-minute velocity, filtered by a material-opposition cross-asset veto, holds up across entry-price bands rather than at one optimized winner.

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.

BTC 15M Price Bands · 1c799878d2ad | Turbine