Разработка алгоритма cash-and-carry арбитража
В феврале 2024 года annualized basis на BTC perpetual futures на Binance стабильно держался на уровне 15-18% годовых. В тот же момент spot BTC можно было купить, открыть short на perp, и зафиксировать 15%+ безрисковой доходности — независимо от направления движения цены. Именно это и есть cash-and-carry арбитраж: захват спреда между spot и деривативом без направленного риска. Реализация выглядит просто. Нюансы скрыты в управлении базисом, funding rate динамике и экспирационном ценообразовании.
Механика basis и источники доходности
Откуда берётся спред
Cash-and-carry работает на расхождении между spot ценой актива и ценой фьючерса или perpetual. Для dated futures базис определяется формулой cost of carry:
F = S × e^(r-q)×T
где S — spot цена, r — безрисковая ставка, q — yield актива, T — время до экспирации. На криптовалютном рынке безрисковая ставка в крипто исторически выше традиционных активов, поэтому фьючерсы торгуются в contango (F > S) большую часть времени.
Для perpetual futures базис поддерживается через funding rate: когда perpetual торгуется выше spot, longs платят shorts каждые 8 часов (на Binance). Размер funding rate — прямой источник доходности для cash-and-carry трейдера, который держит long spot + short perp.
Риски, которые не очевидны
Funding rate разворот. Funding rate может стать отрицательным. В bear market или при резком росте open interest на short стороне shorts начинают платить longs. Стратегия из доходной превращается в убыточную. Алгоритм должен отслеживать funding rate динамику и закрывать позицию при падении ниже threshold (с учётом комиссий и slippage на закрытие).
Liquidation asymmetry. Short на futures имеет unlimited loss theoretically, long spot ограничен нулём. При резком росте цены (30% за час, как в некоторых altcoin events) margin на short futures может не хватить, даже если long spot в плюсе. Стратегия технически delta-neutral, но requires достаточный margin buffer. Правило: margin на short ≥ 2x от максимального исторического daily move актива.
Exchange counterparty risk. Держать и spot, и futures на одной бирже — риск заморозки (FTX case, 2022). Нейтрализуется через cross-exchange стратегию: spot на одной бирже (или в DeFi), futures на другой. Но это добавляет сложность в управлении коллатералем.
Basis divergence при экспирации. Для dated futures теория говорит, что при экспирации F → S. На практике за 1-2 дня до экспирации basis может расширяться из-за дисбаланса спроса — особенно в альткоинах с низкой ликвидностью. Алгоритм должен учитывать оптимальное время выхода из позиции.
Архитектура алгоритма
Компоненты системы
Data aggregator. Собирает в реальном времени:
- Spot цены с нескольких источников (Binance spot, Coinbase, Kraken) для избежания манипуляции
- Futures/perp цены и open interest
- Текущий и предсказанный funding rate (Binance публикует predicted funding rate за 8 часов вперёд)
- Исторические funding rate данные для расчёта rolling annualized yield
Basis calculator. Нормализует данные и рассчитывает:
- Текущий basis в % и в annualized форме
- Estimated yield с учётом entry/exit комиссий, funding payments
- Break-even holding period
Position manager. Открывает и закрывает позиции на основе сигналов от basis calculator. Обеспечивает delta-нейтральность: размер long spot = notional стоимости short futures.
Risk monitor. Непрерывно отслеживает margin ratio на futures позиции, funding rate тренд, basis аномалии. При нарушении условий — automated exit.
Расчёт net yield
Реальная доходность стратегии после всех издержек:
Net APY = Funding Rate (annualized)
- Trading fees (entry + exit, обе ноги)
- Slippage (bid-ask spread × 2)
- Borrowing cost (если используется margin)
- Opportunity cost on margin collateral
Пример расчёта для BTC cash-and-carry на Binance (апрель 2024):
- Funding rate: 0.01% каждые 8h = 10.95% APY
- Taker fees: 0.04% × 4 операции = 0.16% round trip
- Slippage: ~0.03% × 2 = 0.06%
- Net yield ≈ 10.73% APY до tax
При funding rate 0.03% (что бывало в bull market 2021) — net yield поднимается до 30%+ APY.
Ролловер dated futures
При работе с quarterly/monthly futures нужен алгоритм ролловера: закрытие истекающего контракта и открытие следующего. Оптимальное время ролловера — за 3-5 дней до экспирации, когда basis следующего контракта уже нормализован, но liquidity текущего ещё достаточна.
Автоматический ролловер учитывает:
- Разницу basis между текущим и следующим контрактом (если следующий в большем contango — ролловер выгоден, если меньшем — cost)
- Текущую liquidity обоих контрактов
- Spread на оба контракта одновременно (risk: basis может сдвинуться пока закрываем первый контракт)
Для минимизации последнего риска используем TWAP исполнение: закрываем текущий и открываем новый параллельно небольшими ордерами.
On-chain реализация: DeFi версия стратегии
На DeFi рынках cash-and-carry реализуется через:
Pendle Finance. Протокол разделяет yield-bearing токены на Principal Token (PT) и Yield Token (YT). Покупка PT со скидкой к номиналу + хеджирование через Pendle AMM — аналог cash-and-carry с фиксированной доходностью до матurity.
Perp на dYdX / GMX v2 / Synthetix Perps. Long spot через Aave/Compound (staked ETH или cbETH) + short ETH perp на dYdX. Spot позиция зарабатывает staking yield (~4% APY), short собирает funding rate.
On-chain версия добавляет gas расходы и oracle риск, но убирает exchange counterparty risk.
Процесс разработки
Аналитика (3-5 дней). Backtesting на исторических данных: Binance historical funding rates доступны через API за 2+ лет. Моделируем стратегию на разных рыночных условиях, определяем пороги входа/выхода.
Разработка ядра (1-2 недели). Data aggregator, basis calculator, position manager. Подключение к биржевым API (CCXT как универсальная библиотека или прямые WebSocket подключения для latency).
Risk management и мониторинг (1 неделя). Автоматический exit при funding rate < threshold, margin call protection, Telegram алерты.
Paper trading (3-5 дней). Запуск без реальных денег на production data. Проверка расчётов, latency, edge cases.
Деплой. Тестирование с небольшими суммами, постепенное увеличение позиций.
Ориентиры по срокам
Алгоритм для одной пары на одной бирже с базовым risk management — 2-3 недели. Multi-asset, multi-exchange стратегия с автоматическим ролловером — 4-8 недель. DeFi версия через on-chain протоколы — дополнительно 2-3 недели. Стоимость рассчитывается индивидуально.







