Funding Rate Hủy Hoại Đòn Bẩy Của Bạn: Tại Sao PnL×50x Chỉ Là Ảo Tưởng
Giả sử bạn đã tối ưu hóa một chiến lược. Backtest cho thấy PnL +55%, MaxDD -0.9%. Bạn tính MaxLev: . Bạn nhân lên: . Ba nghìn phần trăm trong hai năm. Bạn đã nghĩ đến chiếc Lamborghini trong đầu.
Ba tháng chạy thực tế, vốn của bạn đã dưới mức ban đầu. Chiến lược hoạt động đúng như backtest — cùng điểm vào, cùng điểm thoát, cùng mức drawdown. Nhưng bạn đang thua lỗ. Mỗi ngày. Đều đặn.
Lý do: funding rate. Một khoản phí vô hình mà backtest của bạn không tính đến — hoặc tính không chính xác.
Funding Rate Hoạt Động Như Thế Nào
Trên các sàn giao dịch tiền điện tử, hợp đồng perpetual swap không có ngày đáo hạn. Để giữ giá futures gắn liền với giá spot, các sàn sử dụng cơ chế funding — các khoản thanh toán định kỳ giữa long và short.
Cơ chế trên Binance/Bybit:
- Funding được thanh toán mỗi 8 giờ (00:00, 08:00, 16:00 UTC)
- Tỷ lệ funding được xác định bởi sự chênh lệch giữa giá futures và giá spot
- Nếu tỷ lệ funding dương — long trả cho short
- Nếu âm — short trả cho long
- Tỷ lệ điển hình: mỗi 8 giờ (có thể đạt trong điều kiện cực đoan)
Công thức cho một lần thanh toán:
Với đòn bẩy và vốn :
Tại Sao Backtest Nói Dối Về Đòn Bẩy
Chỉ số MaxLev (Maximum Leverage) tiêu chuẩn là mức đòn bẩy lý thuyết tối đa mà drawdown không vượt quá mức mục tiêu:
Công thức này không tính đến các chi phí phụ thuộc vào đòn bẩy. Ở đòn bẩy 1x, tỷ lệ funding là khoản phí không đáng kể. Ở 58x — đó là thảm họa.
Chi Phí Tuyến Tính vs Bậc Hai
Phí giao dịch (maker/taker) là tuyến tính — chúng tỷ lệ với khối lượng giao dịch và không phụ thuộc vào đòn bẩy. Funding rate cũng tuyến tính theo kích thước vị thế, nhưng khi tính lại trên mỗi đơn vị vốn, chúng tăng tỷ lệ thuận với đòn bẩy:
Với thời gian nắm giữ ngày và 3 lần thanh toán mỗi ngày:
Tính Toán Lại: Ví Dụ Chiến Lược Có Tính Funding
Ví dụ, hãy xem xét ba chiến lược giả định với các hồ sơ rủi ro khác nhau. Tham số: perpetual futures, thời gian kiểm tra 25 tháng, tỷ lệ funding điển hình 0.01% mỗi 8 giờ.
Kết Quả Gốc (Chưa Tính Funding)
| Chiến lược | PnL | MaxDD | MaxLev | PnL@ML | Giao dịch | Thời gian giao dịch |
|---|---|---|---|---|---|---|
| Chiến lược A | +55% | -0.9% | 55x | +3025% | ~500 | ~15% |
| Chiến lược B | +25% | -0.75% | 66x | +1650% | ~40 | ~5% |
| Chiến lược C | +300% | -17% | 3x | +900% | ~400 | ~45% |
Tính Chi Phí Funding
def funding_cost(
leverage: float,
trading_time_pct: float,
test_days: int = 750, # 25 months
funding_rate: float = 0.0001, # 0.01% per 8h
payments_per_day: int = 3,
) -> float:
"""
Calculate cumulative funding costs as % of capital.
Returns:
Funding cost as percentage of initial capital
"""
active_days = test_days * trading_time_pct
daily_cost = funding_rate * payments_per_day * leverage
total_cost = daily_cost * active_days
return total_cost * 100 # in percent
Tính toán:
a_funding = funding_cost(55, 0.15, 750)
b_funding = funding_cost(66, 0.05, 750)
c_funding = funding_cost(3, 0.45, 750)
Kết Quả Có Tính Funding
| Chiến lược | PnL@ML (chưa tính funding) | Chi phí funding | PnL@ML (có tính funding) | Trạng thái |
|---|---|---|---|---|
| Chiến lược A | +3025% | -185.6% | +2839% | Ăn ~6% |
| Chiến lược B | +1650% | -74.3% | +1576% | Ăn ~4.5% |
| Chiến lược C | +900% | -30.4% | +870% | Ăn ~3% |
Thoạt nhìn có vẻ chấp nhận được: funding ăn 3-6% PnL@ML cuối cùng. Nhưng đây là tỷ lệ funding trung bình. Hãy xem điều gì xảy ra ở mức tỷ lệ cao hơn.
Funding Rate Không Phải Hằng Số
Tỷ lệ funding 0.01% điển hình là giá trị trung vị. Trong thực tế, tỷ lệ dao động:
| Giai đoạn thị trường | Tỷ lệ funding điển hình | Mỗi 8h ở 55x | Mỗi ngày ở 55x |
|---|---|---|---|
| Thị trường yên lặng | 0.005% | 0.275% | 0.825% |
| Bình thường | 0.01% | 0.55% | 1.65% |
| Xu hướng tăng | 0.03% | 1.65% | 4.95% |
| Tăng cực đoan | 0.1% | 5.50% | 16.5% |
| Flash pump | 0.5% | 27.5% | — |
Ở đòn bẩy 55x trong thị trường tăng (0.03%): một ngày nắm giữ vị thế long tốn 4.95% vốn chỉ riêng phí funding.
PnL Mỗi Ngày Hoạt Động vs Funding Mỗi Ngày
Đây là phép tính quan trọng — lợi nhuận chiến lược hàng ngày so với chi phí hàng ngày:
a_pnl_per_day = 55 * 55 / 112.5 # PnL@ML / active days = 26.9%/day
b_pnl_per_day = 25 * 66 / 37.5 # = 44.0%/day
Với những con số như thế này, funding dường như không quan trọng. Nhưng đây là giá trị trung bình. Vấn đề nằm ở chỗ khác.
Vấn Đề Thực Sự: Funding Trong Thời Gian Drawdown

Chi phí funding tích lũy liên tục trong khi vị thế đang mở — kể cả trong các giai đoạn drawdown. Ví dụ: drawdown tối đa 0.9% (Chiến lược A) ở đòn bẩy 55x trở thành:
Đây đã ở ranh giới thanh lý. Bây giờ cộng thêm funding:
Nếu drawdown kéo dài 3 ngày ở tỷ lệ funding 0.01%:
Tổng cộng: — thanh lý ở mức margin duy trì tiêu chuẩn 50%.
Công Thức Đòn Bẩy An Toàn Có Tính Funding
trong đó Funding buffer là funding kỳ vọng trong suốt thời gian drawdown điển hình:
Đây là phương trình đệ quy (funding buffer phụ thuộc vào ). Lời giải:
def safe_leverage(
max_dd_pct: float,
target_dd_pct: float = 50.0,
funding_rate: float = 0.0001,
dd_duration_days: float = 3.0,
) -> float:
"""
Safe leverage accounting for funding costs during drawdown.
"""
denominator = max_dd_pct / 100 + funding_rate * 3 * dd_duration_days
return target_dd_pct / 100 / denominator
a_safe = safe_leverage(0.9, 50.0, 0.0001, 3.0)
a_safe_high = safe_leverage(0.9, 50.0, 0.0003, 3.0)
Kết luận: ở tỷ lệ funding điển hình, đòn bẩy an toàn cho Chiến lược A là 50x, không phải 55x. Ở funding cao — 42x. Sự chênh lệch trong PnL@ML:
- Naive:
- Có funding (0.01%):
- Có funding (0.03%):
Tích Hợp Thực Tế Funding Vào Backtest
Tính toán funding rate trong backtest không phải tùy chọn — đó là điều bắt buộc. Đây là một implementation tối giản:
import pandas as pd
import numpy as np
def load_funding_rates(symbol: str) -> pd.DataFrame:
"""Load historical funding rates from warehouse."""
path = f"warehouse/data/{symbol}/funding/"
return df # columns: [timestamp, rate]
def apply_funding_to_trades(trades, funding_rates, leverage: int = 1):
"""
Subtract real funding costs from each trade's PnL.
"""
for trade in trades:
mask = (
(funding_rates.index >= trade.entry_time) &
(funding_rates.index <= trade.exit_time)
)
payments = funding_rates.loc[mask, 'rate']
direction = 1 if trade.side == 'long' else -1
total_funding = payments.sum() * direction * leverage
trade.pnl_pct -= total_funding * 100
return trades
Trong một engine backtest được xây dựng tốt, funding rate được tải và áp dụng cho từng giao dịch một cách tự động. Điều này cung cấp một bức tranh thực tế — và thường kém đẹp hơn mong muốn.
Phạm Vi Đòn Bẩy Thực Tế

Ví dụ — cách tỷ lệ funding ảnh hưởng đến đòn bẩy an toàn ở các mức MaxDD khác nhau:
| Chế độ funding | Tỷ lệ trung bình | MaxLev ở DD=0.9% | MaxLev ở DD=17% |
|---|---|---|---|
| Thấp (0.005%) | 0.005% | 53x | 3x |
| Điển hình (0.01%) | 0.01% | 50x | 3x |
| Cao (0.03%) | 0.03% | 42x | 3x |
| Rất cao (0.05%) | 0.05% | 36x | 2x |
Quan sát chính: đối với các chiến lược có drawdown thấp (Chiến lược A, B), funding làm giảm đáng kể đòn bẩy hiệu quả. Đối với các chiến lược có drawdown cao (Chiến lược C), tác động funding là tối thiểu — vì đòn bẩy đã bị giới hạn ở 3x.
Chiến Lược Giảm Thiểu Tác Động Funding
1. Vị Thế Trung Lập Với Hedge
Tỷ lệ funding được xác định bởi sự chênh lệch giữa giá futures và giá spot. Nếu chiến lược của bạn cho phép hedge qua spot — funding được trung hòa:
- Long futures + short spot = 0 exposure ròng với funding
- Nhưng: short spot trong crypto bị hạn chế (cần tài khoản margin hoặc cho vay)
2. Chuyển Sang Sàn Có Funding Thấp Hơn
Các sàn khác nhau có tỷ lệ funding khác nhau cho cùng một tài sản. Giám sát chênh lệch funding là một chiến lược riêng, được mô tả chi tiết trong bài viết Funding Rate Arbitrage Across Exchanges.
3. Lựa Chọn Thời Điểm Vào Lệnh
Funding được thanh toán vào các thời điểm cố định (00:00, 08:00, 16:00 UTC). Nếu một giao dịch đóng một phút trước khi thanh toán — funding không bị tính. Đây là tối ưu hóa vi mô, nhưng ở đòn bẩy 58x, tiết kiệm 0.58% từ một lần thanh toán bị bỏ qua là đáng kể.
4. Đòn Bẩy Động
Thay vì đòn bẩy cố định, sử dụng đòn bẩy thích ứng:
Khi funding tăng cao, đòn bẩy tự động giảm, hạn chế chi phí.
Khuyến Nghị Tích Hợp Funding Vào Pipeline
Funding rate phải là phần bắt buộc của pipeline backtest:
- Tải lịch sử funding rate cho từng symbol
- Điều chỉnh từng giao dịch theo funding thực tế trong thời gian nắm giữ
- Tính MaxLev bằng công thức có funding buffer
- Trong báo cáo, hiển thị cả hai con số: PnL@ML không tính funding và có tính funding
Quy tắc thực tế: nếu một chiến lược ngừng có lợi nhuận ở tỷ lệ funding 0.03% (xảy ra 20-30% thời gian trong thị trường bull) — nó chưa sẵn sàng để chạy thực tế ở đòn bẩy cao. Giảm đòn bẩy xuống mức mà chiến lược có lợi nhuận ngay cả trong kịch bản funding tệ nhất.
Kết Luận
Funding rate là thuế đánh vào đòn bẩy. Như thuế thực sự, chúng không đáng chú ý ở mức nhỏ và tàn phá ở mức lớn.
Ba quy tắc:
-
Luôn tính PnL@ML có tính funding. Công thức không có funding là marketing, không phải trading. Tải lịch sử funding rate và trừ chi phí thực tế từ mỗi giao dịch.
-
Sử dụng công thức đòn bẩy an toàn:
- Kiểm tra ở funding gấp 3 lần. Nếu chiến lược có lợi nhuận ở funding 0.03% (không chỉ 0.01%) — nó bền vững. Nếu không — giảm đòn bẩy.
Những con số PnL đẹp đẽ ở đòn bẩy 50-60x là ảo tưởng dễ chịu. Funding rate là thực tế lạnh lùng. Giữa chúng là sự khác biệt giữa backtest và tài khoản giao dịch thực tế.
Để biết thêm về toán học của drawdown và volatility drag ở đòn bẩy cao — xem bài viết của chúng tôi Bất Đối Xứng Lỗ-Lãi. Về cách thu được khoảng tin cậy cho kết quả đã điều chỉnh funding — Monte Carlo Bootstrap cho Backtest.
Liên Kết Hữu Ích
- Binance — Lịch Sử Funding Rate
- Binance — Giới Thiệu Về Funding Rate
- Bybit — Hiểu Về Funding Rate
- Deribit Insights — Chi Phí Ẩn Của Perpetual Swap
- Lopez de Prado — Advances in Financial Machine Learning, Chapter 14: Backtest Statistics
- Kevin Davey — Building Winning Algorithmic Trading Systems: Transaction Costs
Trích Dẫn
@article{soloviov2026fundingratesleverage,
author = {Soloviov, Eugen},
title = {Funding Rates Kill Your Leverage: Why PnL×50x Is a Fiction},
year = {2026},
url = {https://marketmaker.cc/ru/blog/post/funding-rates-kill-leverage},
version = {0.1.0},
description = {How funding rates on Binance/Bybit turn beautiful high-leverage backtest results into guaranteed losses. Formulas, recalculation of real strategies, and the maximum leverage at which funding does not eat into profits.}
}
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.