概要
ファンディング・ファーミング時間ベース戦略は、ファンディング率イベントの前後で自動的にトレードを開閉することができます。 この戦略により、ファンディング期間に対して正確なタイミングで取引することで、市場へのエクスポージャーを最小限に抑えつつファンディング収益を得ることが可能です。
システムは以下のように設定できます:
- ファンディングイベント前にトレードを開く(例:60分前)
- ファンディング付与後すぐにトレードを閉じる(例:10分後)
- UTCタイムゾーンを使用して、取引所間で一貫した運用を実現(00:00, 08:00, 16:00 UTC)
⚙️ 設定
すべての設定値は、YAML設定ファイルの funding_farming_settings セクションで定義されています。
funding_farming_settings:
is_enabled: true
max_open_trades: 5
max_symbols_to_pick: 10
funding_rate_threshold: 0.0003 # 最低0.03%
spot_order_size: 100.0
future_order_size: 100.0
liquidation_percent: 5.0
# 時間ベースの制御
open_trade_before: 60 # ファンディング時間の60分前にトレードを開く
close_trade_after: 10 # ファンディング付与後10分でトレードを閉じる
🧭 一般的な設定シナリオ
| シナリオ | 説明 | 推奨用途 |
|---|---|---|
| 精密タイミング(推奨) | 1時間前に開き、10分後に閉じる | 安定したファンディング収益の獲得に最適 |
| クイックエントリー/エグジット | 15分前に開き、5分後に閉じる | アクティブトレーダー向け |
| 常時トレード | 時間制限なし | ファンディングベースの継続的取引用 |
| 拡張ウィンドウ | 2時間前に開き、30分後に閉じる | 遅い取引所や高ボラティリティ向け |
設定例
1. 精密タイミング
open_trade_before: 60
close_trade_after: 10
開く: 23:00, 07:00, 15:00 UTC
閉じる: 00:10, 08:10, 16:10 UTC
2. クイックエントリー/エグジット
open_trade_before: 15
close_trade_after: 5
開く: 23:45, 07:45, 15:45 UTC
閉じる: 00:05, 08:05, 16:05 UTC
3. 常時トレード
open_trade_before: 0
close_trade_after: 0
ファンディング率が閾値を満たすといつでも開く
自動閉鎖のタイミング制限なし
4. 拡張ウィンドウ
open_trade_before: 120
close_trade_after: 30
開く: 22:00, 06:00, 14:00 UTC
閉じる: 00:30, 08:30, 16:30 UTC
🔄 動作原理
1. ポジションの開設
ファンディングは1日3回発生します:00:00、08:00、16:00 UTC。
システムは各ファンディングイベント前に監視を開始し、open_trade_beforeで定義された時間ウィンドウ内でのみトレードを開きます。
例: open_trade_before: 60の場合、23:00〜00:00 UTCの間にトレードが開かれます。
2. ポジションの閉鎖
ファンディング付与後、システムはclose_trade_afterで定義された時間保持します。
遅延が経過すると、ポジションは自動的に閉じられます。
3. チェック間隔
| オープニングウィンドウ | チェック頻度 |
|---|---|
| 0分 | 10分ごと |
| 1〜10分 | 2分ごと |
| 11〜30分 | 5分ごと |
| 31分以上 | 10分ごと |
📋 ログ例
✅ オープニングウィンドウ有効: 16:00 UTCのファンディングまで45分
🎯 BTCUSDTマッチ(ファンディング: 0.0850%)
✅ BTCUSDTのポジションを15:15 UTCに開設
⏳ オープニングウィンドウ外。次のウィンドウは85分後の15:00 UTCに開きます。
📍 アクティブポジションを監視中...
⚠️ BTCUSDTのポジションをファンディング後に閉鎖(12分経過)
✅ ポジションは正常に閉鎖されました。
🛡️ リスク管理
- ファンディング率閾値 – レートが最小値を満たす場合のみトレード
- 清算保護 – 清算が近づいたトレードを閉鎖
- スプレッド検証 – 広すぎるスプレッドを回避
- 価格変動チェック – 突発的なボラティリティを警告
- 最大トレード制限 – 設定されたトレード上限を遵守
⏱️ 閉鎖優先順序
- ✅ 時間ベース閉鎖(ファンディング + 遅延)
- ⚠️ ファンディング率が閾値以下に低下
- 🚨 清算に接近
- ⚡ 大きな市場変動(警告のみ)
💡 利点
メリット
- 予測可能な取引スケジュール
- 市場エクスポージャーの低減
- ファンディング収益の保証
- 完全自動化サイクル
- 1日複数回の機会
考慮事項
- 短いウィンドウではトレードを逃す可能性
- ファンディング更新の遅延の可能性
- ファンディング時の競争が激化
- ファンディング直前のスリッページの可能性
✅ ベストプラクティス
- 広めの時間ウィンドウ(60〜120分)から開始
- ログを監視して正確なタイミングを確認
- 遅い取引所では10〜15分のバッファを追加
- 各サイクル後にファンディング支払いを確認
- 手数料削減のために指値/ポストオンリー注文を使用
- 戦略テスト時は少額で開始
🧩 トラブルシューティング
| 問題 | 考えられる原因 | 推奨修正 |
|---|---|---|
| ポジションが開かない | ウィンドウ外 / 低ファンディング率 / 最大トレード数到達 | タイミングと閾値を確認 |
| ポジションが閉じない | close_trade_after = 0 またはファンディング未処理 |
タイミングを調整、ログを確認 |
| ファンディング支払いを逃した | 遅く開いた / ファンディング遅延 | 早めに開く、または取引所スケジュールを確認 |
🕓 例のタイムライン
設定:open_trade_before: 60close_trade_after: 10
| 時間(UTC) | イベント |
|---|---|
| 22:30 | システム待機中、ウィンドウ待ち |
| 23:00 | オープニングウィンドウ開始 |
| 23:05 | BTCUSDTトレードを開設 |
| 00:00 | ファンディング支払い処理済み |
| 00:10 | 自動閉鎖トリガー |
| 00:15 | トレード記録完了、次サイクルに準備完了 |
次のウィンドウは07:00 UTC開始、08:00 UTCのファンディング用。
📊 パフォーマンス追跡
| 指標 | 説明 |
|---|---|
| 獲得ファンディング | 収集された総ファンディング手数料 |
| 純損益 | 手数料とスリッページ後の利益 |
| 勝率 | 利益が出たサイクルの割合 |
| 平均保持時間 | 設定されたウィンドウに一致する必要あり |
| 実行率 | ファンディングサイクルごとの成功トレード数 |
🚀 高度な設定
動的タイミング(予定機能)
- ファンディング率の大きさに応じて調整
- 市場のボラティリティに適応
- 過去のスリッページデータを使用
- 取引所の遅延を考慮
マルチ取引所戦略
- 異なるファンディング時間を持つ複数の取引所で運用
- 1日あたりの機会を増やす
- 分散投資によりリスクを低減