₿ Regime Momentum Strategy Backtest — Bitcoin
90-day quantitative backtest of the Regime Momentum signal for Bitcoin (BTC). Performance metrics, trade statistics, and risk analysis. Last updated: June 17, 2026.
Why Regime Momentum on Bitcoin?
Bitcoin is the most liquid crypto asset with deep orderbooks and institutional participation, making it responsive to macro signals and cross-venue arbitrage. The Regime Momentum indicator exploits this by trade regime transitions detected by the hidden markov model. Over the 90-day test window, this combination produced a Sharpe ratio of 2.73 with 273 trades — averaging one trade every 7 hours.
The win rate of 62% combined with a 2.03× profit factor means winning trades are significantly larger than losing ones. The maximum drawdown of -23% represents the worst peak-to-trough decline, which occurred during a period of elevated volatility. This drawdown level requires careful position sizing to manage portfolio risk.
Performance Summary
Current Signal State </> API
# Current Regime Momentum signal for BTC
$ curl command:
curl https://algotick.dev/v3/signals/regime?coin=BTC
Endpoint: /v3/signals/regime?coin=BTC
Trade Statistics
| Metric | Value |
|---|---|
| Best Trade | +9.3% |
| Worst Trade | -4.8% |
| Average Trade | +0.43% |
| Win Rate | 62% |
| Profit Factor | 2.03 |
| Total Trades (90d) | 273 |
| Average Holding Period | 2h |
| Max Consecutive Wins | 4 |
| Max Consecutive Losses | 5 |
Methodology
Regime Momentum: Regime momentum uses the HMM-based regime classifier to detect transitions between market states (trending, mean-reverting, volatile). When the regime shifts from one state to another, the strategy enters positions aligned with the new regime's expected behavior.
Backtest Parameters:
- Period: 90 days of 1-minute data from Hyperliquid
- Signal: regime_label from the Algo Tick API
- Position sizing: Fixed 1x leverage, no compounding
- Execution: Market orders at next bar open, 0.05% slippage + 0.02% fees
- Risk: Stop-loss at 2x ATR, take-profit at 3x ATR
Reproduce This Backtest
Don't run this backtest locally — just query our analytics endpoint:
# Fetch historical signal data for backtesting import requests BASE = "https://algotick.dev" # Get current Regime Momentum signal resp = requests.get( f"{BASE}/v3/signals/regime", params={"coin": "BTC"} ) signal = resp.json() print(signal) # Query historical data for backtesting hist = requests.get( f"{BASE}/v3/analytics/query", params={ "metric": "regime_label", "coin": "BTC", "hours": 2160 # 90 days } ) data = hist.json()
Our server-side Regime Momentum signal generated a 2.7 Sharpe on BTC over the last 90 days
Don't build the infrastructure. Just query the API and focus on your alpha.
Explore API →