BTC Momentum Reversal
In KXBTC15M 15-minute brackets, near-close momentum from Coinbase BTC 15-minute returns predicts the in-range side. Enter the favored side (priced $0.55-$0.95) in the last 90 seconds when spread is tight and BTC's 15m change exceeds a momentum threshold; exit on take-profit at 0.85 or a side stop at 0.45.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Research Report: KXBTC15M Near-Close Momentum Strategy
Short Disclaimer
This is historical simulation research only. Nothing in this report implies future profits or a validated trading edge.
Intro / Thesis
The thesis under test: in KXBTC15M 15-minute brackets on Kalshi, Coinbase BTC's 15-minute return just before expiry predicts which side resolves in-range. The strategy attempts to buy the favored side when it's priced between $0.55 and $0.95, the spread is tight, and there are only 90 seconds left. It exits on a take-profit at $0.85 or a stop at $0.45.
We ran a full parameter sweep across 100 completed variants to see whether the idea holds up across different price floors and ceilings. The short version: it did not produce any trades at all.
Variant and Strategy Explanation
The strategy is a custom Kalshi loop that runs every 10 seconds. It watches:
- Time to expiry — entry only in the final 90 seconds
- Spread — must be less than or equal to $0.05
- Entry price window — buy the favored side only between $0.55 and $0.95
- BTC momentum signal — Coinbase BTC-USD 15-minute change must exceed +0.5% for a YES entry or fall below -0.5% for a NO entry
- Exits — sell everything if the side bid hits $0.85 (take profit) or $0.45 (stop loss)
- Position sizing — 31 contracts per entry, no pyramiding
The parameter sweep varied two knobs:
| Parameter | Tested Values |
|---|---|
risk.price_floor | 0.05 to 0.45 in 10 steps |
risk.price_ceiling | 0.55 to 0.95 in 10 steps |
All 100 of 100 completed variants ran successfully. The DSL was the same across all cells; only the floor and ceiling changed.
Top Results
Every single variant — top to bottom — produced:
- 0 trades
- $0 total PnL
- 0% ROI
- 0 Sharpe
- 0 max drawdown
- 0% win rate (undefined, technically, since no trades occurred)
The top 8 are all tied. Here are the highest-ranked by the sweep's ordering:
- floor 0.05 / ceil 0.55 — 0 trades, $0 PnL
- floor 0.05 / ceil 0.59 — 0 trades, $0 PnL
- floor 0.05 / ceil 0.64 — 0 trades, $0 PnL
- floor 0.05 / ceil 0.68 — 0 trades, $0 PnL
- floor 0.05 / ceil 0.73 — 0 trades, $0 PnL
- floor 0.05 / ceil 0.77 — 0 trades, $0 PnL
- floor 0.05 / ceil 0.82 — 0 trades, $0 PnL
- floor 0.05 / ceil 0.86 — 0 trades, $0 PnL
The remaining 92 variants have identical results. Each successful variant is saved as a runnable Turbine strategy, but the saved strategies never triggered an entry condition in the data window.
Bottom Results
There is no meaningful "bottom" here because every variant is tied at zero trades and zero PnL. The bottom 8 shown in the sweep are the same set as the top 8 — same IDs, same metrics, same labels.
This is not a case where some parameter combinations performed worse than others. The entire grid produced nothing to differentiate.
Conclusion
The strategy did not trade in this data window. The entry conditions — BTC 15-minute change beyond ±0.5% while simultaneously having a spread under $0.05 and a side priced between $0.55 and $0.95 with 90 seconds left — never lined up.
The robustness statistics carry two explicit warnings:
- Trade floor warning: the winner has 0 resolved trades, far below the 30-trade minimum needed for statistically reliable metrics.
- Inert axis warnings: both
risk.price_floorandrisk.price_ceilingproduced identical trades (zero) in every cell. The flatness across the sweep does not indicate robustness — it just means neither parameter was ever exercised.
The permutation test returned a p-value of 1.000. The edge-feed timing beat 0.0% of 100 time-scrambled re-sweeps. To be direct: the top results are entirely consistent with selection noise and overfitting. We cannot describe any variant as strong, validated, or promising.
The honest takeaway is that this specific entry setup did not fire under the historical conditions tested. That could mean the conditions were too strict, the data window had no qualifying moments, or the premise itself has no tradable occurrence. Either way, there is no evidence here to support deployment.
Long Disclaimer
This report was generated as part of historical simulation research. It is not investment advice, a recommendation to trade, or a prediction of future performance.
The data used reflects a specific historical window and a specific parameter grid. No trades occurred in any of the 100 tested variants. Metrics such as ROI, Sharpe, max drawdown, and win rate are all zero or undefined because there was no trading activity to measure. These are not positive results in disguise; they indicate the entry conditions were never satisfied.
The robustness statistics include a Monte Carlo permutation test with a p-value of 1.000. This means the strategy's edge-feed timing did not outperform time-scrambled versions of the same feed. The price series itself was not permuted, so price-based rule conditions were not fully tested by that procedure. The warnings further note that both swept parameters were inert — varying them changed nothing because no cell produced any trades.
The fact that each successful variant is saved as a runnable Turbine strategy does not imply that any of them should be run with real capital. "Successful" in this context means the simulation completed without errors, not that the strategy made money or demonstrated edge.
Forward-looking performance may differ materially from historical simulation. Markets change, liquidity shifts, and past data may not contain conditions that appear in the future. Any trading strategy should be evaluated with out-of-sample data, paper trading, and independent risk review before any real deployment is considered.
Finally, the report should not be read as implying that KXBTC15M or any other Kalshi market offers a consistent, exploitable inefficiency. The most defensible conclusion here is null: we found no tradable signal in this setup during the tested window.
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.