При номинале $100,000 funding в 10 базисных пунктов перемещает $100. Позиция, которую держат на протяжении восьми моментов начисления funding за день, может получить восемь отдельных денежных потоков. Сделка, открытая через одну секунду после момента начисления, может не получить никакой выплаты, хотя бэктест на основе баров начислит её. Часто удивляет не ставка, а номинал, который биржа использовала для расчёта.
Funding по бессрочным фьючерсам — это перевод средств между держателями длинных и коротких позиций, обычно в заранее установленные моменты. Это не торговая комиссия биржи, и одного исторического ряда ставок недостаточно, чтобы восстановить денежный поток. Нужно знать и позицию, имевшую право на выплату при каждом расчёте, и правила площадки, по которым определяется учитываемый объём позиции.
Почему небольшая ставка funding может заметно повлиять на результат бэктеста?
Funding начисляется на номинал позиции. Если стратегия держит позицию на $100,000 при выплате 0.10%, денежный поток составит $100. Если повторять это каждые восемь часов в течение 30 дней, простая сумма составит $9,000 — без учёта изменений позиций или ставок. Это существенная часть заявленного P&L стратегии.
Для линейного контракта в качестве первого приближения можно использовать формулу:
funding cash flow = signed position notional × funding rate
Согласно распространённому соглашению, положительная ставка означает, что лонги платят шортам, а отрицательная — что шорты платят лонгам. Если стратегия держит лонг на $100,000 при ставке +0.10%, денежный поток составит -$100. Шорт на тот же номинал получит $100. Это соглашение о знаках легко случайно перевернуть, особенно если поставщик данных указывает ставку с точки зрения плательщика.
Funding — это денежный поток по позиции. Его нужно отражать в учётном регистре счёта в момент расчёта, вместе с реализованным P&L и комиссиями, а не вычитать в виде процента из сигнала или применять ко всему бару.
Какая позиция платит, если сделка пересекает время начисления funding?
Используйте позицию, имевшую право на выплату в момент расчёта ставки или начисления funding по документированным правилам площадки. Бэктест, который берёт ставку один раз за бар и умножает её на позицию в конце бара, может начислить funding на объём позиции, которого не было в момент расчёта.
Небольшой пример. Время начисления funding — 08:00 UTC. Стратегия держит лонг на $50,000 до 07:59:59, закрывает его, а затем открывает новый лонг на $50,000 в 08:00:01. Если биржа фиксирует подходящие позиции в 08:00, ни на одну из сделок не следует начислять funding лишь потому, что часовой бар в бэктесте включает 08:00. Результат будет другим, если площадка использует иное окно измерения или правило расчёта. Поэтому проверьте спецификацию контракта и фактические записи площадки.
| Упрощение в бэктесте | Возможная ошибка | Как лучше учесть |
|---|---|---|
| Применять каждую ставку к позиции на закрытии бара | На объём позиции, открытый после расчёта, может начислиться funding | Добавлять запись о funding по подходящей позиции в момент события |
| Использовать знак ставки, не проверяя его определение | Плательщик и получатель могут поменяться местами | Фиксировать в данных соглашение площадки о знаках |
| Применять funding к количеству контрактов как к сумме в долларах | По обратным контрактам денежный поток может быть выражен в монетах | Учитывать множитель контракта и валюту расчёта |
Почему тип контракта меняет расчёт?
Для линейного контракта с расчётом в долларах или привязанном к доллару активе номинал обычно выражается в котируемой валюте. Для обратного контракта важны номинал контракта и валюта расчёта: выплата funding может быть выражена в базовой монете. Если умножить количество контрактов на ставку и назвать результат суммой в долларах, учётный регистр может выглядеть правдоподобно, но размерности в нём будут неверными.
Явно учитывайте единицы измерения: контракты, множитель, маркировочную или справочную цену, ставку funding и валюту расчёта. Пересчитывайте сумму в валюту отчётности портфеля по цене, доступной в момент денежного потока. Сохраняйте исходную сумму и валюту: последующий пересчёт не должен менять то, что получил счёт.
Как проверить учёт funding в бэктесте?
Начните с события, которое можно проверить вручную, а затем сравните учётный регистр с выписками площадки или данными небольшого счёта для бумажной торговли. Для каждого момента начисления funding проверьте позицию, ставку, расчётную сумму, знак и валюту. Если стратегия меняет позицию около момента расчёта, включите сделки непосредственно до и после него.
- Сверьте время и проверьте, указаны ли ставки за интервал или в годовом выражении.
- Уточните, применяется ли ставка к номиналу по маркировочной цене, номиналу контракта или другой сумме, определённой площадкой.
- Сверьте примеры для плательщика и получателя с документацией биржи.
- Убедитесь, что funding меняет капитал счёта и доступный баланс в нужный момент.
Funding может сделать стратегию carry привлекательнее на вид или ухудшить результат направленной сделки по сравнению с тем, что подсказывает график цены. Ряд ставок показывает объявленный рынком перевод средств. Учётный регистр позиции показывает, присутствовал ли ваш симулируемый счёт, чтобы заплатить или получить выплату.
← Все статьи


