永续资金费率与基差分析Skill 永续资金费率与基差分析

深度分析加密货币永续合约资金费率和现货-期货基差,识别套利机会、市场极端持仓和方向性情绪信号。涵盖资金费率周期、年化基差信号、现金-持有套利策略构建及跨交易所资金费率套利,适用于量化交易和风控决策。

量化策略 0 次安装 6 次浏览 更新于 6/20/2026

name: 永续资金费率与基差分析 description: 永续合约资金费率分析与现货套保基差交易框架,覆盖资金费率周期、年化基差信号、Carry 策略构建,以及交易所间资金费率套利。 category: crypto

Perpetual Funding Rate & Basis Trading

Overview

Analyze perpetual futures funding rates and spot-futures basis to identify carry trade opportunities, market positioning extremes, and directional sentiment signals. Funding rates are the single most important microstructure indicator in crypto derivatives — they reveal real-time leverage positioning and crowd sentiment.

Core Concepts

1. Funding Rate Mechanics

Perpetual futures have no expiry date. Instead, a funding rate is exchanged between longs and shorts every 8 hours (on most exchanges) to keep the perpetual price anchored to the spot price.

If perp price > spot price → funding rate positive → longs pay shorts
If perp price < spot price → funding rate negative → shorts pay longs

OKX funding rate schedule: payments at 00:00, 08:00, 16:00 UTC

Annualized funding rate:

# OKX funding rate is per 8-hour period
# Annualized = rate × 3 (per day) × 365
funding_rate_8h = 0.01  # 0.01% per 8h
annualized = funding_rate_8h * 3 * 365  # = 10.95% annualized

2. Funding Rate Signal Framework

Funding Rate (8h) Annualized Market State Signal
> +0.05% > +54.75% Extreme long crowding Contrarian short / reduce longs
+0.02% to +0.05% +21.9% to +54.75% Elevated long bias Cautious, carry trade viable
+0.005% to +0.02% +5.5% to +21.9% Mild long bias Neutral to mild bullish
-0.005% to +0.005% -5.5% to +5.5% Balanced Neutral
-0.02% to -0.005% -21.9% to -5.5% Mild short bias Neutral to mild bearish
< -0.02% < -21.9% Short squeeze territory Contrarian long / reduce shorts

Funding rate regime detection:

def funding_regime(rates_7d):
    """Classify funding rate regime from 7-day history."""
    avg = sum(rates_7d) / len(rates_7d)
    consecutive_positive = all(r > 0 for r in rates_7d[-3:])
    consecutive_negative = all(r < 0 for r in rates_7d[-3:])

    if avg > 0.03 and consecutive_positive:
        return "overheated_long"       # High risk of long squeeze
    elif avg > 0.01 and consecutive_positive:
        return "bullish_carry"          # Good carry trade environment
    elif avg < -0.02 and consecutive_negative:
        return "overheated_short"       # High risk of short squeeze
    elif avg < -0.005 and consecutive_negative:
        return "bearish_carry"          # Inverse carry trade
    else:
        return "neutral"

3. Spot-Futures Basis Analysis

Basis = Futures price - Spot price

For dated futures (quarterly), basis reflects cost-of-carry expectations:

# Annualized basis
def annualized_basis(futures_price, spot_price, days_to_expiry):
    basis_pct = (futures_price - spot_price) / spot_price
    annualized = basis_pct * (365 / days_to_expiry)
    return annualized

# Example: BTC spot $65,000, quarterly future $66,500, 45 days to expiry
# Basis: 2.31%, Annualized: 18.7%

Basis signal interpretation:

Annualized Basis Market State Signal
> 30% Extreme contango, euphoric leverage Sell basis (cash-carry), top warning
15-30% Elevated contango, bullish leverage Carry trade attractive
5-15% Normal contango Neutral, mild bullish
0-5% Flat basis Low conviction, wait for direction
< 0% (backwardation) Bearish, forced selling Contrarian long, extreme pessimism

4. Cash-Carry Arbitrage (Delta-Neutral)

Strategy: buy spot + sell perpetual futures → collect funding rate

# Cash-carry trade P&L
def carry_trade_pnl(spot_entry, funding_rates, position_size):
    """
    Delta-neutral carry: long spot + short perp
    P&L comes purely from funding rate collection.
    """
    total_funding_collected = 0
    for rate in funding_rates:
        if rate > 0:  # Longs pay shorts → we collect as short
            total_funding_collected += rate * position_size
        else:  # Shorts pay longs → we pay as short
            total_funding_collected += rate * position_size  # This is negative

    return total_funding_collected

# Example: $100,000 position, avg funding +0.015% per 8h, 30 days
# Revenue: 0.015% × 3 × 30 × $100,000 = $1,350 (16.2% annualized)

Carry trade execution on OKX:

  1. Buy spot BTC-USDT on OKX spot market
  2. Open equal-sized short BTC-USDT-SWAP on OKX perpetual
  3. Net delta = 0 (spot long cancels perp short)
  4. Collect positive funding rate every 8 hours
  5. Close both legs when funding rate turns negative or basis compresses

Risk factors:

  • Funding rate can flip negative → carry becomes a cost
  • Liquidation risk on short perp if insufficient margin (use 3-5x max leverage)
  • Exchange counterparty risk (keep position across 2-3 exchanges)
  • Basis can widen further before mean-reverting → mark-to-market loss on short leg

5. Cross-Exchange Funding Arbitrage

Different exchanges have different funding rates for the same asset. Arbitrage the spread:

# Example: BTC-USDT perpetual funding rates
exchange_rates = {
    "OKX": 0.015,       # +0.015% per 8h
    "Binance": 0.020,   # +0.020% per 8h
    "Bybit": 0.025,     # +0.025% per 8h
}

# Strategy: short on highest funding (Bybit) + long on lowest funding (OKX)
# Net carry = 0.025% - 0.015% = 0.010% per 8h
# Annualized: 0.010% × 3 × 365 = 10.95%
# Risk: execution cost + potential for rates to converge/flip

6. Funding Rate as Directional Indicator

Divergence signals (most powerful):

Price Action Funding Rate Interpretation Signal
Price making new highs Funding declining Longs not chasing → distribution Bearish divergence
Price making new lows Funding rising (less negative) Shorts not pressing → accumulation Bullish divergence
Price consolidating Funding spiking positive Leverage building without breakout Squeeze risk
Price consolidating Funding deeply negative Shorts paying heavy cost to maintain Short squeeze imminent

Historical pattern statistics (BTC):

  • Funding > +0.05% for 3+ consecutive periods → 70% probability of a 5-10% correction within 7 days
  • Funding < -0.03% for 3+ consecutive periods → 65% probability of a 5-15% bounce within 7 days
  • These are contrarian signals; funding rate extremes indicate crowded positioning

7. Open Interest × Funding Rate Matrix

# Combined OI + Funding signal
def oi_funding_matrix(oi_change_24h_pct, funding_rate):
    if oi_change_24h_pct > 5 and funding_rate > 0.03:
        return "leveraged_long_buildup"    # High risk, squeeze potential
    elif oi_change_24h_pct > 5 and funding_rate < -0.01:
        return "leveraged_short_buildup"   # Short squeeze potential
    elif oi_change_24h_pct < -5 and funding_rate > 0:
        return "long_liquidation"          # Forced long closing
    elif oi_change_24h_pct < -5 and funding_rate < 0:
        return "short_liquidation"         # Forced short closing
    elif abs(oi_change_24h_pct) < 2 and abs(funding_rate) < 0.005:
        return "quiet_market"              # Low conviction, wait
    else:
        return "mixed"

Data Access

Via OKX API

# Funding rate history
# GET /api/v5/public/funding-rate-history?instId=BTC-USDT-SWAP

# Current funding rate
# GET /api/v5/public/funding-rate?instId=BTC-USDT-SWAP

# Open interest
# GET /api/v5/public/open-interest?instType=SWAP&instId=BTC-USDT-SWAP

Use load_skill("okx-market") for OKX data retrieval patterns.

Key Metrics to Track

Metric Source Frequency Alert Threshold
BTC funding rate (8h) OKX / Binance Every 8h > +0.05% or < -0.03%
ETH funding rate (8h) OKX / Binance Every 8h > +0.05% or < -0.03%
Annualized basis (quarterly) OKX Continuous > 30% or < 0%
BTC open interest change OKX Hourly > ±5% in 24h
Cross-exchange funding spread Multi-exchange Every 8h Spread > 0.02%

Output Format

## Funding Rate & Basis Analysis — [Asset]

### Current Funding Rates
| Exchange | 8h Rate | Annualized | Regime |
|----------|---------|------------|--------|
| OKX | +0.015% | +16.4% | bullish_carry |
| Binance | +0.020% | +21.9% | bullish_carry |

### Basis Structure
- **Spot price**: $XX,XXX
- **Perp price**: $XX,XXX (premium: X.XX%)
- **Quarterly futures**: $XX,XXX (annualized basis: X.X%)
- **Basis regime**: [contango / flat / backwardation]

### Funding History (7-day)
- **Average**: +X.XXX%
- **Trend**: [rising / stable / declining]
- **Consecutive direction**: [X periods positive/negative]

### Open Interest
- **Current OI**: $X.XB
- **24h change**: [+/-X%]
- **OI × Funding signal**: [leveraged_long_buildup / quiet / etc.]

### Carry Trade Opportunity
- **Best carry**: [short on Exchange X, long spot]
- **Expected annualized yield**: X.X%
- **Risk**: [funding flip probability, liquidation distance]

### Directional Signal
- **Funding regime**: [overheated / bullish / neutral / bearish / oversold]
- **Divergence**: [none / bullish / bearish]
- **Confidence**: [high / medium / low]

Notes

  • Funding rates are exchange-specific; always compare across OKX, Binance, and Bybit for the full picture
  • Extremely high funding rates are a cost for longs, not a bullish signal — they indicate overcrowded positioning
  • Cash-carry trades have execution risk: slippage on entry/exit, funding rate flipping, and exchange downtime during volatility
  • Basis and funding rate signals work best when combined with on-chain data (MVRV, exchange flows)
  • This framework is for research purposes only and does not constitute investment advice