В 09:00 UTC наша кросс-секционная стратегия торговли криптофьючерсами решила перераспределить $200,000 между десятью бессрочными контрактами. Бэктест показал торговые издержки в размере 4 базисных пунктов. В бумажном прогоне с тем же сигналом и тем же тарифным уровнем площадки оценка составила чуть больше 20.
С тарифами всё было в порядке. Мы учли комиссию и назвали её затратами на исполнение. Ошибка осталась незамеченной, потому что стратегия торговала на ликвидных рынках, выставляла сравнительно небольшие ордера и обновляла позиции лишь раз в день. Каждое из этих обстоятельств звучало обнадёживающе, пока мы не спросили себя, по какой цене ордера действительно могли исполниться.
Эту ребалансировку стоило разобрать по частям. Она показала, как бэктест с низкими комиссиями всё равно занижает затраты, если считает рыночную цену доступной в неограниченном объёме.
Мы начали со списка ордеров. Стратегия открыла длинные позиции по пяти самым сильным контрактам и короткие — по пяти самым слабым, с одинаковым долларовым весом. По большинству позиций требовалась корректировка примерно на $20,000. По одному контракту — всего на $3,400, по другому — на $31,000. В бэктесте каждая сделка оценивалась по цене закрытия бара, после чего к каждой стороне применялась комиссия тейкера площадки в размере 2 базисных пунктов.
| Компонент затрат | Допущение бэктеста | Оценка бумажного прогона |
|---|---|---|
| Комиссия площадки, за сторону | 2 bp | 2 bp |
| Спред, за сторону | 0 bp | Около 4 bp |
| Рыночное воздействие и задержка, за сторону | 0 bp | Около 4 bp |
| Расчётная стоимость полного цикла | 4 bp | Около 20 bp |
Оценка бумажного прогона не гарантировала исполнение по этой цене. Это была модель затрат: наблюдаемый спред в момент принятия решения плюс оценка рыночного воздействия, рассчитанная по размеру ордера и недавнему объёму торгов, а также небольшая поправка на время, необходимое для отправки и исполнения ордера. Последняя поправка была намеренно приблизительной. Модель, которая скрывает неопределённость, успокаивает, но мало помогает.
Сначала мы проверили спред. Сигнал рассчитывался по завершённому 1-минутному бару, поэтому стратегия могла отправить ордер только после его закрытия. Для каждого контракта мы взяли лучшие цены покупки и продажи, доступные к моменту, когда ордер должен был поступить на площадку. Средняя цена между ними служила ориентиром, но по ней нельзя было совершить сделку. Покупка начинается с цены продажи, а продажа — с цены покупки.
Одна эта разница объясняла около 8 базисных пунктов за полный цикл для среднего актива. Значение менялось в зависимости от контракта и минуты. Для самого ликвидного контракта оно составляло около 2 bp за сторону. У менее ликвидного спред расширялся до 9. Если бы мы применили одно значение спреда ко всем ордерам, то скрыли бы именно те различия, которые нам нужно было увидеть.
Затем мы учли размер. Рыночная покупка на $20,000 часто может пройти по лучшей цене продажи, не поглотив значительную часть глубины стакана, но слово «часто» зависит от состояния стакана в конкретный момент. Мы оценили рыночное воздействие, пройдя по видимым уровням снимка стакана: сколько котируемой валюты находилось на каждом уровне и какой была бы средневзвешенная по объёму цена при поглощении достаточного количества уровней для исполнения ордера. Для корректировки на $31,000 снимок показал дополнительные затраты около 6 bp относительно средней цены между лучшими котировками. Оценка для ордера на $3,400 почти не изменилась.
Да и сам снимок был несовершенным. Он показывал видимую глубину, но не скрытую ликвидность и не то, что останется к моменту поступления нашего ордера. Состояние криптовалютных стаканов может измениться между наблюдением и отправкой ордера; бэктест на основе редких снимков не способен точно восстановить эту очередь. Мы использовали стакан, чтобы определить реалистичный диапазон затрат, а затем сравнили его с бумажными исполнениями и проверили, не была ли оценка систематически оптимистичной.
Для рыночного ордера средняя цена между лучшими котировками — это мерило. Это не цена, по которой вы купили или продали.
Мы просчитали ребалансировку при трёх допущениях. Пересечение спреда без учёта глубины дало оценку 12 bp за полный цикл. Учёт видимого стакана поднял её до 18 bp. С учётом комиссий площадки и поправки на задержку в 2 bp за сторону оценка составила около 22 bp. Точное значение зависело от списка ордеров и снимка стакана, но направление изменений оставалось тем же.
Это не означало, что от стратегии нужно отказаться. Нужно было повторно запустить бэктест с учётом затрат, зависящих от предлагаемых сделок. Мы добавили оценку спреда и рыночного воздействия для каждого ордера, вынесли комиссии в отдельную строку отчёта и стали записывать рядом с каждым симулированным исполнением ориентир, временную метку и предполагаемый способ исполнения.
В следующем бумажном прогоне ордер по одному контракту разделили на более мелкие части, потому что первая часть поглотила больше глубины стакана, чем ожидалось. Сигнал стратегии не изменился. Исполнение изменилось — и этого хватило, чтобы изменить распределение затрат.
Если ваш бэктест показывает, что ребалансировка обходится только в комиссию, попросите его указать цену, размер и доступную ликвидность для каждого исполнения. Убедительный ответ начинается с этих конкретных данных, а не с единственного числа под названием «проскальзывание».
← Все статьи


