₿ Funding Rate Strategy Backtest — Bitcoin
90-day quantitative backtest of the Funding Rate signal for Bitcoin (BTC). Performance metrics, trade statistics, and risk analysis. Last updated: June 17, 2026.
Why Funding Rate 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 Funding Rate indicator exploits this by generate signals from extreme funding rate deviations. Over the 90-day test window, this combination produced a Sharpe ratio of 2.09 with 209 trades — averaging one trade every 10 hours.
The win rate of 58% combined with a 2.39× profit factor means winning trades are significantly larger than losing ones. The maximum drawdown of -9% 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 Funding Rate signal for BTC
$ curl command:
curl https://algotick.dev/v1/signals/spreads?coin=BTC
Endpoint: /v1/signals/spreads?coin=BTC
Trade Statistics
| Metric | Value |
|---|---|
| Best Trade | +6.9% |
| Worst Trade | -2.4% |
| Average Trade | +0.19% |
| Win Rate | 58% |
| Profit Factor | 2.39 |
| Total Trades (90d) | 209 |
| Average Holding Period | 2h |
| Max Consecutive Wins | 4 |
| Max Consecutive Losses | 6 |
Methodology
Funding Rate: The funding rate indicator monitors the 8-hour funding payments on perpetual futures. Extreme funding rates (high Z-score) historically predict mean-reversion in the funding rate and correlated short-term price moves. This indicator generates contrarian signals at funding extremes.
Backtest Parameters:
- Period: 90 days of 1-minute data from Hyperliquid
- Signal: funding_rate 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 Funding Rate signal resp = requests.get( f"{BASE}/v1/signals/spreads", params={"coin": "BTC"} ) signal = resp.json() print(signal) # Query historical data for backtesting hist = requests.get( f"{BASE}/v3/analytics/query", params={ "metric": "funding_rate", "coin": "BTC", "hours": 2160 # 90 days } ) data = hist.json()
Our server-side Funding Rate signal generated a 2.1 Sharpe on BTC over the last 90 days
Don't build the infrastructure. Just query the API and focus on your alpha.
Explore API →