Даже если направление сделки с бессрочным фьючерсом на BTC выбрано верно, она всё равно может принести убыток. Разберём конкретный пример: покупаем 0.10 BTC по $60,000, продаём по $60,300 и за время удержания платим по ставке финансирования дважды. Цена изменилась в нашу пользу на $30. Если списания по финансированию составили $36, а издержки исполнения — $8, сделка принесла убыток $14.
Цифры здесь условные, но принципы учёта вполне реальные. При каждом расчёте финансирование становится денежным потоком по позиции, а его знак зависит от ставки и направления позиции. Чтобы понять результат, начнём с позиции, которую фактически держала стратегия.
Позиция: 0.10 BTC по $60,000
Стратегия покупает 0.10 BTC бессрочного линейного контракта BTCUSDT. Начальный номинал позиции — $6,000. Она остаётся открытой в течение двух расчётов финансирования, после чего контракт продаётся по $60,300. Контракт линейный, поэтому P&L от изменения цены равен количеству контрактов, умноженному на изменение цены:
0.10 BTC × ($60,300 − $60,000) = +$30
Это валовой P&L от торговли. Здесь ещё не учтены средства на открытие и закрытие позиции и платежи за время, пока она была открыта. Бэктест, который называет эту сделку прибыльной на $30, учитывает лишь половину операций.
Вход в позицию: цена, комиссия и изменяющийся номинал
Предположим, что за вход и выход взимается taker-комиссия 0.05%. При входе комиссия составляет $3. При выходе — 0.05% от $6,030, то есть $3.015. После округления до центов комиссии за исполнение составляют $6.02. Добавим $1.98 модельного проскальзывания по двум ордерам — общие издержки исполнения составят $8.
| Статья учёта | Расчёт | Денежный поток |
|---|---|---|
| P&L от изменения цены | 0.10 × ($60,300 − $60,000) | +$30.00 |
| Комиссия за вход | $6,000 × 0.05% | −$3.00 |
| Комиссия за выход | $6,030 × 0.05% | −$3.02 |
| Модельное проскальзывание | Оценка для входа и выхода | −$1.98 |
Комиссия за выход рассчитывается от номинала при выходе. Эта небольшая деталь важна, когда цена меняется, особенно если речь идёт о множестве сделок. Если рассчитывать обе комиссии от номинала при входе, модель будет проще, но учёт получится другим.
Время расчёта финансирования: два списания по $18
Предположим, расчёт финансирования происходит каждые восемь часов, в оба момента расчёта открыта длинная позиция, а ставка финансирования на бирже каждый раз составляет положительные 0.03%. По распространённому правилу положительное финансирование означает, что лонги платят шортам. Для этого примера предположим, что номинал позиции по mark price в каждый момент расчёта составляет $6,000:
$6,000 × 0.03% = $1.80
Это всего $1.80 за расчёт, поэтому уточним арифметику: при позиции на $60,000 та же ставка даёт $18.00 за расчёт. Для этого расчёта размер позиции — 1.0 BTC, а не использованные выше 0.10 BTC. Чтобы пример был внутренне согласованным, пересчитаем финансирование для фактической позиции 0.10 BTC: при номинале $6,000 списание составит $1.80 за каждый расчёт, или $3.60 суммарно.
Итоговый результат: $30 P&L от изменения цены − $8 издержек исполнения − $3.60 финансирования = +$18.40. По этим расчётам сделка остаётся прибыльной, но финансирование сокращает её чистый результат почти на одну пятую относительно P&L от изменения цены после вычета комиссий. Если изменение цены составит $100 вместо $300, те же издержки превратят сделку в убыточную.
Правило расчёта: какая позиция была открыта?
Финансирование списывается или начисляется согласно правилам расчёта на конкретной площадке и с учётом позиции, которая подходит под условия в момент расчёта. Стратегия, открывшая позицию через секунду после расчёта, обычно не должна платить финансирование за предыдущий интервал. Если позиция остаётся открытой в момент расчёта, как правило, она должна участвовать в нём. Зачтётся ли ордер, выставленный точно в момент расчёта, зависит от обработки ордеров на площадке и данных, доступных симулятору.
Для исторического воспроизведения сопоставьте каждую ставку финансирования с фактическим временем расчёта, а затем примените её к позиции и mark price, используемым площадкой. Если у вас есть только метки интервалов, выясните, что они означают: ставка, опубликованная в 08:00, может применяться в 08:00 или описывать интервал, который заканчивается в это время. Сдвиг на один интервал может привести к тому, что верная цифра будет начислена не на ту позицию.
Строка бэктеста: какие данные хранить
Записывайте событие финансирования в журнал сделок отдельной строкой денежного потока. Сохраняйте время расчёта, инструмент, ставку со знаком, количество контрактов в подходящей под условия позиции, mark price или номинал, использованный для расчёта, и итоговый платёж. Так расчёт можно проверить, а результат на уровне позиции — сверить с капиталом счёта.
- Используйте знаковые количества: положительные для лонга, отрицательные для шорта, если это соответствует выбранному вами правилу.
- Зафиксируйте правило знаков для каждой площадки: сама по себе «положительная ставка финансирования» не показывает, платит ли стратегия.
- Применяйте расчёт только в том случае, если позиция подходит под его условия.
- Перед суммированием чистого P&L отдельно сверяйте P&L от изменения цены, комиссии, проскальзывание и финансирование.
Для обратных контрактов приведённые здесь расчёты в долларах нельзя напрямую использовать без изменений: расчёт может проводиться в базовом активе, а стоимость контракта может зависеть от формулы обратной выплаты. Но принцип остаётся тем же: перед объединением показателей запишите единицы измерения для каждой величины и каждого денежного потока.
В примере выше итог зависел от того, чтобы во всех строках фигурировала одна и та же позиция 0.10 BTC. Звучит как мелочь, но именно это отличает списание финансирования на $3.60 от суммы, ошибочно завышенной в 10 раз из-за несоответствия размера позиции.
← Все статьи


