Momentum v3 Regime
Coinbase momentum signals on KXBTC15M are regime-dependent: they only work when BTC is trending intraday in the same direction as the short-term momentum signal. Adding change_1h direction, VWAP alignment, and SMA trend filters ensures entries only fire when short-term momentum aligns with the broader intraday trend. This should filter out the August 3-9 regime where short-term momentum was counter-trend noise.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Historical research only. Not investment advice. These results are based on simulated backtests and may not reflect live execution, liquidity, fees, slippage, or market availability.
Intro / Thesis
This research tested the thesis: Coinbase momentum signals on KXBTC15M are regime-dependent: they only work when BTC is trending intraday in the same direction as the short-term momentum signal. Adding change_1h direction, VWAP alignment, and SMA trend filters ensures entries only fire when short-term momentum aligns with the broader intraday trend. This should filter out the August 3-9 regime where short-term momentum was counter-trend noise.
The run explored one Kalshi crypto strategy shape across 100 deterministic variants. Each variant changed risk bounds, loop cadence, position sizing, and signal sensitivity while keeping the underlying thesis intact.
Variant and Strategy Explanation
The base DSL was treated as the control shape. The research runner generated a family around that shape, persisted every successful candidate as a runnable Turbine strategy, and ranked the family by ROI with PnL as a tie-breaker.
version: 1
platform: kalshi
strategy: custom
strategy_name: "Momentum Signal v3 Regime"
market:
series_ticker: KXBTC15M
risk:
max_position: 50
price_floor: 0.05
price_ceiling: 0.73
max_loss: 30.0
loop:
interval: 10
edge:
btc:
provider: coinbase
symbol: BTC-USD
fields: [price, change_5m, velocity_1m, change_1h, sma_20_1m, vwap_1h]
refresh: 5s
rules:
- name: exit_near_close
when:
all:
- field: time_to_expiry
op: "<="
value: "2m"
action: sell_all
- name: stop_loss
when:
all:
- field: unrealized_pnl
op: "<"
value: -25.0
action: sell_all
- name: take_profit
when:
all:
- field: unrealized_pnl
op: ">"
value: 15.0
action: sell_all
- name: momentum_yes_entry
when:
all:
- field: edge.btc.change_5m
op: ">"
value: 0.001
- field: edge.btc.velocity_1m
op: ">"
value: 0
- field: edge.btc.change_1h
op: ">"
value: 0
- field: edge.btc.price
op: ">"
value_field: edge.btc.vwap_1h
- field: edge.btc.price
op: ">"
value_field: edge.btc.sma_20_1m
- field: price
op: ">="
value: 0.05
- field: price
op: "<="
value: 0.73
- field: spread
op: "<="
value: 0.015
- field: time_to_expiry
op: ">="
value: "4m"
- field: time_to_expiry
op: "<="
value: "10m"
- field: position_size
op: "=="
value: 0
action: buy_yes
size: 25
- name: momentum_no_entry
when:
all:
- field: edge.btc.change_5m
op: "<"
value: -0.001
- field: edge.btc.velocity_1m
op: "<"
value: 0
- field: edge.btc.change_1h
op: "<"
value: 0
- field: edge.btc.price
op: "<"
value_field: edge.btc.vwap_1h
- field: edge.btc.price
op: "<"
value_field: edge.btc.sma_20_1m
- field: price
op: ">="
value: 0.05
- field: price
op: "<="
value: 0.73
- field: spread
op: "<="
value: 0.015
- field: time_to_expiry
op: ">="
value: "4m"
- field: time_to_expiry
op: "<="
value: "10m"
- field: position_size
op: "=="
value: 0
action: buy_no
size: 25Top Results
- #1 BTC strategy · floor 0.32 / ceil 0.55: ROI 59.48%, PnL 29.74, Sharpe 0.67, win rate 71.43%, max drawdown -19.60, trades 14.
- #2 BTC strategy · floor 0.36 / ceil 0.55: ROI 59.48%, PnL 29.74, Sharpe 0.67, win rate 71.43%, max drawdown -19.60, trades 14.
- #3 BTC strategy · floor 0.41 / ceil 0.55: ROI 59.48%, PnL 29.74, Sharpe 0.67, win rate 71.43%, max drawdown -19.60, trades 14.
- #4 BTC strategy · floor 0.45 / ceil 0.55: ROI 56.26%, PnL 28.13, Sharpe 0.97, win rate 75.00%, max drawdown -1.77, trades 8.
- #5 BTC strategy · floor 0.09 / ceil 0.55: ROI 43.78%, PnL 21.89, Sharpe 0.49, win rate 62.50%, max drawdown -19.60, trades 16.
Bottom Results
- #95 BTC strategy · floor 0.05 / ceil 0.95: ROI -183.24%, PnL -91.62, Sharpe -0.92, win rate 59.65%, max drawdown -114.72, trades 114.
- #96 BTC strategy · floor 0.09 / ceil 0.95: ROI -183.24%, PnL -91.62, Sharpe -0.92, win rate 59.65%, max drawdown -114.72, trades 114.
- #97 BTC strategy · floor 0.14 / ceil 0.95: ROI -183.24%, PnL -91.62, Sharpe -0.92, win rate 59.65%, max drawdown -114.72, trades 114.
- #98 BTC strategy · floor 0.18 / ceil 0.95: ROI -183.24%, PnL -91.62, Sharpe -0.92, win rate 59.65%, max drawdown -114.72, trades 114.
- #99 BTC strategy · floor 0.23 / ceil 0.95: ROI -183.24%, PnL -91.62, Sharpe -0.92, win rate 59.65%, max drawdown -114.72, trades 114.
Conclusion
The best-performing branch of this thesis was BTC strategy · floor 0.32 / ceil 0.55, which suggests that this parameter region deserves manual inspection before any live deployment. The gap between the top and bottom variants was 242.72 percentage points of ROI, so the shape appears sensitive to parameter choices rather than uniformly robust.
Long Disclaimer
This report is educational research generated from historical simulations. It is not financial, investment, legal, tax, or trading advice, and it is not a recommendation to buy, sell, deploy, or automate any strategy. Prediction markets can be illiquid and volatile; live fills, fees, spreads, latency, market resolution, settlement behavior, outages, data quality, and position limits can materially change outcomes. Backtested performance is not evidence of future performance. Review every DSL, market, risk rule, and live deployment setting yourself before running any strategy.
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.