Бэктест опционов может показать аккуратный вход по средней цене, аккуратный выход по средней цене и красивую прибыль, которую не удалось бы получить ни одним ордером. Средняя цена — это арифметический расчёт, а не обещание: если колл котируется по $1.00 бид и $1.20 аск, то $1.10 — это цена между двумя выставленными заявками. Она может пригодиться для оценки позиции. Но она не говорит о том, что покупатель или продавец согласился бы торговать с вами по этой цене.
Я замечал, как это допущение проникало в исследования: данные midprice выглядят менее шумными, чем бид и аск, и упрощают сравнение стратегий. Проблемы начинаются, когда условность оценки незаметно превращается в модель исполнения. Значительную часть ущерба наносят три ошибки.
Ошибка 1: считать, что каждая сделка исполняется по средней цене
Предположим, бэктест покупает колл по средней цене $1.10, а позже продаёт по $1.18. Он показывает прибыль в восемь центов. Но если ширина обоих спредов составляла десять центов, пересечение спреда означало бы покупку по аску $1.20 и продажу по биду $1.08: убыток в двенадцать центов ещё до комиссий.
Часто в результате мы видим стратегию, которая много торгует, получает небольшую прибыль на сделку и выглядит устойчивой на множестве контрактов. Возможно, её преимущество не больше спреда, который бэктест просто вычеркнул. Средняя цена всё ещё может служить ориентиром, особенно при оценке стоимости портфеля, но для моделирования исполнения нужно указать сторону цены и чёткое допущение об исполнении.
| Применение | Разумный ценовой ориентир | Чего этот ориентир не подтверждает |
|---|---|---|
| Оценка открытой позиции | Средняя цена с зафиксированным правилом оценки качества котировок | Что позицию можно было закрыть по средней цене |
| Покупка по рыночному ордеру | Аск с учётом моделируемого влияния на цену, если оно существенно | Что отображаемого объёма хватало для вашего ордера |
| Продажа по рыночному ордеру | Бид за вычетом моделируемого влияния на цену, если оно существенно | Что устаревшая котировка всё ещё была доступна |
Ошибка 2: доверять котировке, в которой нет жизни
Котировка опциона может не меняться, пока базовый актив движется, рынок приостанавливается или отображаемая ликвидность исчезает. Бэктест, который при каждом решении берёт последние бид и аск, может продолжать использовать старую среднюю цену, будто трейдер мог по ней совершить сделку. Актуальная цена базового актива не обновляет котировку опциона.
В результате получается подозрительно спокойная кривая доходности по опционам: почти нет резких скачков проскальзывания, цены исполнения выглядят точными до цента, а сделки проходят по контрактам, котировки которых почти не менялись весь день. Отслеживайте возраст котировки и отбрасывайте или понижайте вес наблюдений старше порога, выбранного с учётом биржи и стратегии. Также проверяйте, что бид и аск положительны, выставлены в правильном порядке и подкреплены правдоподобным отображаемым объёмом. Пересечённый рынок или нулевой бид — это состояние данных, которое нужно обработать, а не выгодная возможность.
Однажды тихим днём я наблюдал, как цепочка опционов будто застыла, а базовый актив продолжал дёргаться. Это напомнило мне, что аккуратная таблица — не то же самое, что живой рынок.
Ошибка 3: считать отображаемый объём своим
Даже свежая котировка с разумным спредом показывает только то, что отображалось в момент её получения потоком данных. Если аск показывает один контракт, а бэктест покупает десять, назначить всем десяти одну цену аска — значит предположить глубину рынка, которой котировка не показывала. Если стратегия выставляет лимитный ордер по средней цене, считать его исполненным лишь потому, что базовый актив позже коснулся этого уровня, — значит предположить приоритет в очереди и сделку по цене лучше лимита.
Искажение обычно растёт вместе с размером позиции. Тест на один контракт выглядит правдоподобно, а результаты портфеля почти линейно масштабируются до 50 контрактов без дополнительных затрат на спред и пропущенных исполнений. По возможности ограничивайте объём исполнения наблюдаемым объёмом; в противном случае используйте прозрачное допущение о влиянии на цену и проверьте чувствительность результатов при разных параметрах. Для пассивных ордеров требуйте подтверждения сделки по цене лучше лимита или моделируйте очередь и частичное исполнение с запасом консервативности. Одного максимума или минимума бара недостаточно, чтобы понять, стоял ли ваш ордер первым в очереди.
Как использовать среднюю цену в бэктесте опционов?
Разделяйте оценку и торговлю. Для каждого решения записывайте бид, аск, временную метку котировки и использованный объём. Оценивайте открытую позицию по заранее выбранному правилу, а затем моделируйте покупки и продажи по исполнимым ценам либо с помощью документированной модели лимитных ордеров. Комиссии и биржевые сборы учитывайте отдельно: реалистичная цена не включает все издержки.
Затем сравните результаты при нескольких явно заданных допущениях: оценка по средним ценам, исполнение по биду и аску, а также сценарий с более широким спредом или меньшей долей исполненных ордеров. Если гипотеза работает только при исполнении по средней цене, исследование выявило вопрос доступа к рынку, а не доказанное торговое преимущество. Для опционов это особенно важно: широкие спреды и небольшой объём могут сделать самые привлекательные сделки в бэктесте самыми трудными для исполнения.
← Все статьи


