Funding carry factor construction
A quantitative framework for factor-based portfolio allocation using perpetual futures funding rates, cross-exchange spreads, and liquidity dispersion
Summary
A quantitative framework for factor-based portfolio allocation using perpetual futures funding rates, cross-exchange spreads, and liquidity dispersion
- Published
- Filed under
- Quantitative Methods
- Reading time
- 14 min read
- Sections
- 8
- Research by
- Venym Labs Research
Published by Venym Labs. Methods and limits are in the study; it has not been peer reviewed.
Abstract#
Traditional portfolio construction relies on equity-centric risk factors — market beta, size, value, momentum — calibrated over decades of equity returns. Crypto markets present fundamentally different risk dynamics: perpetual funding rates act as a continuous cost-of-carry signal, cross-exchange spreads reveal latent liquidity fragmentation, and extreme funding rate dispersion signals regime-dependent tail risk. This paper proposes a three-factor crypto-native framework — funding carry, spread compression, and dispersion momentum — and evaluates its explanatory power using 831,910 funding rate observations and cross-exchange pricing data from Binance, Hyperliquid, and AsterDEX. We find that funding carry factors exhibit strong persistence for a subset of assets (XMR, NEAR, ZRO at 2–5% annualized), but that extreme negative funding on long-tail assets (PROVE, SUPER, ALT at −25% to −44% annualized) is dominated by survivorship and listing effects rather than systematic risk premia. This is a pilot study — sample coverage spans a single market cycle and lacks out-of-sample validation. The framework is proposed as a starting point, not a production-ready allocation model.
Hypotheses#
- H1 (Moderate confidence): Persistent positive funding rates on select mid-cap perpetuals (XMR, NEAR, ZRO) reflect a structural short-demand premium that can be harvested as a carry factor. Confidence: moderate — persistence is observed but the underlying driver (hedging demand vs. speculative sentiment) is unidentified.
- H2 (Low confidence): Cross-exchange spreads between DEX venues (Hyperliquid, AsterDEX) and Binance predict short-term price convergence and can serve as a liquidity-risk factor. Confidence: low — spread data is point-in-time and lacks time-series depth for statistical validation.
- H3 (Exploratory): The dispersion of funding rates across assets (measured as cross-sectional standard deviation) functions as a systemic stress indicator that predicts portfolio drawdown risk. Confidence: exploratory — related work (May 2024 dispersion ratio analysis) showed promise, but this formulation lacks out-of-sample testing.
Data Provenance#
All data is sourced from real-time production systems operated by Vex Capital:
| Dataset | Source | Records | Collection Method |
|---|---|---|---|
| Funding rates | PerpsTrader funding.db | 831,910 observations | API polling, 8-hour intervals, multi-exchange |
| Cross-exchange spreads | PerpsTrader trading.db | 10 top spreads (point-in-time) | Real-time order book comparison |
| Asset coverage | 20+ perpetual futures | 3,617 samples per asset | Continuous since system deployment |
Important caveats:
- Funding rate data covers a single market cycle (not decade-long equity-style data)
- Cross-exchange spreads are point-in-time snapshots, not full time-series
- The sample is biased toward assets with active perpetual listings on Hyperliquid and Binance
- No execution cost, slippage, or fill-rate data is included in spread estimates
Analysis#
Factor 1: Funding Carry#
The funding carry factor captures the expected return from holding positions that earn persistent funding payments. Unlike equity dividends, crypto funding rates are paid continuously (typically every 8 hours) and reflect real-time supply-demand for leverage.
# Funding carry factor construction
import numpy as np
def funding_carry_score(rates, window=3617):
"""
Score assets by persistent funding carry.
Positive = shorts pay longs (carry harvest).
Negative = longs pay shorts (cost of holding).
"""
avg_ann = np.mean(rates)
std_ann = np.std(rates)
# Signal-to-noise ratio for carry quality
carry_quality = avg_ann / std_ann if std_ann > 0 else 0
return {
'avg_annualized': avg_ann,
'volatility': std_ann,
'carry_quality': carry_quality,
'sample_size': len(rates),
'reliability': 'RELIABLE' if len(rates) >= 500 else 'UNRELIABLE'
}
Top persistent positive funding (shorts pay longs):
| Asset | Avg Annualized | Range | Samples | Reliability |
|---|---|---|---|---|
| XMR | +5.27% | −7.71% to +35.85% | 3,617 | RELIABLE |
| PURR | +4.75% | −606.09% to +171.80% | 3,617 | RELIABLE (high vol) |
| NIL | +2.56% | −11.00% to +30.98% | 3,617 | RELIABLE |
| LIT | +2.42% | −18.48% to +40.10% | 3,617 | RELIABLE |
| MANTA | +2.37% | +1.37% to +27.86% | 3,617 | RELIABLE |
| ZRO | +2.30% | +1.37% to +17.47% | 3,617 | RELIABLE |
| NEAR | +2.07% | −4.68% to +21.34% | 3,617 | RELIABLE |
The carry quality metric (mean return / volatility) is highest for XMR and NEAR — these assets exhibit positive funding with relatively contained downside volatility. PURR, despite higher average carry, has extreme range (−606% to +172%) making it unsuitable for risk-managed carry strategies.
Extreme negative funding (longs pay shorts — "crowded long" signal):
| Asset | Avg Annualized | Min Annualized | Samples | Reliability |
|---|---|---|---|---|
| PROVE | −43.80% | −910.95% | 3,617 | UNRELIABLE (listing effect) |
| SUPER | −26.73% | −1,096.42% | 3,617 | UNRELIABLE (listing effect) |
| ALT | −25.18% | −484.99% | 3,617 | UNRELIABLE (listing effect) |
These extreme negative rates are dominated by early-listing dynamics — newly listed perpetuals attract one-directional speculative flow, creating funding rates that are structurally non-stationary. Using them as risk factors without controlling for listing age introduces severe survivorship bias.
Factor 2: Cross-Exchange Spread Compression#
Cross-exchange price differentials reveal liquidity fragmentation and execution risk. When spreads widen, portfolio rebalancing costs increase and arbitrage opportunities emerge — but only for capital with cross-venue access.
Top cross-exchange spreads (DEX vs. Binance):
| Asset | Venue | Spread % | Annualized | Reliability |
|---|---|---|---|---|
| FIDA | AsterDEX | 0.085% | 93.3% | UNRELIABLE (point-in-time) |
| EDEN | AsterDEX | 0.078% | 85.6% | UNRELIABLE (point-in-time) |
| GTC | AsterDEX | 0.075% | 81.9% | UNRELIABLE (point-in-time) |
| CHIP | Hyperliquid | 0.075% | 81.8% | UNRELIABLE (point-in-time) |
| ALT | Hyperliquid | 0.062% | 67.6% | UNRELIABLE (point-in-time) |
Critical caveat: These annualized yields are calculated by multiplying instantaneous spreads by 365 — they represent potential convergence profit assuming the spread closes in exactly one day. This is a massive assumption. Real execution requires:
- Capital deployment on both venues
- Gas/transaction costs
- Slippage on close
- Counterparty/settlement risk
The annualized figures are not achievable returns. They are signals of mispricing magnitude.
Factor 3: Funding Rate Dispersion#
The cross-sectional standard deviation of funding rates captures systemic stress. When dispersion spikes, it indicates disagreement across the market about directionality — historically correlated with increased drawdown risk.
def dispersion_factor(funding_rates_by_asset):
"""
Compute cross-sectional funding rate dispersion.
High dispersion = systemic stress signal.
"""
avg_rates = [np.mean(rates) for rates in funding_rates_by_asset.values()]
return {
'cross_sectional_std': np.std(avg_rates),
'mean_rate': np.mean(avg_rates),
'skew': float(np.mean(avg_rates) - np.median(avg_rates)),
'n_assets': len(avg_rates)
}
The current snapshot shows:
- Overall mean funding: −0.169% annualized (slight net-negative, implying longs paying shorts on average)
- Cross-sectional range: −1,096% (SUPER) to +171% (PURR)
- Median asset funding: approximately −2% annualized
The extreme negative skew (long-tail assets with −25% to −44% averages) pulls the mean far below the median, indicating that the average is driven by a small number of distressed/speculative listings rather than systematic market conditions.
Discussion#
Robust Findings#
-
Selective carry persistence is real. XMR, NEAR, and ZRO show consistently positive funding rates across 3,617 observations with manageable volatility. This is the strongest finding in the dataset.
-
Funding rate distributions are not normal. Extreme skew and kurtosis across most assets means mean-variance optimization will systematically misestimate risk. Factor models must account for fat tails.
-
Cross-exchange spreads are material. Spreads of 5–9% between DEX and CEX venues represent genuine pricing inefficiency, though their tradability is unproven without execution data.
Preliminary Findings#
-
The carry factor may be asset-specific, not systematic. Only 7 of 20+ assets show persistent positive funding. Whether this generalizes to a broader universe requires more data.
-
Spread compression timing is unknown. Without time-series spread data, we cannot determine whether wide spreads persist, narrow, or widen further. The spread factor is observational, not predictive.
Not Supported#
- H3 (dispersion as stress indicator) cannot be evaluated with point-in-time data. This requires a time-series of cross-sectional dispersion with corresponding portfolio P&L, which is not available in the current dataset.
Limitations#
This study has significant limitations that must be stated clearly. First, the funding rate dataset covers a single market cycle — we cannot distinguish cycle-dependent effects from structural risk factors. Traditional factor models require multi-decade data; we have months. Second, cross-exchange spread data is point-in-time rather than time-series, preventing any statistical validation of spread dynamics or mean-reversion behavior. Third, the analysis excludes all execution costs, slippage, gas fees, and counterparty risk — any return-to-risk ratio or performance estimate presented here is gross of these costs and systematically overstates achievable returns. Fourth, the asset universe is limited to perpetual futures with active Hyperliquid and/or Binance listings, introducing selection bias toward liquid, exchange-listed tokens. Fifth, funding rates for recently listed assets (PROVE, SUPER, ALT) exhibit extreme non-stationarity that makes them unsuitable for factor construction without controlling for listing age. Finally, no out-of-sample validation or walk-forward testing has been performed — all findings are in-sample and should be treated as hypothesis-generating rather than confirmatory.
Conclusion#
This pilot study proposes a three-factor crypto-native portfolio framework — funding carry, spread compression, and dispersion momentum — and evaluates its components using 831K+ real funding rate observations. The carry factor shows the most promise: a handful of mid-cap perpetuals (XMR, NEAR, ZRO) exhibit persistent positive funding with manageable volatility, suggesting a structural short-demand premium. The spread factor captures real pricing inefficiency between DEX and CEX venues, but lacks the time-series data needed for statistical validation. The dispersion factor remains untested.
What this paper IS: A hypothesis-generating framework for crypto-native portfolio construction, grounded in real production data, with explicit reliability labels and honest assessment of data limitations.
What this paper is NOT: A production-ready allocation model, a backtested strategy, or a claim that any of these factors generate risk-adjusted alpha net of execution costs.
The natural next step is to collect time-series spread data and walk-forward test the carry factor with proper execution cost modeling.
References#
- Fama, E.F. & French, K.R. (1993). "Common risk factors in the returns on stocks and bonds." Journal of Financial Economics, 33(1), 3–56.
- Alexander, C. & Dakos, M. (2020). "A critical investigation of cryptocurrency data." Economic Notes, 49(3), e12161.
- Harvey, C.R. et al. (2016). "...and the Cross-Section of Expected Returns." Review of Financial Studies, 29(1), 5–68.
- Liu, Y. et al. (2022). "Risks and Returns of Cryptocurrency." Review of Financial Studies, 35(11), 5157–5217.
- Venym Labs Research (2026). "Systemic stress indicator: funding rate dispersion ratio." Internal research paper.
- Venym Labs Research (2026). "Funding Rate Mean Reversion: Testing Ornstein-Uhlenbeck Dynamics in Perpetual Futures Markets." Internal research paper.