Kinh Doanh Chênh Lệch Lãi Suất Tài Trợ Giữa Các Sàn: Cách Kiếm Lợi Nhuận Từ Sự Khác Biệt Về Tỷ Lệ
Lãi suất tài trợ trên ETHUSDT là 0.01% trên Binance và 0.035% trên Bybit. Cùng một đồng coin, cùng một thời điểm, nhưng tỷ lệ lại chênh lệch 3.5 lần. Người này trả nhiều hơn, người kia trả ít hơn. Và có người kiếm lợi nhuận từ sự chênh lệch này.
Kinh doanh chênh lệch lãi suất tài trợ là một trong số ít chiến lược trong crypto không phụ thuộc vào hướng thị trường. Bạn không cần dự đoán giá. Bạn khai thác lợi nhuận từ sự phân kỳ có cấu trúc của tỷ lệ giữa các sàn giao dịch.
Tại Sao Lãi Suất Tài Trợ Khác Nhau Giữa Các Sàn
Lãi suất tài trợ là cơ chế neo giữ giá hợp đồng tương lai vĩnh cửu với giá giao ngay. Mỗi sàn tính toán độc lập dựa trên dữ liệu của mình:
- Thành phần giao dịch viên. Binance bị chi phối bởi các nhà giao dịch bán lẻ có xu hướng mua (long). Bybit và OKX có nhiều tham gia chuyên nghiệp hơn. Tỷ lệ long/short khác nhau dẫn đến tài trợ khác nhau.
- Công thức tính toán. Mỗi sàn dùng công thức riêng. Binance tính đến chỉ số phí bảo hiểm và lãi suất. Bybit và OKX cũng vậy nhưng với trọng số và kỳ bình quân khác nhau.
- Thanh khoản. Trên các sàn ít thanh khoản hơn, phí bảo hiểm (chênh lệch giữa tương lai và giao ngay) biến động mạnh hơn, khiến tài trợ dao động rộng hơn.
- Tần suất thanh toán. Hầu hết các sàn thanh toán tài trợ mỗi 8 giờ (00:00, 08:00, 16:00 UTC). Nhưng một số sàn (Bybit cho các cặp nhất định, dYdX) thanh toán mỗi giờ, tạo ra cơ hội bổ sung.
Mức Chênh Lệch Điển Hình

Trong thị trường bình lặng, lãi suất tài trợ trên các sàn lớn khá gần nhau — chênh lệch là 0.001-0.005%. Nhưng trong giai đoạn biến động cao, khoảng cách mở rộng:
| Giai Đoạn Thị Trường | Binance | Bybit | OKX | dYdX | Chênh lệch |
|---|---|---|---|---|---|
| Bình lặng | 0.01% | 0.012% | 0.009% | 0.01% | ~0.003% |
| Xu hướng tăng | 0.03% | 0.05% | 0.025% | 0.04% | ~0.025% |
| Tăng cực mạnh | 0.1% | 0.2% | 0.08% | 0.15% | ~0.12% |
| Xu hướng giảm | -0.02% | -0.01% | -0.025% | -0.015% | ~0.015% |
Chênh lệch 0.025% mỗi 8 giờ là 0.075% mỗi ngày. Với kích thước vị thế 75/ngày hoặc ~$2,250/tháng — không có rủi ro định hướng.
Cơ Chế Kinh Doanh Chênh Lệch Cơ Bản

Ý tưởng đơn giản: mở các vị thế đối lập trên hai sàn sao cho bạn nhận tài trợ ở một sàn và trả ít hơn ở sàn kia.
Ví Dụ
Binance: lãi suất tài trợ = +0.01% (long trả short) Bybit: lãi suất tài trợ = +0.04% (long trả short)
Hành động:
- Mở short trên Bybit — nhận 0.04% mỗi 8 giờ
- Mở long trên Binance — trả 0.01% mỗi 8 giờ
- Các vị thế phản chiếu nhau — rủi ro giá là trung lập
- Lợi nhuận ròng: 0.04% - 0.01% = 0.03% mỗi 8 giờ
Mỗi ngày (3 lần thanh toán): 0.09%. Mỗi tháng: ~2.7%. Không có rủi ro định hướng.
def funding_arbitrage_pnl(
rate_short_exchange: float, # rate on the exchange where we short
rate_long_exchange: float, # rate on the exchange where we long
position_size: float, # position size in USD
payments_per_day: int = 3,
days: int = 30,
) -> float:
"""
PnL from funding rate arbitrage over a period.
With positive funding: short receives, long pays.
With negative funding: short pays, long receives.
"""
spread = rate_short_exchange - rate_long_exchange
daily_pnl = spread * payments_per_day * position_size
return daily_pnl * days
pnl = funding_arbitrage_pnl(0.0004, 0.0001, 100_000, days=30)
Rủi Ro và Cạm Bẫy

Chiến lược trông giống như "tiền miễn phí." Nhưng không phải vậy. Có một số rủi ro nghiêm trọng.
1. Phân Kỳ Giá Giữa Các Sàn
Các vị thế trên các sàn khác nhau không ở cùng một mức giá. Chênh lệch giữa Binance và Bybit thường là 0.01-0.05%, nhưng trong những khoảnh khắc biến động cao có thể đạt 0.5-1%. Nếu bạn không mở vị thế đồng thời, sự phân kỳ có thể vượt quá lợi nhuận tài trợ.
Giải pháp: mở đồng thời qua API với độ trễ tối thiểu. Lý tưởng nhất — các máy chủ đặt gần cả hai sàn.
2. Thay Đổi Lãi Suất Tài Trợ
Bạn mở vị thế với chênh lệch 0.03%. Một giờ sau chênh lệch thu hẹp xuống 0.005% hoặc đảo chiều. Bây giờ bạn đang trả trên cả hai sàn.
Giải pháp: giám sát chênh lệch theo thời gian thực và tự động đóng khi chênh lệch giảm xuống dưới ngưỡng.
def should_close(
current_spread: float,
entry_spread: float,
min_spread: float = 0.0001, # 0.01%
trading_costs: float = 0.0005, # 0.05% for opening + closing
) -> bool:
"""
Close the position if the spread has fallen below the threshold
or if the current spread does not cover trading costs.
"""
return current_spread < min_spread or current_spread < trading_costs
3. Phí Giao Dịch
Mở và đóng vị thế trên hai sàn nghĩa là 4 lệnh. Với phí maker 0.02% và phí taker 0.05%:
- Kịch bản lạc quan (tất cả maker):
- Kịch bản bi quan (tất cả taker):
Để hòa vốn phí, vị thế phải được giữ đủ lâu:
def breakeven_days(
total_commissions_pct: float, # total commissions in %
spread: float, # funding rate spread
payments_per_day: int = 3,
) -> float:
daily_income = spread * payments_per_day
return total_commissions_pct / daily_income if daily_income > 0 else float('inf')
4. Yêu Cầu Ký Quỹ
Các vị thế trên cả hai sàn đều cần tài sản thế chấp. Với đòn bẩy 5x trên mỗi sàn và vị thế $100K:
- Binance: $20K tài sản thế chấp
- Bybit: $20K tài sản thế chấp
- Tổng bị khóa: **100K
Lợi nhuận trên vốn:
Với đòn bẩy 10x, tài sản thế chấp giảm xuống $20K, ROC tăng lên 13.5%. Nhưng rủi ro thanh lý từ phân kỳ giá cũng tăng.
5. Rủi Ro Thanh Lý
Nếu giá tài sản biến động mạnh, một trong các vị thế tạo ra lỗ chưa thực hiện. Trên sàn có vị thế thua lỗ, ký quỹ phải được duy trì. Nếu ký quỹ không đủ — bị thanh lý. Trong khi đó, lợi nhuận trên sàn kia không hỗ trợ được — vì nằm trong tài khoản khác.
Giải pháp:
- Duy trì dự trữ ký quỹ (ít nhất 2x mức tối thiểu)
- Thiết lập cảnh báo mức ký quỹ
- Tái cân bằng tự động: khi xảy ra mất cân bằng — chuyển tiền giữa các sàn
Hệ Thống Giám Sát Lãi Suất Tài Trợ

Bước đầu tiên để kinh doanh chênh lệch là thu thập dữ liệu. Bạn cần theo dõi lãi suất tài trợ trên tất cả các sàn quan tâm theo thời gian thực.
import asyncio
import ccxt.pro as ccxt
from dataclasses import dataclass
from datetime import datetime
@dataclass
class FundingSnapshot:
exchange: str
symbol: str
rate: float
next_funding_time: datetime
timestamp: datetime
class FundingMonitor:
"""
Monitor funding rates across multiple exchanges.
"""
def __init__(self, symbols: list[str], exchanges: list[str]):
self.symbols = symbols
self.exchanges = {
name: getattr(ccxt, name)() for name in exchanges
}
self.latest: dict[str, dict[str, FundingSnapshot]] = {}
async def fetch_funding(self, exchange_name: str, exchange, symbol: str):
"""Fetch current funding rate from an exchange."""
try:
funding = await exchange.fetch_funding_rate(symbol)
return FundingSnapshot(
exchange=exchange_name,
symbol=symbol,
rate=funding['fundingRate'],
next_funding_time=datetime.fromtimestamp(
funding['fundingTimestamp'] / 1000
),
timestamp=datetime.utcnow(),
)
except Exception as e:
print(f"Error fetching {exchange_name} {symbol}: {e}")
return None
async def scan(self) -> list[dict]:
"""
Scan all exchanges and find arbitrage opportunities.
"""
tasks = []
for ex_name, ex in self.exchanges.items():
for symbol in self.symbols:
tasks.append(self.fetch_funding(ex_name, ex, symbol))
snapshots = await asyncio.gather(*tasks)
snapshots = [s for s in snapshots if s is not None]
by_symbol: dict[str, list[FundingSnapshot]] = {}
for s in snapshots:
by_symbol.setdefault(s.symbol, []).append(s)
opportunities = []
for symbol, rates in by_symbol.items():
rates.sort(key=lambda x: x.rate)
lowest = rates[0] # long here (pay less)
highest = rates[-1] # short here (receive more)
spread = highest.rate - lowest.rate
opportunities.append({
'symbol': symbol,
'long_exchange': lowest.exchange,
'long_rate': lowest.rate,
'short_exchange': highest.exchange,
'short_rate': highest.rate,
'spread': spread,
'annualized': spread * 3 * 365 * 100, # in % annualized
})
return sorted(opportunities, key=lambda x: -x['spread'])
Kết Quả Mẫu
Symbol | Long @ | Rate | Short @ | Rate | Spread | APR
-----------+-------------+---------+-------------+---------+---------+--------
ETHUSDT | Binance | 0.010% | Bybit | 0.040% | 0.030% | 32.9%
BTCUSDT | OKX | 0.008% | Binance | 0.020% | 0.012% | 13.1%
SOLUSDT | Binance | 0.015% | dYdX | 0.055% | 0.040% | 43.8%
ARBUSDT | Bybit | 0.005% | OKX | 0.030% | 0.025% | 27.4%
Thực Thi: Mở Vị Thế Đồng Thời

Điều cực kỳ quan trọng là mở long và short đồng thời nhất có thể để tránh tiếp xúc rủi ro định hướng.
import asyncio
async def execute_arbitrage(
long_exchange,
short_exchange,
symbol: str,
size: float,
max_slippage_pct: float = 0.05,
):
"""
Simultaneously open a long and short on two exchanges.
"""
long_ticker = await long_exchange.fetch_ticker(symbol)
short_ticker = await short_exchange.fetch_ticker(symbol)
price_spread = abs(
long_ticker['ask'] - short_ticker['bid']
) / long_ticker['ask'] * 100
if price_spread > max_slippage_pct:
raise ValueError(
f"Price spread {price_spread:.3f}% exceeds max slippage"
)
long_order, short_order = await asyncio.gather(
long_exchange.create_market_buy_order(symbol, size),
short_exchange.create_market_sell_order(symbol, size),
)
return long_order, short_order
Quản Lý Vị Thế
Sau khi mở, cần giám sát liên tục:
- Chênh lệch lãi suất tài trợ. Nếu chênh lệch thu hẹp xuống dưới ngưỡng — đóng.
- Số dư ký quỹ. Nếu ký quỹ trên một sàn giảm xuống dưới mức an toàn — tái cân bằng hoặc đóng.
- Phân kỳ giá. Nếu lãi/lỗ chưa thực hiện một phía vượt quá giới hạn — đóng.
async def monitor_and_manage(
long_exchange,
short_exchange,
symbol: str,
size: float,
min_spread: float = 0.0001,
max_unrealized_loss_pct: float = 2.0,
check_interval: int = 60,
):
"""
Monitor an open arbitrage position.
"""
while True:
long_funding = await long_exchange.fetch_funding_rate(symbol)
short_funding = await short_exchange.fetch_funding_rate(symbol)
current_spread = (
short_funding['fundingRate'] - long_funding['fundingRate']
)
long_balance = await long_exchange.fetch_balance()
short_balance = await short_exchange.fetch_balance()
long_positions = await long_exchange.fetch_positions([symbol])
short_positions = await short_exchange.fetch_positions([symbol])
long_upnl = long_positions[0]['unrealizedPnl'] if long_positions else 0
short_upnl = short_positions[0]['unrealizedPnl'] if short_positions else 0
total_upnl_pct = (long_upnl + short_upnl) / size * 100
if current_spread < min_spread:
print(f"Spread collapsed: {current_spread:.4%}")
await close_both(long_exchange, short_exchange, symbol, size)
break
if abs(total_upnl_pct) > max_unrealized_loss_pct:
print(f"Unrealized loss exceeded: {total_upnl_pct:.2f}%")
await close_both(long_exchange, short_exchange, symbol, size)
break
await asyncio.sleep(check_interval)
Các Biến Thể Nâng Cao
Kinh Doanh Chênh Lệch Spot-Perp

Thay vì tương lai trên hai sàn, bạn có thể dùng spot + tương lai trên một sàn duy nhất:
- Mua spot (không có tài trợ)
- Short tương lai vĩnh cửu (nhận tài trợ khi tỷ lệ dương)
Ưu điểm: tất cả trên một sàn, quản lý ký quỹ đơn giản hơn. Nhược điểm: chỉ hoạt động khi tài trợ dương (long trả short), xảy ra ~70% thời gian trong thị trường tăng.
def spot_perp_carry(
funding_rate: float, # current funding rate
spot_fee: float = 0.001, # spot commission (0.1%)
perp_fee: float = 0.0005, # futures commission (0.05%)
leverage: int = 1,
) -> dict:
"""
Calculate the yield of a spot-perp carry trade.
"""
total_fees = (spot_fee + perp_fee) * 2 # opening + closing
daily_income = funding_rate * 3
breakeven_days = total_fees / daily_income if daily_income > 0 else float('inf')
return {
'daily_income_pct': daily_income * 100,
'monthly_income_pct': daily_income * 30 * 100,
'annualized_pct': daily_income * 365 * 100,
'total_fees_pct': total_fees * 100,
'breakeven_days': breakeven_days,
}
result = spot_perp_carry(0.0003)
Kinh Doanh Chênh Lệch Đa Sàn

Khi giám sát 5+ sàn đồng thời, bạn có thể tìm thấy những cơ hội thuận lợi hơn. Thuật toán:
- Thu thập lãi suất tài trợ từ tất cả các sàn
- Tìm cặp có chênh lệch tối đa
- Kiểm tra thanh khoản và độ sâu sổ lệnh trên cả hai sàn
- Nếu chênh lệch > ngưỡng — mở vị thế
- Liên tục quét lại: nếu cặp tốt nhất thay đổi — xoay vòng
def find_best_pair(
rates: dict[str, float], # {"binance": 0.01, "bybit": 0.04, "okx": 0.02}
min_spread: float = 0.0002,
) -> tuple[str, str, float] | None:
"""
Find the exchange pair with the maximum funding rate spread.
Returns: (long_exchange, short_exchange, spread) or None.
"""
exchanges = list(rates.keys())
best = None
for i, ex_long in enumerate(exchanges):
for ex_short in exchanges[i+1:]:
if rates[ex_long] < rates[ex_short]:
spread = rates[ex_short] - rates[ex_long]
long_ex, short_ex = ex_long, ex_short
else:
spread = rates[ex_long] - rates[ex_short]
long_ex, short_ex = ex_short, ex_long
if spread >= min_spread:
if best is None or spread > best[2]:
best = (long_ex, short_ex, spread)
return best
Dự Đoán Lãi Suất Tài Trợ

Lãi suất tài trợ được tính bằng công thức bao gồm chỉ số phí bảo hiểm — chênh lệch giữa giá tương lai và giá giao ngay. Phí bảo hiểm cập nhật thường xuyên hơn tài trợ (mỗi phút so với mỗi 8 giờ). Điều này có nghĩa bạn có thể dự đoán lãi suất tài trợ tiếp theo trước vài phút hoặc vài giờ trước khi thanh toán.
def predict_next_funding(
premium_index: float,
interest_rate: float = 0.0001, # 0.01% per 8h (standard)
clamp_range: float = 0.0005, # ±0.05%
) -> float:
"""
Predict the next funding rate based on the current premium index.
Binance formula: FR = clamp(Premium - Interest, -0.05%, 0.05%) + Interest
"""
diff = premium_index - interest_rate
clamped = max(-clamp_range, min(clamp_range, diff))
return clamped + interest_rate
Biết được lãi suất tài trợ dự đoán, bạn có thể mở vị thế trước khi thanh toán, khi chênh lệch chưa thu hút sự chú ý của các nhà kinh doanh chênh lệch khác.
Yêu Cầu Hạ Tầng

Để kinh doanh chênh lệch lãi suất tài trợ nghiêm túc, bạn cần hạ tầng:
| Thành Phần | Tối Thiểu | Tối Ưu |
|---|---|---|
| Máy chủ | Cloud VPS | Đặt gần các sàn giao dịch |
| Độ trễ | < 500ms | < 50ms |
| API keys | 2 sàn | 5+ sàn |
| Vốn mỗi sàn | $10K mỗi sàn | $50K+ mỗi sàn |
| Giám sát | Log + cảnh báo | Dashboard + tự động tái cân bằng |
| Dữ liệu | REST API polling | WebSocket streaming |
Kinh Tế Học Ở Các Quy Mô Khác Nhau
| Vốn | Vị thế (5x) | Chênh lệch 0.03% | PnL hàng tháng | ROC |
|---|---|---|---|---|
| $10K | $25K | 0.03% | ~$675 | ~6.75% |
| $50K | $125K | 0.03% | ~$3,375 | ~6.75% |
| $200K | $500K | 0.03% | ~$13,500 | ~6.75% |
ROC không phụ thuộc vào quy mô (với thanh khoản đủ). Nhưng lợi nhuận tuyệt đối với vốn $10K có thể không bù đắp chi phí hạ tầng và thời gian.
Kết Luận
Kinh doanh chênh lệch lãi suất tài trợ là chiến lược có cấu trúc, trung lập delta. Nó không yêu cầu dự đoán giá, nhưng đòi hỏi:
- Hạ tầng — giám sát theo thời gian thực tỷ lệ trên nhiều sàn
- Tốc độ thực thi — mở vị thế đồng thời trên các sàn khác nhau
- Quản lý rủi ro — kiểm soát ký quỹ, phân kỳ giá và thay đổi chênh lệch
- Vốn — lợi nhuận tỷ lệ thuận với kích thước vị thế
Chênh lệch lãi suất tài trợ không cố định. Chúng mở rộng trong giai đoạn biến động và thu hẹp trong thời kỳ bình lặng. Nhiệm vụ là tự động tìm và khai thác sự phân kỳ trong khi chúng còn tồn tại.
Để biết thêm về cách lãi suất tài trợ ảnh hưởng đến các chiến lược đòn bẩy — xem bài viết Lãi Suất Tài Trợ Phá Hủy Đòn Bẩy Của Bạn: Tại Sao PnL×50x Là Hư Cấu.
Liên Kết Hữu Ích
- Binance — Lịch Sử Lãi Suất Tài Trợ
- Binance — Giới Thiệu Về Lãi Suất Tài Trợ
- Bybit — Hiểu Về Lãi Suất Tài Trợ
- dYdX — Cơ Chế Tài Trợ Tương Lai Vĩnh Cửu
- Coinglass — Màn Hình Lãi Suất Tài Trợ
Trích Dẫn
@article{soloviov2026fundingarbitrage,
author = {Soloviov, Eugen},
title = {Funding Rate Arbitrage Across Exchanges: How to Profit from Rate Differences},
year = {2026},
url = {https://marketmaker.cc/ru/blog/post/funding-rate-arbitrage-cross-exchange},
description = {Cách kinh doanh chênh lệch lãi suất tài trợ hoạt động giữa các sàn crypto, tại sao tỷ lệ khác nhau trên Binance, Bybit, OKX và dYdX, và cách xây dựng hệ thống giám sát và thực thi.}
}
Tác Giả
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.