Фандинг-арбитраж
Как устроена стратегия funding-arbitrage: логика входа и выхода, параметры, происхождение комиссий.
Фандинг-арбитраж — первая торговая стратегия Anlytra (в документации она же — основной рабочий пример). Кросс-биржевой funding-carry: держать long на одной бирже и short на другой по тому же символу, собирая разницу ставок фандинга. Позиция дельта-нейтральна по цене — доходность даёт ставка, а не направление рынка. Новые протоколы добавятся в этот же раздел.
Edge
Ставки фандинга на perpetual-фьючерсах разных бирж расходятся: одна биржа платит лонгам, другая — шортам в один и тот же момент. Пара встречных позиций (long + short по одному символу на разных площадках) хеджирует цену и собирает разницу ставок как чистый фандинговый доход.
Знаковое соглашение: положительная ставка = лонги платят шортам. Значит:
- long на бирже с отрицательной ставкой — получает фандинг;
- short на бирже с положительной ставкой — получает фандинг.
Спред считается как funding(short) - funding(long): положителен — значит назначение ног (long на бирже long, short на бирже short) прибыльно; отрицателен — ногам нужно поменяться ролями, и стратегия входит в инвертированной стороне.
Вход — четыре гейта подряд
Перед любым входом каждая нога обязана иметь актуальную ставку фандинга. Нога без funding-точки (или со ставкой ровно 0 — биржа, не публикующая фандинг, материализуется как ноль) считается «нет данных»: нет ставки на обеих ногах — нет трейда. Это защищает от фантомных спредов «5000%», которые породили бы реальные ордера.
Затем, по порядку:
- 1. Settle-timing guard
До ближайшего расчёта фандинга меньше
settleGapминут — вход блокируется. Открыть ногу за секунды до сеттла — заплатить фандинг этого периода по свежей позиции; открыть сразу после — отложить следующий сеттл на ~8 часов. - 2. Threshold gate
Модуль спреда ниже порога
funding— ждём. - 3. Fee-aware gate
Спред должен покрывать roundtrip-стоимость:
(2*takerA + 2*takerB)*100 + 4*slippageпроцентов. Без этого гейта вход при спреде выше порога, но ниже ~0.2% стоимости круга — математически гарантированный убыток. - 4. Enter
Ставятся встречные ноги. Сторона определяется знаком спреда (см. выше), размер — параметром
size.
Выход — двухуровневый
Голый выход по сходимости («спред упал ниже порога — закрываем») churn'ит позицию на кратковременных провалах и не реагирует на инверсию. Поэтому проверяется в этом порядке:
- 1. HARD inversion exit
Спред оставался отрицательным
inversionPeriodsсеттл-периодов подряд — позиция закрывается немедленно, независимо от срока удержания. Удержание инвертированной позиции каждый период платит фандинг — это главный сценарий убытка. - 2. SOFT convergence exit
Спред ниже порога, но позиция удержана меньше
minHoldingPeriodsсеттл-периодов — держится: копит фандинг, чтобы окупить комиссии входа и выхода. После минимального срока — закрытие.
Параметры
Основные (в форме стратегии):
| Параметр | Дефолт | Смысл |
|---|---|---|
| symbol | BTCUSDT | торгуемый символ, один на обе ноги |
| long | Binance | биржа long-ноги |
| short | OKX | биржа short-ноги |
| funding | 0.03 | минимальный |спред| в % для входа |
| size | 10000 | желаемый нотионал входа, USD |
| leverage | 1 | плечо (исполнение; для Live — 1x isolated) |
Продвинутые (Advanced Options):
| Параметр | Дефолт | Смысл |
|---|---|---|
| slippage | 0.05 | оценка проскальзывания на одно срабатывание ордера, % (в roundtrip идёт *4) |
| settleGap | 5 | окно перед сеттлом, в которое вход блокируется, мин |
| partialFillTolerance | 5 | допустимое расхождение заполнения ног, %; больше — обе ноги откатываются |
| minHoldingPeriods | 3 | сколько сеттл-периодов держать позицию до soft-exit |
| inversionPeriods | 2 | сколько подряд инвертированных периодов триггерят hard-exit |
Дефолтные биржи (Binance/OKX) подходят для бэктеста и dry-run. Для Live обе биржи должны иметь order-исполнение — дефолтная пара не пройдёт активацию.
Комиссии: откуда берутся
Ставки taker-комиссий для fee-aware гейта резолвятся в таком порядке:
accountК бирже подключён ключ и комиссии вашего уровня подтянуты — используются они.
defaultСтавки из публичного каталога инструментов или VIP-0 расписание биржи.
missingДля Live действует fail-closed: неизвестная комиссия никогда не заменяется нулём. Без позиции — тик пропускается; с открытой позицией — выйти и свериться можно, а войти вслепую нельзя. В UI комиссии помечаются источником, чтобы вы видели, чем именно оценивается вход.
Ограничения, о которых стоит знать
- Только рыночные ордера. Limit/post-only не поддерживаются;
slippage— оценка, а не измерение. - Basis-риск не хеджируется. Обе ноги размерятся от одной референсной цены; расхождение референсных цен бирж на дистанции может съесть фандинговый edge.
- Ставка считается постоянной между сеттлами. Реально это live-TWAP; gate входа смотрит на мгновенный снимок.
- Сеттл-каденс считается по long-бирже. Если биржи сеттлятся не синхронно, короткие ложные инверсии возможны (консервативный стоп их сглаживает).
Подробный технический разбор (формулы P&L, граничные случаи) — в репозитории: .agents/backend/strategies/funding-arbitrage.md.