← Quay lại danh sách bài viết
March 9, 2026
5 phút đọc

Funding Rate Hủy Hoại Đòn Bẩy Của Bạn: Tại Sao PnL×50x Chỉ Là Ảo Tưởng

Funding Rate Hủy Hoại Đòn Bẩy Của Bạn: Tại Sao PnL×50x Chỉ Là Ảo Tưởng
#algo trading
#backtesting
#funding rates
#đòn bẩy
#quản lý rủi ro
#crypto
#Binance

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: 50/0.9=55×\lfloor 50 / 0.9 \rfloor = 55\times. Bạn nhân lên: 55%×55=+3025%55\% \times 55 = +3025\%. 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: ±0.01%\pm 0.01\% mỗi 8 giờ (có thể đạt ±0.5%\pm 0.5\% trong điều kiện cực đoan)

Công thức cho một lần thanh toán:

Funding cost=Position size×Funding rate\text{Funding cost} = \text{Position size} \times \text{Funding rate}

Với đòn bẩy LL và vốn CC:

Funding cost=C×L×Rate\text{Funding cost} = C \times L \times \text{Rate}

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:

MaxLev=Target DDMaxDD\text{MaxLev} = \left\lfloor \frac{\text{Target DD}}{\text{MaxDD}} \right\rfloor

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:

Funding cost per capital=L×Rate×Frequency\text{Funding cost per capital} = L \times \text{Rate} \times \text{Frequency}

Với thời gian nắm giữ HH ngày và 3 lần thanh toán mỗi ngày:

Total funding=L×Rate×3×H\text{Total funding} = L \times \text{Rate} \times 3 \times H

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

Bề mặt tác động của đòn bẩy, thời gian drawdown và funding

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:

Effective DD=0.9%×55=49.5%\text{Effective DD} = 0.9\% \times 55 = 49.5\%

Đây đã ở ranh giới thanh lý. Bây giờ cộng thêm funding:

DD with funding=49.3%+accumulated funding during DD period\text{DD with funding} = 49.3\% + \text{accumulated funding during DD period}

Nếu drawdown kéo dài 3 ngày ở tỷ lệ funding 0.01%:

Funding over 3 days=0.0001×3×55×3=4.95%\text{Funding over 3 days} = 0.0001 \times 3 \times 55 \times 3 = 4.95\%

Tổng cộng: 49.5%+4.95%=54.45%49.5\% + 4.95\% = 54.45\%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

Lsafe=Target DDFunding bufferMaxDDL_{safe} = \frac{\text{Target DD} - \text{Funding buffer}}{|\text{MaxDD}|}

trong đó Funding buffer là funding kỳ vọng trong suốt thời gian drawdown điển hình:

Funding buffer=Rate×3×L×DD duration (days)\text{Funding buffer} = \text{Rate} \times 3 \times L \times \text{DD duration (days)}

Đây là phương trình đệ quy (funding buffer phụ thuộc vào LL). Lời giải:

Lsafe=Target DDMaxDD+Rate×3×DD durationL_{safe} = \frac{\text{Target DD}}{|\text{MaxDD}| + \text{Rate} \times 3 \times \text{DD duration}}

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: 55%×55=+3025%55\% \times 55 = +3025\%
  • Có funding (0.01%): 55%×50165%=+2585%55\% \times 50 - 165\% = +2585\%
  • Có funding (0.03%): 55%×42400%=+1910%55\% \times 42 - 400\% = +1910\%

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ế

So sánh chế độ funding rate và đòn bẩy an toàn

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:

Ldynamic=Lbase×Ratemedianmax(Ratecurrent,Ratemedian)L_{dynamic} = L_{base} \times \frac{\text{Rate}_{median}}{\max(\text{Rate}_{current}, \text{Rate}_{median})}

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:

  1. 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.

  2. Sử dụng công thức đòn bẩy an toàn:

Lsafe=Target DDMaxDD+Rate×3×DD durationL_{safe} = \frac{\text{Target DD}}{|\text{MaxDD}| + \text{Rate} \times 3 \times \text{DD duration}}

  1. 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

  1. Binance — Lịch Sử Funding Rate
  2. Binance — Giới Thiệu Về Funding Rate
  3. Bybit — Hiểu Về Funding Rate
  4. Deribit Insights — Chi Phí Ẩn Của Perpetual Swap
  5. Lopez de Prado — Advances in Financial Machine Learning, Chapter 14: Backtest Statistics
  6. 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.}
}
Tuyên bố miễn trừ trách nhiệm: Thông tin được cung cấp trong bài viết này chỉ nhằm mục đích giáo dục và thông tin, không cấu thành lời khuyên về tài chính, đầu tư hoặc giao dịch. Giao dịch tiền mã hóa tiềm ẩn rủi ro thua lỗ đáng kể.

Tác Giả

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Đi Trước Thị Trường

Đăng ký nhận bản tin của chúng tôi để có những thông tin chuyên sâu độc quyền về AI trading, phân tích thị trường và các cập nhật nền tảng.

Chúng tôi tôn trọng quyền riêng tư của bạn. Hủy đăng ký bất kỳ lúc nào.