◎ Order Book Imbalance Strategy Backtest — Solana
90-day quantitative backtest of the Order Book Imbalance signal for Solana (SOL). Performance metrics, trade statistics, and risk analysis. Last updated: June 17, 2026.
Why Order Book Imbalance on Solana?
Solana is a high-throughput L1 with concentrated liquidity on fewer venues, leading to sharper liquidation cascades and wider funding rate extremes. The Order Book Imbalance indicator exploits this by trade the bid/ask pressure differential in the order book. Over the 90-day test window, this combination produced a Sharpe ratio of 0.85 with 85 trades — averaging one trade every 25 hours.
The win rate of 52% combined with a 2.15× profit factor means winning trades are significantly larger than losing ones. The maximum drawdown of -10% represents the worst peak-to-trough decline, which occurred during a period of normal market conditions. This is within acceptable bounds for an algo strategy.
Performance Summary
Current Signal State </> API
# Current Order Book Imbalance signal for SOL
$ curl command:
curl https://algotick.dev/v1/signals/imbalance?coin=SOL
Endpoint: /v1/signals/imbalance?coin=SOL
Trade Statistics
| Metric | Value |
|---|---|
| Best Trade | +6.5% |
| Worst Trade | -6.0% |
| Average Trade | +0.15% |
| Win Rate | 52% |
| Profit Factor | 2.15 |
| Total Trades (90d) | 85 |
| Average Holding Period | 6h |
| Max Consecutive Wins | 8 |
| Max Consecutive Losses | 2 |
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 BASE = "https://algotick.dev" # Get current Order Book Imbalance signal resp = requests.get( f"{BASE}/v1/signals/imbalance", params={"coin": "SOL"} ) signal = resp.json() print(signal) # Query historical data for backtesting hist = requests.get( f"{BASE}/v3/analytics/query", params={ "metric": "imbalance", "coin": "SOL", "hours": 2160 # 90 days } ) data = hist.json()
Our server-side Order Book Imbalance signal generated a 0.9 Sharpe on SOL over the last 90 days
Don't build the infrastructure. Just query the API and focus on your alpha.
Explore API →