BTC Trend Confirmation
Multi-horizon BTC trend confirmation predicts repricing in Kalshi KXBTC15M: buy YES when both 5m and 1h BTC returns are positive, buy NO when both are negative. Only enter when price is $0.25-$0.75, spread <= $0.03, and >2m remain. Test whether trend agreement produces positive, repeatable historical performance.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Research Report: Kalshi KXBTC15M — BTC Multi-Horizon Trend Confirmation
Short Disclaimer
Historical simulation only. No live trading results. Past simulated performance does not indicate future outcomes.
Intro / Thesis
This report examines whether multi-horizon BTC trend confirmation — defined as agreement between 5-minute and 1-hour BTC returns from Coinbase — predicts repricing in Kalshi's KXBTC15M market. The base thesis: buy YES when both horizons are positive, buy NO when both are negative, subject to price band, spread, and time-to-expiry filters. The expected edge is that when short-term and medium-term BTC momentum align, the 15-minute Kalshi contract reprices with exploitable lag.
The strategy is a custom Turbine DSL loop running every 30 seconds. It trades the most liquid KXBTC15M contract, checks BTC-USD change over 5m and 1h windows, and enters only within defined price and spread constraints near mid-range. Position sizing is 1 contract per signal, with hard exits at -25 unrealized PnL or 2 minutes before expiry.
Across 100 completed variants, the results consistently fail to support the thesis. Every tested parameter configuration produced negative net PnL. The core conclusion is that this specific trend-confirmation signal, as specified, is not a repeatable historical edge in KXBTC15M during the simulation window.
Variant and Strategy Explanation
Venue: Kalshi
Market type: Crypto (BTC)
Series ticker: KXBTC15M
Strategy type: Custom
Loop interval: 30 seconds
Signal logic (base DSL):
- Buy YES when
change_5m > 0ANDchange_1h > 0 - Buy NO when
change_5m < 0ANDchange_1h < 0
Filters:
- Entry price band: varied across variants (entry_low from 0.25 to 0.45; entry_high from 0.55 to 0.75)
- Spread cap: ≤ $0.03 (also tested 0.01, 0.02, 0.04)
- Time to expiry: > 2 minutes
- Position size: 1 contract
Risk controls:
- Max position: 100 (effectively unused given size=1)
- Max loss: -$25 (hard exit via
sell_all) - Flatten near close: sell all at ≤ 2 minutes to expiry
- Price floor/ceiling in DSL: 0.28 / 0.72 (operational bounds)
Parameter sweep: The main axis tested was entry price band (entry_low × entry_high). Spread cap was also varied. 100 total variants were completed.
Each successful variant is saved as a runnable Turbine strategy. The strategy slugs are included in the results tables below.
Top Results
The "top" variants here are top-ranked only in the sense of least-bad performance. None produce positive returns.
| Rank | Label | ROI % | Total PnL | Trades | Win Rate | Max Drawdown | Sharpe |
|---|---|---|---|---|---|---|---|
| 1 | band 0.25–0.55 · spread cap 0.01 | -24.11% | -24.11 | 3,808 | 45.98% | -42.23 | -0.10 |
| 2 | band 0.25–0.55 · spread cap 0.02 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 3 | band 0.25–0.55 · spread cap 0.03 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 4 | band 0.25–0.55 · spread cap 0.04 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 5 | band 0.25–0.60 · spread cap 0.01 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 6 | band 0.25–0.60 · spread cap 0.02 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 7 | band 0.25–0.60 · spread cap 0.03 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 8 | band 0.25–0.60 · spread cap 0.04 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
Best ranked variant details:
- Variant ID:
289a9e46b1c9b5c43dbc383ac44c1189 - Strategy slug:
btc-trend-confirmation-7ed3a52e5d81c - Label: BTC strategy · band 0.25–0.55 · spread cap 0.01
- ROI: -24.11%
- Total PnL: -24.11
- Total trades: 3,808
- Win rate: 45.98%
- Max drawdown: -42.23
- Sharpe: -0.10
This variant loses less than the others, but it still loses. The tighter 0.01 spread cap reduces trade count (3,808 vs 4,126) and marginally improves PnL relative to the wider caps, but the improvement is not economically meaningful. With a -24.11% ROI and a -0.10 Sharpe, there is no edge here.
Important statistical finding: The robustness statistics show an "inert axis" warning for both entry_low and entry_high. Varying these parameters produced identical trades in every cell of the sweep — the parameters were never exercised in this window. This means the apparent flatness of results across the sweep is not evidence of robustness. It simply means the strategy traded the same way regardless of band settings, likely because BTC prices never entered the tested bands in the simulation window, or because the other filters (spread, time-to-expiry) dominated.
This is a critical caveat: the top results are consistent with selection noise. The ranking difference between -24.11% and -27.51% is not a meaningful signal of parameter quality.
Bottom Results
The bottom-ranked variants show the strategy's performance floor is consistently around -27.51% ROI with a -0.16 Sharpe.
| Rank | Label | ROI % | Total PnL | Trades | Win Rate | Max Drawdown | Sharpe |
|---|---|---|---|---|---|---|---|
| 2 | band 0.25–0.55 · spread cap 0.02 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 3 | band 0.25–0.55 · spread cap 0.03 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 4 | band 0.25–0.55 · spread cap 0.04 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 5 | band 0.25–0.60 · spread cap 0.01 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 6 | band 0.25–0.60 · spread cap 0.02 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 7 | band 0.25–0.60 · spread cap 0.03 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 8 | band 0.25–0.60 · spread cap 0.04 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
| 9 | band 0.25–0.65 · spread cap 0.01 | -27.51% | -27.51 | 4,126 | 50.32% | -40.61 | -0.16 |
The bottom cluster is nearly identical to the top cluster. The -27.51% ROI appears across all band configurations with spread caps ≥ 0.02. This clustering indicates the strategy outcome is driven primarily by the signal itself (the BTC trend agreement) and the fee drag, not by the specific entry band or spread cap parameters.
The warning in the robustness statistics is explicit: fees consume 146% of the winner's gross PnL. This means that before fees, the strategy might have had a small positive gross edge in the best case, but transaction costs erase it entirely and push the result deeply negative.
Conclusion
The multi-horizon BTC trend confirmation thesis is not supported by historical simulation on Kalshi KXBTC15M.
The best variant loses -24.11% ROI. The median outcome across all 100 variants is -27.51% ROI. No variant produces positive PnL. Win rates hover near coin-flip territory (46% to 50%), meaning the signal provides no directional advantage after fees.
Statistical assessment: The robustness statistics are unambiguous:
- **Deflated Sharpe ratio:
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.