₿ Order Book Imbalance Strategy Backtest — Bitcoin
90-day quantitative backtest of the Order Book Imbalance signal for Bitcoin (BTC). Performance metrics, trade statistics, and risk analysis. Last updated: March 12, 2026.
Performance Summary
2.78
Sharpe Ratio
-28%
Max Drawdown
59%
Win Rate
278
Total Trades
2.58
Profit Factor
0.48%
Avg Trade
Current Signal State </> API
# Current Order Book Imbalance signal for BTC
$ curl command:
curl -H "X-API-Key: YOUR_KEY" https://algotick.dev/v1/signals/imbalance?coin=BTC
Endpoint: /v1/signals/imbalance?coin=BTC
# Current Order Book Imbalance signal for BTC
$ curl command:
curl -H "X-API-Key: YOUR_KEY" https://algotick.dev/v1/signals/imbalance?coin=BTC
Endpoint: /v1/signals/imbalance?coin=BTC
Current Value
0.5744
Signal
bid_heavy
Indicator
Order Book Imbalance
Trade Statistics
| Metric | Value |
|---|---|
| Best Trade | +9.8% |
| Worst Trade | -7.3% |
| Average Trade | +0.48% |
| Win Rate | 59% |
| Profit Factor | 2.58 |
| Total Trades (90d) | 278 |
| Average Holding Period | 7h |
| Max Consecutive Wins | 9 |
| Max Consecutive Losses | 5 |
Methodology
Order Book Imbalance: Order book imbalance measures the ratio of bid-side to ask-side depth. When imbalance is strongly positive (bid-heavy), prices tend to rise; when negative (ask-heavy), prices tend to fall. This indicator generates signals from real-time L2 order book data.
Backtest Parameters:
- Period: 90 days of 1-minute data from Hyperliquid
- Signal: imbalance 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 API_KEY = "YOUR_API_KEY" BASE = "https://algotick.dev" # Get current Order Book Imbalance signal resp = requests.get( f"{BASE}/v1/signals/imbalance", params={"coin": "BTC", "api_key": API_KEY} ) signal = resp.json() print(signal) # Query historical data for backtesting hist = requests.get( f"{BASE}/v3/analytics/query", params={ "api_key": API_KEY, "metric": "imbalance", "coin": "BTC", "hours": 2160 # 90 days } ) data = hist.json()
Our server-side Order Book Imbalance signal generated a 2.8 Sharpe on BTC over the last 90 days
Don't build the infrastructure. Just query the API and focus on your alpha.
Get API Key →