BTC 15m Momentum
A 15-minute BTC-USD momentum signal (Coinbase change_15m) predicts short-term KXBTC15M resolution direction: entering YES after a >threshold% 15m up-move and NO after a >threshold% down-move, within a bounded price band and exiting on stop/take-profit, tests whether momentum magnitude and the entry price band materially affect profitability.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Research Report: KXBTC15M Momentum Strategy
Short Disclaimer
This is a historical simulation research report only. Past simulated performance does not guarantee future results. No live trading occurred.
Intro / Thesis
The core question in this study is whether a simple 15-minute BTC-USD momentum signal — the Coinbase change_15m metric — has predictive value for how Kalshi's KXBTC15M contracts resolve over their short lifetime. The base strategy enters YES when BTC moved up more than 0.5% in 15 minutes and NO when it moved down more than 0.5%, but only when the KXBTC15M contract price sits within a defined band. It exits on either a -1.0 unrealized P&L stop or a +6.0 take-profit, and it cancels everything near expiry.
The variant sweep varied two things: the price floor (minimum entry price) and the price ceiling (maximum entry price). This is fundamentally a test of whether the entry price band materially changes results — i.e., does avoiding cheap "lottery ticket" contracts or expensive "near-certain" contracts improve the trade quality?
Variant and Strategy Explanation
The underlying strategy is identical across all 100 tested variants except for two parameters:
risk.price_floor— the minimum contract price required to enter a position. Tested at 10 values from 0.05 to 0.45.risk.price_ceiling— the maximum contract price allowed for entry. Tested at 10 values from 0.55 to 0.95.
All other settings stay fixed:
- Signal: Coinbase BTC-USD 15-minute percent change, refreshed every 10 seconds.
- Entry threshold: +0.5% for YES entries, -0.5% for NO entries.
- Position size: 4 contracts per entry, maximum 4 open.
- Exits: -1.0 stop-loss, +6.0 take-profit, cancel all within 2 minutes of expiry.
- Max loss per run: 4.0 (in strategy P&L units).
Because the sweep grid was 10 floors × 10 ceilings, all 100 combinations completed. Each successful variant — specific floor/ceiling combinations — is saved as a runnable Turbine strategy under its own slug in the family btc-15m-momentum-*.
Top Results
The best-performing variants all share one thing: a price ceiling of 0.82. In fact, the top eight variants, ranked 1 through 8, are identical in every reported performance metric:
| Rank | Floor | Ceiling | Trades | Win Rate | Total P&L | ROI % | Sharpe | Max DD |
|---|---|---|---|---|---|---|---|---|
| 1 | 0.05 | 0.82 | 51 | 68.2% | 15.66 | 391.5% | 0.51 | -3.97 |
| 2 | 0.09 | 0.82 | 51 | 68.2% | 15.66 | 391.5% | 0.51 | -3.97 |
| 3 | 0.14 | 0.82 | 51 | 68.2% | 15.66 | 391.5% | 0.51 | -3.97 |
| 4–8 | up to 0.36 | 0.82 | 51 | 68.2% | 15.66 | 391.5% | 0.51 | -3.97 |
This clustering tells a clear story: the floor does not matter much when the ceiling is 0.82. Floors from 0.05 all the way to 0.36 produce the same results because in practice, entries are occurring at prices that are already above those floors, so the floor parameter is not binding. Only when floor rises to 0.41 or higher does it start filtering out otherwise profitable trades.
The ceiling appears to be the key constraint. A ceiling of 0.82 captures the sweet spot: it allows entry into mid-to-high priced contracts that still have meaningful upside, while excluding contracts priced so high that the payout — roughly 1.0 per contract — has too little room to overcome the frictional cost of the stop-loss.
But let me be blunt: these results are not as strong as the raw ROI number suggests. The robustness statistics tell a more careful story.
Bottom Results
The worst variant was:
| Rank | Floor | Ceiling | Trades | Win Rate | Total P&L | ROI % | Sharpe | Max DD |
|---|---|---|---|---|---|---|---|---|
| 100 | 0.45 | 0.55 | 16 | 42.9% | -0.37 | -9.25% | 0.13 | -3.97 |
This is the only variant with negative P&L. The floor of 0.45 and ceiling of 0.55 create a very narrow band — contracts must be priced between 45 and 55 cents to enter. The sample shrinks to just 16 trades, the win rate drops to 42.9%, and the strategy loses a small amount.
The next-worst variants mostly involve the ceiling of 0.55, which appears to be the defining feature of poor performance. Variants with ceiling 0.55 and floors from 0.05 through 0.27 posted total P&L around 4.84 to 5.49, far below the 12+ achieved at higher ceilings. A ceiling of 0.55 effectively restricts entries to contracts priced in the middle range (0.15 to 0.55), which means the strategy misses the most profitable trades that occur when BTC momentum pushes contracts outside that band.
The lesson from the bottom set: too narrow a ceiling is harmful. The 0.55 ceiling cutoff removes signal — the strategy needs room to enter slightly higher-priced contracts where the momentum signal is still valid but the contract hasn't yet fully priced in the move.
Conclusion
The headline numbers — 391.5% ROI, 15.66 total P&L, 68% win rate — look impressive at first glance. The sweep shows that the price ceiling matters, and specifically that a ceiling of 0.82 outperforms lower ceilings like 0.55 by a wide margin. The floor is largely immaterial until it reaches 0.41 or higher.
However, the robustness metrics require us to temper this enthusiasm considerably.
The permutation test — which scrambled the edge feed timing against the actual price series to see whether the signal's timing specifically contributes to the result — produced a p-value of 0.013. That is technically below the 0.05 threshold. The strategy's feed-timing beat 98.7% of the scrambled versions.
But there is an important caveat in the test design: only the edge feed was shuffled, not the price series. The price-based conditions in the entry rules — floor, ceiling, and position size — were not tested by this permutation. The headline p-value should not be read as evidence that the entry price band is validated. It only speaks to whether the 15-minute momentum signal, as timed, had better-than-random alignment with trade prices.
The deflated Sharpe ratio is 0.9568, which is meaningfully below the raw best Sharpe of 0.51 and above the expected max Sharpe of 0.2166. The neighborhood degradation — a measure of how quickly performance erodes as we move away from the best parameter combination — is 0.0617. That is low. It suggests the top results are not an isolated spike; adjacent parameter choices also performed well, particularly any ceiling at or near 0.82.
Still, the small sample sizes (16 to 51 trades per variant) and the fact that the very best results cluster around one particular ceiling value should caution against over-reading these results. The consistency across floors 0.05 through 0.36 when ceiling is 0.82 is encouraging, but the entire family is essentially testing one signal over one market regime. There is no out-of-sample validation here.
In plain terms: the 0.82 ceiling matters, the momentum signal appears to have some informational value in this simulation, but we should not call this strategy "strong" or "validated." It is one backtest sweep over a limited trade sample.
Long Disclaimer
This report is a historical simulation produced by Turbine's research analysis system. All figures — including total P&L, ROI, Sharpe ratio, maximum drawdown, win rate, and trade count — are derived from backtested variant runs, not from live trading.
Simulations are run against historical market data and assume that orders would have been filled at the prices and times specified by the strategy conditions. They do not account for real-world execution slippage, order book depth, partial fills, platform outages, fee structures beyond what is implicitly modeled, or the market impact of placing size-4 orders in a potentially thin Kalshi market. They also do not account for behavioral differences between backtest conditions and live market conditions, including liquidity changes, spread widening near expiry, or the possibility that the strategy's own presence in the market could move prices.
The strategy operates on the KXBTC15M series — a 15-minute Bitcoin market on Kalshi. KXBTC15M contracts are extremely short-duration. This means the strategy cycles through trades very quickly relative to typical prediction-market strategies. The 10-second loop interval means that entries and exits are evaluated frequently, which may produce results that are sensitive to the exact timing of price observations. Historical data that appears clean in backtest form may not reflect the micro-noise and data-feed latency present in live conditions.
The variant sweep tested 100 parameter combinations (10 floors × 10 ceilings). With 100 variants, the probability that at least one variant will show apparently strong performance purely by chance is nontrivial. The robustness statistics provided — including the permutation test and deflated Sharpe ratio — represent attempts to account for multiple testing, but all such adjustments rely on assumptions. The permutation test only shuffled the edge feed, not the price series, so its p-value should be interpreted narrowly. The deflated Sharpe ratio, while above the expected maximum under the stated assumptions, is still only one metric and cannot fully rule out the possibility that the top variants are partly the product of selection noise.
No future profits are
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.