← 記事一覧に戻る
March 9, 2026
読了時間: 5分

ファンディングレートがレバレッジを殺す:PnL×50倍が幻想である理由

ファンディングレートがレバレッジを殺す:PnL×50倍が幻想である理由
#algo trading
#backtesting
#funding rates
#leverage
#risk management
#crypto
#Binance

戦略を最適化したとしましょう。バックテストはPnL +55%、MaxDD -0.9%を示しています。MaxLevを計算すると:50/0.9=55×\lfloor 50 / 0.9 \rfloor = 55\times。掛け算すると:55%×55=+3025%55\% \times 55 = +3025\%。2年間で3000パーセント。もうランボルギーニを選んでいるでしょう。

本番運用3ヶ月後、資金は開始時点を下回っています。戦略はバックテスト通り正確に動いています——同じエントリー、同じエグジット、同じドローダウン。しかし毎日損失が出ています。一貫して。

理由:ファンディングレート。バックテストが考慮していなかった——または不正確に考慮した——見えない手数料です。

ファンディングレートの仕組み

暗号通貨取引所では、パーペチュアルスワップに満期日がありません。先物価格を現物価格に固定するために、取引所はファンディングメカニズム——ロングとショート間の定期的な支払い——を使用します。

Binance/Bybitでの仕組み:

  • ファンディングは8時間ごとに支払われます(00:00、08:00、16:00 UTC)
  • ファンディングレートは先物価格と現物価格の差によって決まります
  • ファンディングレートがプラスの場合——ロングがショートに支払います
  • マイナスの場合——ショートがロングに支払います
  • 典型的なレート:8時間ごとに±0.01%\pm 0.01\%(極端な状況では±0.5%\pm 0.5\%に達することがあります)

単一支払いの計算式:

ファンディングコスト=ポジションサイズ×ファンディングレート\text{ファンディングコスト} = \text{ポジションサイズ} \times \text{ファンディングレート}

レバレッジ LL と資本 CC の場合:

ファンディングコスト=C×L×レート\text{ファンディングコスト} = C \times L \times \text{レート}

なぜバックテストはレバレッジについて嘘をつくのか

標準的なMaxLev(最大レバレッジ)指標は、ドローダウンが目標レベルを超えないレバレッジの理論上の上限です:

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

この公式はレバレッジに依存するコストを考慮していません。1倍のレバレッジではファンディングレートは些細な手数料です。58倍では——大惨事です。

線形コスト vs 二次コスト

取引手数料(メイカー/テイカーフィー)は線形です——取引量に比例し、レバレッジには依存しません。ファンディングレートもポジションサイズに対して線形ですが、資本あたりに再計算すると、レバレッジに比例して増加します:

資本あたりのファンディングコスト=L×レート×頻度\text{資本あたりのファンディングコスト} = L \times \text{レート} \times \text{頻度}

保有期間 HH 日、1日3回の支払いの場合:

総ファンディング=L×レート×3×H\text{総ファンディング} = L \times \text{レート} \times 3 \times H

再計算:ファンディングを考慮した戦略例

例として、異なるリスクプロファイルを持つ3つの仮想戦略を考えます。パラメータ:パーペチュアル先物、25ヶ月のテスト期間、8時間あたり0.01%の典型的ファンディングレート。

元の結果(ファンディングなし)

戦略 PnL MaxDD MaxLev PnL@ML 取引数 取引時間
戦略A +55% -0.9% 55x +3025% ~500 ~15%
戦略B +25% -0.75% 66x +1650% ~40 ~5%
戦略C +300% -17% 3x +900% ~400 ~45%

ファンディングコストの計算

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

計算:

a_funding = funding_cost(55, 0.15, 750)

b_funding = funding_cost(66, 0.05, 750)

c_funding = funding_cost(3, 0.45, 750)

ファンディングを考慮した結果

戦略 PnL@ML(ファンディングなし) ファンディングコスト PnL@ML(ファンディング込み) 状態
戦略A +3025% -185.6% +2839% 約6%消費
戦略B +1650% -74.3% +1576% 約4.5%消費
戦略C +900% -30.4% +870% 約3%消費

一見すると許容範囲に見えます:ファンディングは最終PnL@MLの3-6%を消費します。しかしこれは平均的なファンディングレートです。レートが上昇した場合に何が起こるか見てみましょう。

ファンディングレートは定数ではない

典型的な0.01%のファンディングレートは中央値です。実際にはレートは変動します:

市場フェーズ 典型的ファンディングレート 55倍での8時間あたり 55倍での1日あたり
穏やかな市場 0.005% 0.275% 0.825%
通常 0.01% 0.55% 1.65%
上昇トレンド 0.03% 1.65% 4.95%
極端な上昇 0.1% 5.50% 16.5%
フラッシュポンプ 0.5% 27.5%

55倍レバレッジで上昇相場(0.03%)の場合: ロングポジションの1日のファンディングだけで**資本の4.95%**のコストがかかります。

1日あたりのPnL vs 1日あたりのファンディング

重要な計算——日次戦略リターン vs 日次コスト:

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

このような数字では、ファンディングは重要でないように見えます。しかしこれらは平均値です。問題は別のところにあります。

本当の問題:ドローダウン中のファンディング

レバレッジ、ドローダウン期間、ファンディング影響のサーフェス

ファンディングコストはポジションが開いている間——ドローダウン期間中も含めて——継続的に蓄積されます。例えば:戦略Aの最大ドローダウン0.9%が55倍レバレッジでは:

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

これはすでに清算の瀬戸際です。ファンディングを追加すると:

ファンディング込みDD=49.3%+DD期間中の累積ファンディング\text{ファンディング込みDD} = 49.3\% + \text{DD期間中の累積ファンディング}

ドローダウンが0.01%のファンディングレートで3日間続いた場合:

3日間のファンディング=0.0001×3×55×3=4.95%\text{3日間のファンディング} = 0.0001 \times 3 \times 55 \times 3 = 4.95\%

合計:49.5%+4.95%=54.45%49.5\% + 4.95\% = 54.45\% — 標準の50%維持証拠金で清算

ファンディングを考慮した安全レバレッジの公式

Lsafe=目標DDファンディングバッファーMaxDDL_{safe} = \frac{\text{目標DD} - \text{ファンディングバッファー}}{|\text{MaxDD}|}

ここでファンディングバッファーは典型的なドローダウン期間にわたる予想ファンディングです:

ファンディングバッファー=レート×3×L×DD期間(日)\text{ファンディングバッファー} = \text{レート} \times 3 \times L \times \text{DD期間(日)}

これは再帰方程式です(ファンディングバッファーはLLに依存します)。解は:

Lsafe=目標DDMaxDD+レート×3×DD期間L_{safe} = \frac{\text{目標DD}}{|\text{MaxDD}| + \text{レート} \times 3 \times \text{DD期間}}

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)

結論: 典型的なファンディングレートでの戦略Aの安全レバレッジは50倍であり、55倍ではありません。上昇ファンディング時は42倍。PnL@MLの違い:

  • ナイーブ:55%×55=+3025%55\% \times 55 = +3025\%
  • ファンディング込み(0.01%):55%×50165%=+2585%55\% \times 50 - 165\% = +2585\%
  • ファンディング込み(0.03%):55%×42400%=+1910%55\% \times 42 - 400\% = +1910\%

バックテストへのファンディングの実践的統合

バックテストでのファンディングレートの考慮はオプションではなく——必須です。最小限の実装を示します:

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

適切に構築されたバックテストエンジンでは、ファンディングレートは自動的にロードされ各取引に適用されます。これにより現実的な全体像が得られます——そしてそれは多くの場合、望むほど良くはありません。

現実的なレバレッジ範囲

ファンディングレートレジームと安全レバレッジの比較

例として——異なるMaxDDレベルでのファンディングレートが安全レバレッジにどう影響するか:

ファンディングレジーム 平均レート DD=0.9%でのMaxLev DD=17%でのMaxLev
低(0.005%) 0.005% 53x 3x
典型(0.01%) 0.01% 50x 3x
上昇(0.03%) 0.03% 42x 3x
高(0.05%) 0.05% 36x 2x

重要な観察: 低ドローダウンの戦略(戦略A、B)では、ファンディングが実効レバレッジを大幅に削減します。高ドローダウンの戦略(戦略C)では、ファンディングの影響は最小限です——レバレッジがすでに3倍に制限されているためです。

ファンディング影響を最小化する戦略

1. ヘッジニュートラルポジション

ファンディングレートは先物価格と現物価格の差によって決まります。戦略が現物を通じたヘッジを許容する場合——ファンディングは中和されます:

  • ロング先物 + ショート現物 = ファンディングに対するネットエクスポージャーゼロ
  • ただし:暗号通貨での現物ショートは制限されます(証拠金口座またはレンディングが必要)

2. ファンディングが低い取引所への移行

異なる取引所では同じ資産のファンディングレートが異なります。ファンディングアービトラージのモニタリングは独立した戦略です。詳細は記事取引所間ファンディングレートアービトラージをご覧ください。

3. エントリータイミング

ファンディングは固定時間(00:00、08:00、16:00 UTC)に支払われます。取引が支払いの1分前にクローズされた場合——ファンディングは課金されません。これはマイクロ最適化ですが、58倍レバレッジでは、1回のスキップされた支払いから0.58%の節約は重要です。

4. 動的レバレッジ

固定レバレッジの代わりに、適応的レバレッジを使用します:

Ldynamic=Lbase×レートmedianmax(レートcurrent,レートmedian)L_{dynamic} = L_{base} \times \frac{\text{レート}_{median}}{\max(\text{レート}_{current}, \text{レート}_{median})}

ファンディングが上昇すると、レバレッジが自動的に低下し、コストを制限します。

パイプラインへのファンディング統合に関する推奨事項

ファンディングレートはバックテストパイプラインの必須部分でなければなりません:

  • 各シンボルの過去ファンディングレートをロード
  • 保有期間にわたる実際のファンディングで各取引を調整
  • ファンディングバッファー付きの公式でMaxLevを計算
  • レポートには両方の数値を表示:ファンディングなしとファンディング込みのPnL@ML

実践的ルール: 0.03%のファンディングレート(強気市場の20-30%の期間に発生)で戦略が利益を出さなくなる場合——高レバレッジでの本番運用の準備ができていません。最悪のファンディングシナリオでも戦略が利益を出すレベルまでレバレッジを下げてください。

結論

ファンディングレートはレバレッジに対する税金です。本物の税金と同様に、少額では気づかず、大額では壊滅的です。

3つのルール:

  1. 常にファンディングを考慮したPnL@MLを計算してください。 ファンディングなしの公式はマーケティングであり、取引ではありません。過去のファンディングレートをロードし、各取引から実際のコストを差し引いてください。

  2. 安全レバレッジの公式を使用してください:

Lsafe=目標DDMaxDD+レート×3×DD期間L_{safe} = \frac{\text{目標DD}}{|\text{MaxDD}| + \text{レート} \times 3 \times \text{DD期間}}

  1. 3倍ファンディングでテストしてください。 戦略が0.03%ファンディング(0.01%だけでなく)で利益を出すなら——ロバストです。そうでなければ——レバレッジを下げてください。

50-60倍レバレッジでの美しいPnL数字は心地よい幻想です。ファンディングレートは冷たい現実です。その間にバックテストと取引口座の違いがあります。

ハイレバレッジでのドローダウンとボラティリティドラッグの数学については——記事損失と利益の非対称性をご覧ください。ファンディング調整済み結果の信頼区間の取得方法については——バックテストのためのモンテカルロブートストラップ


参考リンク

  1. Binance — Funding Rate History
  2. Binance — Introduction to Funding Rates
  3. Bybit — Understanding Funding Rates
  4. Deribit Insights — The Hidden Cost of Perpetual Swaps
  5. Lopez de Prado — Advances in Financial Machine Learning, Chapter 14: Backtest Statistics
  6. Kevin Davey — Building Winning Algorithmic Trading Systems: Transaction Costs

Citation

@article{soloviov2026fundingratesleverage,
  author = {Soloviov, Eugen},
  title = {Funding Rates Kill Your Leverage: Why PnL×50x Is a Fiction},
  year = {2026},
  url = {https://marketmaker.cc/ja/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.}
}
blog.disclaimer

MarketMaker.cc Team

クオンツ・リサーチ&戦略

Telegramで議論する
Newsletter

市場の先を行く

ニュースレターを購読して、独占的なAI取引の洞察、市場分析、プラットフォームの更新情報を受け取りましょう。

プライバシーを尊重します。いつでも配信停止可能です。