Ставка финансирования по бессрочному контракту составляет 0.01% каждые 8 часов. Вы открываете короткую позицию и покупаете спот, чтобы захеджировать её, рассчитывая получить около 0.03% в день. А потом бэктест показывает убыток.
Такой результат вполне может быть верным. Ставка — это платёж между держателями длинных и коротких позиций в конкретный момент, а не ежедневный купон, который гарантирован каждому, кто его заметил. Чтобы разобраться почему, рассмотрим один намеренно небольшой пример: дельта-нейтральную позицию BTC на $10,000 со сроком удержания 24 часа.
Сигнал: 0.01% — это моментальный снимок
Предположим, стратегия замечает положительную прогнозную ставку финансирования 0.01% в 00:00 UTC. На этой площадке расчёт финансирования происходит в 00:00, 08:00 и 16:00 UTC. Стратегия решает открыть короткую позицию по бессрочному контракту и купить эквивалентное количество спотового актива.
Прогноз — это оценка для следующего расчёта, а не обещание на все 3 выплаты. Ставка может измениться до расчёта платежа. Если в бэктесте 0.01% без изменений переносится вперёд, значит, одно наблюдение по умолчанию превращено в 3 выплаты.
| Входные данные | Допущение в этом примере | Что нужно учесть в бэктесте |
|---|---|---|
| Наблюдаемая ставка | 0.01% в 00:00 | Точное значение ставки, известное на момент принятия решения |
| Время расчёта | 00:00, 08:00, 16:00 UTC | Фактическое расписание площадки и записи о расчётах |
| Время открытия позиции | Ордер исполняется сразу после 00:00 | Учитывается ли позиция в этом расчёте |
| Последующие ставки | На момент открытия неизвестны | Каждая ставка по мере появления, а не окончательная история за сегодня |
Если позиция открыта после отсечки в 00:00, она может получить только выплаты в 08:00 и 16:00. При принятой ставке это $2 вместо $3. Если до обоих последующих расчётов ставка упадёт до 0.002%, сумма выплат составит всего $0.40.
Хедж: одинаковая сумма в долларах не означает одинаковый риск
Короткая позиция по бессрочному контракту на $10,000 в паре со спотом на $10,000 будет дельта-нейтральной только при ценах и объёмах, по которым её рассчитали. Для линейных контрактов на BTC хорошей отправной точкой будет короткая позиция на 0.1 BTC против 0.1 BTC на споте. Если стратегия рассчитывает обе стороны по долларовой стоимости, а одну из них исполняют по другой цене, остаётся незахеджированный риск.
Даже за один день этот остаточный риск имеет значение. Движение BTC на 0.2% даст убыток $20 при незахеджированной позиции на $10,000 — во много раз больше максимальных $3 финансирования в нашем примере. Ребалансировка может уменьшить риск, но каждая операция добавляет сделки, комиссии и проскальзывание. Я видел аккуратные кривые carry, построенные на хедже, который идеально сбалансирован при входе, но перестаёт существовать после первого же движения цены.
Выплаты: начисляйте на нужный счёт и нужной стороне
Предположим, короткая позиция получает финансирование при всех 3 расчётах. При ставке 0.01% за каждый расчёт валовое начисление составит $3. Бэктест должен воспроизводить правила площадки для знака ставки: обычно при положительной ставке лонги платят шортам, но детали зависят от продукта и указаны в спецификации контракта.
Финансирование обычно рассчитывается исходя из стоимости позиции на момент расчёта. Если цена BTC меняется, меняется и номинал, а значит, и сумма в долларах. Трижды начислить фиксированный $1 — значит проигнорировать это изменение. Использование номинала на входе может быть приемлемым приближением для короткой сделки, но его нужно явно обозначить и измерить.
Круговая сделка: 2 позиции, 4 сделки
При комиссии 5 базисных пунктов за каждое исполнение taker открытие и закрытие обеих сторон обойдутся примерно в $20 при объёме $10,000 на каждую сторону: $5 за вход в каждую позицию, затем ещё по $5 за выход. Это ещё без учёта спреда и влияния на рынок. Если спот исполняется как maker, а фьючерс — как taker, расходы изменятся. Но для такого расчёта бэктесту нужны основания считать, что maker-ордера действительно исполнились бы.
Расчёт намеренно простой. Даже если все 3 выплаты поступят по заявленной ставке, эта конкретная однодневная сделка принесёт убыток $17 — ещё до учёта качества исполнения. Скидка на комиссии, более долгий срок удержания или более выгодная ставка финансирования могут изменить результат. Но каждое из этих условий меняет и тестируемую стратегию.
Выход: за закрытие позиции в бэктесте тоже нужно платить
Стратегии на финансировании часто выглядят наиболее привлекательно, когда бэктест входит в начале выгодного режима и выходит в конце. В реальности сигнал может стать отрицательным, базис — расшириться, а для выхода всё равно придётся исполнить ордера. Отрицательный платёж финансирования незадолго до закрытия может свести на нет несколько предыдущих начислений.
Смоделируйте правило закрытия, а затем заложите стоимость закрытия обеих позиций по ценам, которые стратегия могла бы получить на практике. Учитывайте финансирование по каждому расчёту, комиссии по каждому исполнению, а остаточный ценовой риск хеджа — отдельно. Такое разложение покажет, провалилась ли сделка из-за исчезнувшего carry, дорогого исполнения или потерявшего нейтральность хеджа.
Положительная ставка финансирования в конкретный момент — полезный входной параметр. Но это не прогноз P&L. Бэктест заслуживает доверия, когда у каждой выплаты есть временная метка, у каждой позиции учтены издержки исполнения, а стратегия выдерживает простую рутину удержания позиции.
← Все статьи


