本稿は、暗号資産の無期限先物に固有の『ファンディングレート』を源泉とするキャリー戦略を、実装者の視点で徹底分解します。
コアは単純です。現物を買い、同名目の無期限先物をショートして価格変動の影響を相殺し、定期的に発生する資金調達料(Funding)と先物−現物の乖離(ベーシス)の収束でキャッシュフローを積み上げます。
重要なのは『いつ・どれだけ・どうやってやめるか』までルール化することです。キャリーは環境依存で、相場局面により受取から支払へと反転します。
1. 戦略の骨子とP&L分解
無期限先物では、先物価格が現物から乖離しないようトレーダー間でFundingが授受されます。先物が現物より高ければロングがショートに支払い、安ければ逆です。
総P&L ≈ 現物損益 + 先物損益 + 受払ファンディング − 売買・送金コスト ± ベーシス収束益
名目一致(現物名目=先物名目)であれば、現物と先物の方向性損益はほぼ相殺され、主たる収益源はFunding純額とベーシス変化になります。
要素 | 性質 | 管理方法 |
---|---|---|
Funding純額 | 環境依存(分布は歪む) | 中央値・分位点で稼働判定 |
ベーシス収束 | イベントでスパイク | 分割建玉とロール設計 |
コスト | 確定負担 | 手数料率・スリッページ最小化 |
デルタ誤差 | オペレーション起因 | 誤差閾値と自動再均衡 |
2. 名目一致の実務:契約仕様と丸め誤差
USDT建て無期限の多くは『1枚あたり名目=固定USDT』か『コイン建て(1枚=一定数量のコイン)』の仕様です。発注前に契約仕様を確認し、現物数量と先物枚数を一致させます。
例:現物BTC 7.8234枚。先物仕様:1枚=0.001BTC → 目標枚数= round(7.8234 / 0.001) = 7823枚
丸めで±0.05%程度の誤差は発生します。建玉完了後に名目差を再測定し、閾値(例:±0.5%)を超えたらReduce-Onlyで微調整します。
3. 清算バッファの設計:レバレッジと証拠金管理
先物側のレバレッジは低め(2倍以下)を基本とし、清算価格(liquidation price)が現在値から十分に離れるよう証拠金を厚めに差し入れます。
清算発生はキャリーの年間利益を一撃で吹き飛ばすため、『勝たないより負けない』を優先します。
設計項目 | 推奨 | 補足 |
---|---|---|
レバレッジ | 1.5〜2.0x | 清算バッファ重視 |
証拠金モード | クロス or 分離 | 初心者は分離、運用熟練ならクロスで余力共有 |
安全指標 | 清算価格距離15〜30% | 相場イベントでも耐える |
4. 期待利回りの考え方:中央値主義と停止基準
Fundingの分布は裾が厚く、平均がスパイクに引っ張られます。運用判定は平均ではなく『中央値』『25–75%分位』を使うと現実的です。
停止基準の例:『直近90日でFundingの中央値≦0』『連続負の観測がX回超』『先物板の流動性が閾値下回り』など。
実効APR ≈ Σ(名目×Funding×Δt/年) − 年率化コスト を年率換算 / 名目
5. ベーシス(先物−現物)の扱いと建玉タイミング
需給逼迫やイベント前後はベーシスが拡大しやすく、建玉の起点で含み損になることがあります。分割で入る・時間を分散する・スプレッド内で指値を置く、の3点でリスクを低減します。
局面 | ベーシス方向 | 行動 |
---|---|---|
ロング優勢 | +拡大 | ショート名目は慎重に、指値分割 |
ショート優勢 | −拡大 | 建玉縮小や停止を検討 |
イベント前 | 変動増大 | 枚数固定・清算バッファ増強 |
6. 実行プレイブック(手順書)
- 資金配分:現物80%、先物証拠金20%を目安に開始。
- オンランプ:国内でBTC/USDT取得→少額送金で到着時間を測定。
- 見積:手数料・スリッページ・送金費・想定Fundingを年率換算し、実効APRを事前試算。
- 建玉:現物ロング→即座に同名目ショート。Reduce-Onlyで微調整。
- 稼働:Funding時刻前後は流動性低下に注意。
- 日次:証拠金維持率、清算距離、受払合計、デルタ誤差を記帳。
- 週次:リバランス、停止判定、口座横断のP&L集計。
- 撤退:停止基準に達したら段階的に縮小しノーポジへ。
7. マルチアセット最適化:銘柄スクリーニング
BTC/ETHは低ボラ・低Fundingで安定。SOLやDOGEなどALTはFundingが厚い反面、逆転や清算リスクが増すためサイズを抑えます。
指標 | 定義 | 基準例 |
---|---|---|
流動性スコア | 出来高・板厚の合成 | 7/10以上で採用 |
Funding中央値 | 直近90日中央値 | 正であること |
逆転頻度 | 連続負の最長期間 | 閾値超で除外 |
スプレッドコスト | 平均スプレッド/価格 | 低いほど良い |
8. コスト最適化:手数料・スリッページ・送金
キャリーは薄利多回転。片道0.02%の差が年率で大差になります。VIPティアや手数料割引、指値中心の執行でコストを削ります。送金は手数料の安いチェーンを選択し、ネットワーク混雑を避けます。
9. リスク管理と監視ダッシュボード
- 名目一致(現物と先物)を建玉直後に再計算して記録。
- 清算価格が現在値から十分離れていることを目視で確認。
- 出金テスト:少額で送金→出金までのリードタイムを記録。
- イベントカレンダー(主要経済指標・半減期・アップグレード等)を週次で確認。
- 取引所停止・API遅延の発生履歴をメモ。
- 週次レポート:受払ファンディング、取引コスト、Δ調整回数、口座別P&L。
10. 自動化テンプレート(擬似コード)
# ファンディングレート・キャリー監視テンプレ(擬似コード)
import time, json, datetime
import ccxt # 実装時にccxtをインストール
from statistics import median
EX = ccxt.bybit() # 例:Bybit。必要に応じて他取引所へ切り替え。
EX.apiKey = "YOUR_KEY"
EX.secret = "YOUR_SECRET"
SYMBOL = "BTCUSDT"
CONTRACT_Q = 1000 # 例:取引所仕様に合わせる
MAX_DELTA_PCT = 0.005 # 名目誤差±0.5%
MIN_MMR = 0.3 # 証拠金維持率の下限目安
def fetch_latest_funding(symbol):
# 取引所のエンドポイントに合わせて取得
return EX.fetch_funding_rate(symbol) # 戻り値の項目は取引所仕様に依存
def calc_target_contracts(spot_qty_btc, contract_value_btc):
return round(spot_qty_btc / contract_value_btc)
def rebalance_if_needed(delta_pct):
if abs(delta_pct) > MAX_DELTA_PCT:
# reduce-onlyの逆方向で微調整
pass
def main():
while True:
# 1) 口座状況
bal = EX.fetch_balance()
mmr = bal['info'].get('marginRatio', None)
# 2) Funding監視
f = fetch_latest_funding(SYMBOL)
funding_8h = f['fundingRate'] # 例:8h
# 3) ログ出力と閾値判定
now = datetime.datetime.utcnow().isoformat()
print(json.dumps({"t": now, "funding": funding_8h, "mmr": mmr}))
# 4) ルール例:連続負値が一定回数で縮小
# (実装時は状態をファイル/DBに記録して集計)
time.sleep(600)
if __name__ == "__main__":
main()
本テンプレは概念実証用です。実装では例外処理、レート制限、再接続、ログ永続化、鍵管理(環境変数/秘密管理)を追加します。
11. ケーススタディ:60日運用の損益内訳(例示)
項目 | 金額/比率 | 算定根拠 |
---|---|---|
受取Funding | +¥480,000 | 0.008%/8h × 3回/日 × 60日 × 名目1億円 |
売買手数料 | −¥120,000 | 初回と再均衡合算(片道0.02%想定) |
送金・雑費 | −¥20,000 | ネットワーク・出金手数料等 |
ベーシス収束 | +¥50,000 | 小幅な縮小益 |
概算合計 | +¥390,000 | 年率換算約2.4%相当(例) |
急落局面ではFundingが負へ転じ、同条件でマイナスに振れることもあります。停止基準の明文化が鍵です。
12. 監査対応を見据えたログ設計
第三者検証に耐えるよう、以下のログを整備します。
- 建玉時刻・約定明細(取引ID含む)。
- 名目一致の計算過程(スクリーンショット添付も可)。
- Funding受払の日次合計、先物側手数料の内訳。
- 清算価格・証拠金維持率の履歴。
- 停止基準に関する判定ログ(指標・閾値・判定結果)。
13. トラブルシュート集
- 先物の枚数が合わない:契約仕様(コイン建て/USDT建て)を再確認し、名目基準で再計算。
- 清算価格が近い:レバを下げ、余剰証拠金を追加。価格急変イベント前は枚数を落とす。
- Fundingが急反転:連続負値カウントが閾値超過で一時停止、銘柄ローテへ。
- 出金遅延:小口分散・複数取引所・ステーブル余力を持つ。
14. まとめ:『勝たないより負けない』設計で積み上げる
キャリーの本質は裁定の実務。名目一致・低レバ・分散・記録の4点を守り、やる/やらないの切替を機械的に行えば、方向性予想に依存せず現実的なキャッシュフローを積み上げられます。
コメント