BTC EMA/SMA Sweep
Momentum on 1m EMA/SMA crossover combined with 5m trend filter predicts BTC 15-minute candle direction, but the optimal EMA period, SMA period, and entry price threshold are unknown and worth sweeping.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Research Report: BTC 15-Minute Candle Direction — EMA/SMA Crossover Momentum Sweep on Kalshi
1. Short Disclaimer
This is historical simulation research only. All results are from backtests on past market data. Past performance does not guarantee future outcomes. This report does not constitute trading advice or a profit forecast.
2. Intro / Thesis
We wanted to find out whether a simple momentum signal — a fast EMA crossing above a slower SMA on 1-minute BTC bars, combined with a 5-minute trend filter — could pick the right direction on Kalshi’s 15-minute BTC up/down binary markets. The core idea is straightforward: enter when short-term momentum and the longer trend agree. But we didn’t know the best lookback periods for the EMA, SMA, or the exact contract price thresholds that would make the signal useful.
To answer that, we ran a 100-variant sweep. Every variant trades the same BTC 15-minute binary series (KXBTC15M) using a custom strategy that polls Coinbase data every 10 seconds. Each variant changes the entry price floor and ceiling — two simple risk gates — while keeping the directional logic intact (bullish when EMA > SMA and price > 5m SMA; bearish when the opposite).
3. Variant and Strategy Explanation
What we varied: The price_floor and price_ceiling in the risk parameters. The floor ranged from 0.05 up to 0.45, and the ceiling from 0.50 up to 0.95. These gates prevent the strategy from buying contracts that are already too expensive (or too cheap) based on where the market is pricing the binary outcome.
What stayed fixed:
- Asset: BTC / Kalshi 15-minute binary (KXBTC15M)
- Entry signal (bullish): If no position, expiry > 2 minutes away, contract price ≤ 0.50, 1m EMA(12) > 1m SMA(20), and BTC price > 5m SMA(50) → buy YES (size 5).
- Entry signal (bearish): If no position, expiry > 2 minutes away, contract price ≥ 0.50, 1m EMA(12) < 1m SMA(20), and BTC price < 5m SMA(50) → buy NO (size 5).
- Exits: A time-based stop-loss sells everything if the contract price drops to ≤ 0.10 with under 1 minute left. A final settle rule sells everything 5 seconds before expiry.
- Loop interval: 10 seconds — the strategy checks conditions and acts 10 times per second.
Every successful variant from this sweep is saved as a runnable, replayable Turbine strategy.
4. Top Results
The best performers all shared a common trait: a low price floor (0.05–0.14) and a moderate price ceiling (0.59–0.68). This means the strategy was most effective when it was willing to buy contracts priced near the extremes — cheap YES contracts or expensive NO contracts — as long as they weren’t too close to the midpoint.
| Rank | Label | ROI % | PnL | Sharpe | Win Rate | Max DD | Trades |
|---|---|---|---|---|---|---|---|
| 1 | floor 0.05 / ceil 0.59 | 8,937 | 446.8 | 1.21 | 57.7% | -26.4% | 1,796 |
| 2 | floor 0.09 / ceil 0.59 | 8,937 | 446.8 | 1.21 | 57.7% | -26.4% | 1,796 |
| 3 | floor 0.14 / ceil 0.59 | 8,874 | 443.7 | 1.22 | 57.8% | -25.7% | 1,788 |
| 4 | floor 0.05 / ceil 0.64 | 8,852 | 442.6 | 1.20 | 57.6% | -26.4% | 1,810 |
| 5 | floor 0.09 / ceil 0.64 | 8,852 | 442.6 | 1.20 | 57.6% | -26.4% | 1,810 |
| 6 | floor 0.14 / ceil 0.64 | 8,795 | 439.8 | 1.21 | 57.7% | -25.7% | 1,802 |
| 7 | floor 0.05 / ceil 0.68 | 8,772 | 438.6 | 1.20 | 57.5% | -26.4% | 1,812 |
| 8 | floor 0.09 / ceil 0.68 | 8,772 | 438.6 | 1.20 | 57.5% | -26.4% | 1,812 |
What stands out:
- The top 8 variants are clustered tightly around ROI percentages in the high 8,700s to low 8,900s, with Sharpe ratios between 1.20 and 1.22.
- Win rates hover around 57.5–57.8%, consistent across these parameter sets.
- Trade counts are high (1,788–1,812), meaning the strategy gets frequent signals and isn’t picking only rare, cherry-picked setups.
- Maximum drawdown sits in the -25% to -26% range — not trivial, but consistent with a high-frequency, high-turnover approach.
5. Bottom Results
The worst performers — ranks 93 through 100 — all used a high price floor of 0.45, paired with ceilings from 0.55 up to 0.95. These variants effectively locked the strategy out of entering unless the contract price was very close to 0.50, exactly where the signal’s edge is weakest.
| Rank | Label | ROI % | PnL | Sharpe | Win Rate | Max DD | Trades |
|---|---|---|---|---|---|---|---|
| 93 | floor 0.45 / ceil 0.55 | 5,640 | 282.0 | 0.98 | 58.4% | -26.1% | 1,350 |
| 94 | floor 0.45 / ceil 0.68 | 5,616 | 280.8 | 0.93 | 58.3% | -24.1% | 1,426 |
| 95 | floor 0.45 / ceil 0.73 | 5,527 | 276.4 | 0.90 | 58.3% | -26.4% | 1,434 |
| 96 | floor 0.45 / ceil 0.95 | 5,527 | 276.3 | 0.92 | 58.3% | -26.4% | 1,454 |
| 97 | floor 0.45 / ceil 0.86 | 5,509 | 275.4 | 0.92 | 58.4% | -26.4% | 1,442 |
| 98 | floor 0.45 / ceil 0.91 | 5,509 | 275.4 | 0.92 | 58.4% | -26.4% | 1,442 |
| 99 | floor 0.45 / ceil 0.82 | 5,494 | 274.7 | 0.91 | 58.3% | -26.4% | 1,440 |
| 100 | floor 0.45 / ceil 0.77 | 5,473 | 273.7 | 0.91 | 58.3% | -26.4% | 1,438 |
Key observations:
- ROI drops materially — from ~8,900% at the top to ~5,500% at the bottom. That’s a 38% relative reduction in total return.
- Sharpe ratios fall to 0.90–0.98, signaling lower risk-adjusted returns.
- Win rates are actually slightly higher here (around 58.3%) than in the top group. But trade counts are lower (1,350–1,454), meaning the strategy is passing on many opportunities. Fewer good trades can’t make up for the lost volume.
- By being too restrictive on entry price, these variants leave money on the table.
6. Conclusion
The sweep reveals a clear pattern: the 1m EMA/SMA momentum + 5m trend filter works best when you let it buy contracts far from the midpoint. Low floors (0.05–0.14) and moderate ceilings (0.59–0.68) consistently produced the highest ROI, strongest Sharpe ratios, and highest total PnL. Tightening the entry window to contracts near 0.50 (floor 0.45) killed performance — same win rate, fewer trades, much lower absolute returns.
This doesn’t mean the strategy is bulletproof. Max drawdowns in the 25–26% range are real, and these are simulated results, not live trading. But the sweep shows the idea has merit and that the parameter choice matters a lot. The winning variants are saved in Turbine and ready for replay or further refinement.
7. Long Disclaimer
This report is for informational and research purposes only. All performance figures are derived from historical back
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.