本文へ移動
cccskills
無料GitHub で公開

perp-funding-basis

Perpetual futures funding rate analysis and cash-carry basis trading — funding rate regimes, annualized basis signals, carry trade construction, and funding rate arbitrage between exchanges.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md10.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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:

# Funding rate is a per-8h DECIMAL, exactly as OKX/Binance return it
# (the API sends "0.0001" for 0.01%). 3 funding windows/day → × 3 × 365.
funding_rate_8h = 0.0001                  # 0.01% per 8h, as a decimal
annualized = funding_rate_8h * 3 * 365    # 0.1095 → 10.95% annualized

Units convention (whole skill): all code treats the funding rate as a per-8h decimal (0.0001 = 0.01%), matching the raw OKX/Binance API value. The tables below show the equivalent percentages for readability — divide a table's % by 100 to get the decimal a comparison expects (+0.05% → 0.0005).

2. Funding Rate Signal Framework

Funding Rate (8h)AnnualizedMarket StateSignal
> +0.05%> +54.75%Extreme long crowdingContrarian short / reduce longs
+0.02% to +0.05%+21.9% to +54.75%Elevated long biasCautious, carry trade viable
+0.005% to +0.02%+5.5% to +21.9%Mild long biasNeutral to mild bullish
-0.005% to +0.005%-5.5% to +5.5%BalancedNeutral
-0.02% to -0.005%-21.9% to -5.5%Mild short biasNeutral to mild bearish
< -0.02%< -21.9%Short squeeze territoryContrarian 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.0003 and consecutive_positive:       # > +0.03% per 8h
        return "overheated_long"       # High risk of long squeeze
    elif avg > 0.0001 and consecutive_positive:     # > +0.01% per 8h
        return "bullish_carry"          # Good carry trade environment
    elif avg < -0.0002 and consecutive_negative:    # < -0.02% per 8h
        return "overheated_short"       # High risk of short squeeze
    elif avg < -0.00005 and consecutive_negative:   # < -0.005% per 8h
        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 BasisMarket StateSignal
> 30%Extreme contango, euphoric leverageSell basis (cash-carry), top warning
15-30%Elevated contango, bullish leverageCarry trade attractive
5-15%Normal contangoNeutral, mild bullish
0-5%Flat basisLow conviction, wait for direction
< 0% (backwardation)Bearish, forced sellingContrarian 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% (0.00015 decimal) per 8h, 30 days
# Revenue: 0.00015 × 3 × 30 × $100,000 = $1,350 (16.4% 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 = {          # per-8h decimals (API-native)
    "OKX": 0.00015,     # +0.015% per 8h
    "Binance": 0.00020, # +0.020% per 8h
    "Bybit": 0.00025,   # +0.025% per 8h
}

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

6. Funding Rate as Directional Indicator

Divergence signals (most powerful):

Price ActionFunding RateInterpretationSignal
Price making new highsFunding decliningLongs not chasing → distributionBearish divergence
Price making new lowsFunding rising (less negative)Shorts not pressing → accumulationBullish divergence
Price consolidatingFunding spiking positiveLeverage building without breakoutSqueeze risk
Price consolidatingFunding deeply negativeShorts paying heavy cost to maintainShort 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.0003:       # funding > +0.03%
        return "leveraged_long_buildup"    # High risk, squeeze potential
    elif oi_change_24h_pct > 5 and funding_rate < -0.0001:    # funding < -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.00005:  # |funding| < 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

MetricSourceFrequencyAlert Threshold
BTC funding rate (8h)OKX / BinanceEvery 8h> +0.05% or < -0.03%
ETH funding rate (8h)OKX / BinanceEvery 8h> +0.05% or < -0.03%
Annualized basis (quarterly)OKXContinuous> 30% or < 0%
BTC open interest changeOKXHourly> ±5% in 24h
Cross-exchange funding spreadMulti-exchangeEvery 8hSpread > 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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

ADR/H-share/A-share cross-listing premium analysis — track pricing gaps between US-listed ADRs, HK-listed H-shares, and A-shares for arbitrage signals, dual-listing valuation, and delisting risk assessment.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

akshare

無料

AKShare financial data aggregator (18k+ stars). Free, no API key. Covers A-shares, US, HK, futures, macro, forex. Primary fallback for tushare and yfinance.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

alpha-zoo

無料

Browse and bench the bundled alpha zoos — prebuilt cross-sectional factor libraries (Kakushadze 101, GTJA 191, Qlib 158, Fama-French / Carhart). Use when the user asks "which alphas exist", wants metadata on a named alpha, or wants to run IC/IR on a whole zoo over a universe.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

A 股 ST/*ST 风险预测框架 — 基于最新中报/三季报或业绩预告/快报,预测下一财年是否会因营收、利润、净资产、分红不达标而被风险警示,并将新浪监管处罚记录作为独立证据面纳入风险等级。仅适用于 A 股,不预测财务造假。

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

Asset allocation theory and optimizer usage — MPT / Black-Litterman / risk budgeting / all-weather strategy, including guides for 5 optimizers and rebalancing rules.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

Diagnose failed or underperforming backtests, locate the root cause, and fix the issue

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

HKUDS のスキルをすべて見る

このスキルの問題を報告する