Deep Research

Level 5 at 90

Add back the level 5 and level 10 entries to the BTC 15-minute strategy and widen the strike-distance gates by 16.5%, with level 5's distance set to 90, testing two variants: one with level 10 restored, one without.

Historical research only. Not investment advice.

Comparison Results

BTC 15-Minute Kalshi Strategy: Restoring Level 5 and Level 10 Entries

Short disclaimer: This is historical simulation research on past data, not investment advice or a promise of future results. Markets change.

Intro / Thesis

This batch tests a narrow, specific idea about the BTC 15-minute Kalshi strategy (KXBTC15M, most-liquid contract). The base strategy enters in tiers as expiry approaches: a first entry with roughly 4 minutes left, then tighter tiers at 2 minutes, 1 minute, 30 seconds, and 25 seconds. At some point the level 5 tier (the earliest, loosest-distance entry) and the level 10 tier (the final seconds-only entry) had been dropped from the live rule set. The thesis here is to add both back and to loosen the distance requirements across the board.

Two changes define this batch:

  1. Restore the missing entries. Level 5 is restored with a strike-distance gate of 90 in both directions, and level 10 is restored as an undirected last-seconds entry.
  2. Widen every distance gate by 16.5%. The intermediate distance gates move from 60.1 to 70, 40.1 to 46.7, 30 to 35, and 20 to 23.3. The exact inputs are the point of the batch, not rounding.

Two variants ran. Both are complete and self-contained. Variant 1 restores level 10; Variant 2 does not. Everything else is identical.

Variant and Strategy Explanation

The strategy is an event-driven rules engine evaluated every 10 seconds against the most-liquid BTC 15-minute contract on Kalshi. Position size is capped at 5 contracts. YES prices are bounded 0.05 to 0.99, though other runtime checks may block orders. Rules are evaluated top to bottom, and the first matching rule fires and ends that tick. Each successful variant is saved as a runnable Turbine strategy.

The rule structure has three layers.

Exits (rules 1–6). Two stop-loss rules fire if a held position's best bid falls to 0.35 or below (YES side and NO side respectively). Two spot-vs-strike exits fire if spot crosses back through the strike against the position — YES sold if spot drops below strike, NO sold if spot rises above strike. Two take-profit rules fire if the relevant best bid reaches 0.995 while expiry is between 2 and 15 minutes away.

Tiered entries (rules 7–14). These are the core directional entries, in matched YES/NO pairs using derived.spot_vs_strike and derived.ema_vs_strike:

  • Rule 7/8: ≤ 4m to expiry, spot-vs-strike ≥ 60.1 (or ≤ −60.1), EMA on the right side of strike, 5-minute change and 1-minute velocity aligned, ask between 0.90 and 0.99, spread ≤ 0.02.
  • Rule 9/10: ≤ 2m, distance ≥ 40.1 (or ≤ −40.1), same condition set.
  • Rule 11/12: ≤ 1m, distance ≥ 30 (or ≤ −30).
  • Rule 13/14: ≤ 30s, distance ≥ 20 (or ≤ −20).

Last-seconds entries (rules 15/16, or the restored level 10 tier). ≤ 25s to expiry, spread ≤ 0.03, ask between 0.90 and 0.99. No distance or direction filter.

Variant 1 applies the full thesis: level 5 restored at distance 90, intermediate distances widened to 70 / 46.7 / 35 / 23.3, and level 10 restored. Variant 2 is identical minus the level 10 entry.

Top Results

Rank 1 — Variant 1 (level 10 restored). Over 30 days: total PnL 29.74, ROI 594.8%, Sharpe 0.38, max drawdown −9.71, 521 trades, win rate 94.57%.

This variant has both the highest total PnL and the most trades in the batch. It is a 30-day historical window and one configuration of one strategy. There is no permutation test or sweep behind it, no out-of-sample holdout, and no defensible way to claim the level 10 restore generalizes.

Bottom Results

Rank 2 — Variant 2 (no level 10). Over 30 days: total PnL 22.02, ROI 440.4%, Sharpe 0.32, max drawdown −9.74, 433 trades, win rate 94.39%.

The level 10 restore (Variant 1) adds 88 trades and 7.72 PnL relative to Variant 2. Max drawdown is essentially unchanged (−9.71 vs −9.74), so the added trades are not doing anything to tail risk in this window, but that is a single-window observation, not a property.

Conclusion

Both variants run. Both beat 400% ROI on this window, both hold win rate above 94%, and both sit near −9.7 max drawdown. The distinction between them is modest: adding the level 10 entry back produces 88 more trades and about 7.7 more total PnL with a negligible drawdown change. That difference is small relative to the noise a 30-day BTC sample can carry, and I am not going to claim the restore is the cause of the PnL gap from the mechanics alone.

One unresolved discrepancy: Variant 1 records a higher trade count and a higher total PnL than Variant 2, which is directionally what one would expect from adding a rule pair, but the magnitude of the PnL difference is larger than the trade-count difference would naively imply given similar win rates and similar per-trade sizing. I do not have an explanation for that gap. It may be fill timing, marginal trade selection, or something else in the simulation, but I am not going to invent a mechanism to account for it. It is flagged, not resolved.

Both variants are saved as runnable Turbine strategies if you want to inspect or re-run them yourself:

  • Variant 1: level-5-at-90-affc33a5e26f (strategy id affc33a5e26f7ad388a88208e7cc7e6f)
  • Variant 2: level-5-at-90-97db61017a02 (strategy id 97db61017a02486cf88acc63ce8a48f9)

Long Disclaimer

This document is a historical simulation research note. It is not investment, financial, tax, legal, or trading advice, and it is not an offer or solicitation to buy or sell any security, contract, or derivative. Nothing here should be read as a recommendation to deploy capital, and past simulated performance does not predict, guarantee, or imply anything about future results.

Simulation limitations. The results above are produced by replaying rules against historical market data with simulated fills. Simulated fills are not live fills. They do not account for queue position, adverse selection, partial fills, exchange rate limits, latency, order rejects, or the reality that in liquid prediction markets the counterparty you trade against may be informed. The strategy in this report enters with immediate-or-cancel orders at prices up to 0.99 and requires tight spreads, conditions that are easy to satisfy in a backtest and harder to satisfy consistently in production.

Window and sample. Each variant was evaluated on a 30-day window. Thirty days is a short window for any market-derived strategy, particularly one that trades frequently. A sample of ~500 trades carries substantial variance in outcomes, and both the win rate and the ROI figures should be read with that variance in mind. There has been no walk-forward analysis, no out-of-sample holdout, and no parameter stability study. Small changes to thresholds or to the evaluation window could change rank ordering between variants.

Selection and comparison caveats. This was an explicit batch of two variants, not a sweep. No permutation test, multiple-comparison correction, or robustness score was produced. Variant 1 appears ahead of Variant 2 in this window, but the gap between them is modest relative to simulated noise, and a different window, a different risk budget, or a different fill model could reverse the ordering. The unresolved metric discrepancy noted above should be treated as a caution against over-reading the gap.

Market-specific risks. Kalshi contracts are binary and can expire worthless. Price floors and ceilings in the strategy constrain execution prices but do not constrain loss. The 0.35 stop-loss rules can be triggered by brief liquidity-driven quote moves and may exit positions that would have recovered. The spot-vs-strike exits can fire on transient wicks. A 5-contract position size is small in absolute terms; results scale linearly with size in the simulation and will not scale linearly in reality because of depth.

Data and infrastructure risks. The strategy depends on a Coinbase BTC-USD price feed refreshing every 5 seconds, an EMA-26 over 15-minute bars, and 1-minute and 5-minute change/velocity fields. Any outage, feed switch, timestamp mismatch, or contract settlement source disagreement between Coinbase and the Kalshi contract's underlying reference could change entries, exits, or both. The simulation does not model those failures.

No guarantee of reproducibility. Saved strategies are runnable, but running them today will use today's data and today's market microstructure, and will produce different numbers. Structure is preserved; outcomes are not.

Not personalized. Nothing in this report considers your financial situation, objectives, existing positions, tax treatment, or risk tolerance. If you trade this or any similar strategy, size it so that a bad outcome is one you can absorb, and consult a qualified professional before making material decisions. You are responsible for your own trades.

Turbine produces research simulations. It does not provide investment advice.

About this Kalshi strategy backtest

What question does Level 5 at 90 investigate?

Add back the level 5 and level 10 entries to the BTC 15-minute strategy and widen the strike-distance gates by 16.5%, with level 5's distance set to 90, testing two variants: one with level 10 restored, one without.

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

Level 5 at 90 · 8d63bfae918b | Turbine