Head Hunter
On KXBTC15M, enter YES when BTC-USD trades above 1h VWAP with EMA-12/1m above SMA-20/1m and short-term momentum (change_5m, velocity_1m) agrees in the trade direction, gated by a split-direction 15m volatility band (0.25%-1.20%), a tight spread cap, and a post-buy cooldown. Exit when velocity and momentum both reverse. Hypothesis: entering only when direction, momentum, and a bounded volatility window agree captures trending 15-minute moves.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Research Report: KXBTC15M BTC Trend-Momentum Strategy
Short Disclaimer
Historical simulation only. No live trading was performed. Past simulated results do not guarantee future performance.
Intro / Thesis
This study tested whether a BTC-USD 15-minute Kalshi market could be traded profitably by entering only when direction, short-term momentum, and a bounded volatility window all agreed. The base strategy entered YES when price traded above 1-hour VWAP, the 1-minute EMA-12 sat above the 1-minute SMA-20, and both 5-minute change and 1-minute velocity were positive. It entered NO under the mirror-image conditions. A split-direction 15-minute volatility band of 0.25% to 1.20% and a 1.5% spread cap were applied as filters. Exits occurred when velocity and 5-minute change both reversed.
The idea was straightforward: a 15-minute crypto binary should capture trending moves better when the fast trend, medium trend, and short-term impulse all point the same way, provided volatility is high enough to matter but not so high that the move is already exhausted or chaotic.
Variant and Strategy Explanation
The underlying strategy was a custom Kalshi strategy on KXBTC15M, looping every 10 seconds with Coinbase BTC-USD data refreshing every 5 seconds. The market tracked BTC-USD directional outcomes over 15-minute windows.
Entry logic, in plain language:
- YES entry: price > 1h VWAP; EMA-12/1m > SMA-20/1m; change_5m > 0; velocity_1m > 0; 15m change between +0.25% and +1.20%; spread ≤ 1.5%.
- NO entry: price < 1h VWAP; EMA-12/1m < SMA-20/1m; change_5m < 0; velocity_1m < 0; 15m change between -1.20% and -0.25%; spread ≤ 1.5%.
- Exits: close all YES when velocity_1m ≤ 0 and change_5m ≤ 0; close all NO when both reverse upward. Hard stops at $0.07 and $0.93.
Position sizing was fixed at 1 contract per entry, with max position 40 and price floors/ceilings intended to avoid extreme tails.
For the robustness sweep, two parameters were varied:
risk.price_flooracross 10 values: 0.05 to 0.45risk.price_ceilingacross 10 values: 0.55 to 0.95
This produced 100 cells. All 100 completed. The intent was to see whether small changes in risk boundaries meaningfully altered trade selection or performance, and whether any region of parameter space showed a genuine edge.
Top Results
Across all 100 variants, zero trades were taken. Every one of the top-ranked variants shows:
- Total PnL: 0
- Total trades: 0
- Win rate: 0
- Sharpe: 0
- Max drawdown: 0
- ROI: 0%
The top eight variants, ranked by the primary metric, are all tied at zero. They differ only by price ceiling, ranging from 0.55 to 0.86, all with a price floor of 0.05. Each successful variant has been saved as a runnable Turbine strategy, but in this case "successful" simply means the simulation completed — it does not mean the strategy traded.
Bottom Results
The bottom results are identical to the top results. No variant traded even once. The same eight configurations appear at the bottom of the ranking because there is no performance variation to rank.
This is an important finding in itself: the strategy's entry conditions were never satisfied in the simulation window. The filters were restrictive enough, and the market conditions presumably quiet or choppy enough, that the strategy sat flat for the entire period.
Conclusion
This simulation produced no tradable signal. The core hypothesis — that combining VWAP trend, EMA/SMA alignment, short-term momentum, and a bounded volatility window would identify 15-minute BTC moves worth trading — could not be evaluated because the entry conditions never fired.
The robustness sweep did not reveal a hidden edge. Both swept parameters were inert: varying risk.price_floor and risk.price_ceiling across their full ranges produced identical trades in every cell — namely, zero. Flatness here is not evidence of robustness; it is evidence that the parameters were never exercised.
Two warnings from the robustness statistics are material:
- Trade floor: the winning cell had 0 resolved trades, far below the 30-trade threshold for statistical reliability.
- Inert axes: both swept parameters produced identical trades in every cell, so the sweep provides no information about sensitivity or robustness.
A permutation p-value was not available for this run, so no significance statement can be made beyond the raw observation of zero trades.
The most likely explanations are either that market conditions during the window never matched the strategy's restrictive entry profile, or that the entry thresholds — especially the tight spread cap and the volatility band — were too strict to trigger in practice. This result should not be read as evidence that the thesis is wrong, but equally it provides no evidence that the thesis works. The strategy generated no empirical data on trade quality.
Long Disclaimer
This document is a historical simulation research report produced for internal and public research purposes only. It does not constitute investment advice, a recommendation to buy or sell any security, derivative, prediction market contract, or cryptocurrency, or an offer of any kind.
All results are derived from historical backtesting and parameter-sweep simulation. They do not reflect actual trading, actual fills, liquidity, fees, slippage, API latency, exchange outages, or the impact of order execution on market prices. Simulated results are inherently limited and often overstate real-world performance, especially when strategies trade frequently or rely on precise timing.
The simulation reported here produced zero trades across all variants. Metrics such as ROI, Sharpe ratio, win rate, and max drawdown are therefore meaningless as performance indicators in this study and are reported at zero only because no trading occurred. The robustness sweep identified both swept parameters as inert, meaning the sweep did not test the strategy's sensitivity to those parameters in any meaningful way. The absence of a permutation p-value means no formal statistical test of overfitting was available for this run.
Any strategy mentioned as "saved" or "runnable" refers only to preservation of the strategy configuration within the Turbine research system. It is not an endorsement of the strategy's quality or a claim about future profitability. Market conditions change. Strategies that do nothing in one window may trade frequently in another, and vice versa. Conversely, strategies that performed well historically may fail entirely in the future.
Kalshi markets and cryptocurrency prices are volatile and subject to rapid, unpredictable changes. Trading involves substantial risk of loss, including total loss of principal. You should conduct your own research and consult a licensed financial advisor before making any trading decisions.
This report was generated as part of a historical research pipeline. No live capital was deployed. No forward-looking claims are made or implied.
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.