BTC Price Band Sweep
Whether BTC spot and completed 15-minute EMA-26 agreement at least $25 beyond the literal KXBTC15M strike produces a stable net edge across purchased-side entry price bands after fees and permutation selection-noise testing.
Historical research only. Not investment advice.
Top Strategy Variants
Bottom Strategy Variants
BTC 15-Minute Strike-Agreement Strategy — Kalshi Crypto Research Report
Research note — simulation results, not investment advice.
Disclaimer (short)
This is a historical simulation study on Kalshi's KXBTC15M markets. Nothing here is a recommendation, a solicitation, or a promise of future results. Read the full disclaimer at the bottom before drawing any conclusions.
Intro / thesis
The question we set out to test was narrow: on Kalshi's 15-minute BTC markets, does a completed agreement between BTC spot and the 15-minute EMA-26 — both sitting at least $25 on the same side of the literal strike — produce a stable net edge after fees, and does that edge survive a sweep across purchased-side entry price bands and a permutation test against selection noise?
The word "completed" matters. Many 15-minute crypto ideas look good because they ride spot momentum, but when the EMA still lags, the signal is half-formed. Requiring both spot and the 15-minute EMA-26 to agree by at least $25 was the mechanism we wanted to isolate — not just "price is above the strike."
We swept 100 variants of the strategy across purchased-side entry price bands (a 10×10 grid of risk.price_floor from 0.45 to 0.54, and risk.price_ceiling from 0.56 to 0.65). Every cell ran. This report is about what the sweep showed and — importantly — what it did not.
Variant and strategy explanation
The base strategy runs on Kalshi's KXBTC15M series, selecting the most liquid market, evaluated every 30 seconds. Risk is capped at 50 contracts per position, up to 3 portfolio positions, with one entry per market and a purchased-side entry price window (the variant axis) between the floor and ceiling values in the sweep.
The signal source is Coinbase BTC-USD, contributing price and a 15-minute EMA-26, both refreshed every 30 seconds. Two derived fields sit at the heart of the logic:
spot_vs_strike— signed distance of spot from the strike.ema_vs_strike— signed distance of the EMA from the strike.
Rules are evaluated top to bottom, first match wins per tick:
- If a YES position is open and
spot_vs_strike < 0, sell YES. - If a NO position is open and
spot_vs_strike > 0, sell NO. - Enter YES size 50 when: spot and EMA are both positive, no position is open,
spot_vs_strike >= 25,ema_vs_strike >= 25, the YES ask is within the price band, portfolio has fewer than 3 positions, no prior order on this market, spread is at most $0.03, andtime_to_expiryis between 2 and 5 minutes. Entry is immediate-or-cancel. - Enter NO size 50 with the mirror conditions on the negative side.
The exits are simple and deliberate: once spot crosses back through the strike, the position is closed. The EMA is only used as a gate at entry, not as an exit condition. This means the strategy is really testing whether "both spot and the 15-minute trend agree far enough from the strike" predicts the settlement side often enough to pay for the entry cost at various price levels.
The sweep explores that entry-cost question. Each successful variant is saved as a runnable Turbine strategy, with slugs like btc-price-band-sweep-a87401268ff5 for the top performer.
Top results
The best cell in the sweep was corner coords [0, 9] — floor 0.45, ceiling 0.65 — the widest band in the grid:
- Rank 1 — BTC strategy, floor 0.45 / ceil 0.65. Total PnL $1,339.24, ROI 2,678.48%, Sharpe 1.05, win rate 70.2%, 270 trades, max drawdown −$90.64. Saved as
btc-price-band-sweep-a87401268ff5. - Rank 2 — floor 0.46 / ceil 0.65. Identical numbers to rank 1. Saved as
btc-price-band-sweep-3530e4d2af11. - Rank 3 — floor 0.45 / ceil 0.64. PnL $1,276.59, ROI 2,553.18%, Sharpe 1.07, win rate 69.8%, 259 trades, drawdown −$91.67. Saved as
btc-price-band-sweep-8b9322234c2c. - Rank 4 — floor 0.46 / ceil 0.64. Identical to rank 3.
- Rank 5 — floor 0.48 / ceil 0.65. PnL $1,229.38, ROI 2,458.76%, Sharpe 0.99, win rate 70.7%, 254 trades, drawdown −$100.51.
Two things stand out. First, ranks 1/2 and 3/4 are numerically identical pairs, which tells us those specific floor settings (0.45 vs 0.46, and again 0.45 vs 0.46) ended up with the same trade set. That consistency is useful, but I'll come back to it.
Second, the top of the leaderboard clusters on the widest entry bands. Ceiling 0.65 is the top of the sweep in three of the top five cells. The marginal means confirm this direction: the ceiling marginal climbs monotonically from $422.82 (0.56) to $1,177.59 (0.65), and the floor marginal drifts down as the floor gets tighter.
But here's the honest read: the winner sits in the corner of the grid. When the best result is at the edge of the parameter space, the natural question is whether the edge exists further out, or whether the sweep just hasn't explored past its own boundary. That's an unresolved question, not a finding.
Bottom results
The worst cells all sit in the tight bands:
- Rank 100 — floor 0.54 / ceil 0.56. PnL $125.44, ROI 250.88%, Sharpe 0.20, win rate 57.7%, 53 trades, drawdown −$77.19.
- Rank 99 — floor 0.54 / ceil 0.57. PnL $146.47, Sharpe 0.24, 55 trades.
- Rank 98 — floor 0.53 / ceil 0.56. PnL $279.03, Sharpe 0.41, 73 trades.
- Rank 97 — floor 0.53 / ceil 0.57. PnL $300.06, Sharpe 0.43, 75 trades.
- Rank 96 — floor 0.52 / ceil 0.56. PnL $371.49, Sharpe 0.49, 82 trades.
- Rank 95 — floor 0.54 / ceil 0.58. PnL $384.59, Sharpe 0.50, 83 trades.
The entire bottom group uses tight entry bands — 0.54/0.56, 0.53/0.57, 0.52/0.56. Trade counts collapse to 53–93 vs. 200+ in the top cells, because the price-band gate filters out the vast majority of signals. A tight band means the strategy only fires when the quote is squeezed near 0.50, and the resulting trade sample is both small and less selective on edge quality.
One observation deserves a flag. The bottom cells still post positive PnL and ROI — all 100 cells did. But Sharpe in the bottom cells drops to 0.20–0.51, meaning the small samples are producing lumpier returns even though total PnL stays green. That's the signature of few-trade curves: high variance per unit of return, drawdowns ($77–$88) that aren't much smaller relative to the gross PnL than the top cells' drawdowns are. For anyone interpreting ROI percent in these bottom rows as comparable to ROI in the top rows, it isn't — the denominator is doing a lot of the work.
What the robustness statistics say, and don't
Selection-noise checks were run, and they don't hand you a clean pass:
- Deflated Sharpe probability: 0.992. Interpreted correctly, this is the probability that the observed top Sharpe clears the selection-noise benchmark for a 100-cell sweep, on the Sharpe scale. That is a favorable reading for this specific check — it does not, and cannot, establish that the strategy is profitable, and it does not substitute for out-of-sample evidence. It says the sweep's best Sharpe isn't obviously the product of a small grid.
- Expected max Sharpe: 0.479. This is the benchmark on the Sharpe scale — the level you'd expect the best of 100 random trials to reach. The observed top Sharpe (1.05) sits well above this. But note the rule above: 0.992 and 0.479 are on different scales and must not be compared to each other, nor should either be read as a PnL forecast.
- Permutation test (edge-feed scramble, 100 permutations): p ≈ 0.010. The edge-feed timing beat 99.0% of 100 re-sweeps against time-scrambled versions of the same feed. The p-value is below 0.05, so the check does not flag the result as noise against this null — but the design has a hard limit worth stating: the market price series was not permuted. Price-based conditions (the strike distance gates, the ask-band gates) are not tested by this permutation scheme. That leaves a large part of the rule unexamined by this test, and it's a real limitation.
- Neighborhood degradation: 0.0234.
About this Kalshi strategy backtest
What question does BTC Price Band Sweep investigate?
Whether BTC spot and completed 15-minute EMA-26 agreement at least $25 beyond the literal KXBTC15M strike produces a stable net edge across purchased-side entry price bands after fees and permutation selection-noise testing.
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.