Блог им. quanthill

В поисках Грааля

Каждый, кто хоть раз открывал бэктестер, видел этот график: эквити под 45 градусов, просадок почти нет, доходность, как у печатного станка. Ты бежишь подключать бота к реальному счёту, чтобы стать сказочно богатым, и… В начале марта компания Quant Hill отметила 12 лет, и по этому случаю сегодня поговорим с Андреем Ксеневым — партнёром и главным квантом, то есть тем, кто стоит между красивым графиком и реальными деньгами.

 

1. В поисках Грааля: топ невидимых убийц стратегий, которые новички обычно не учитывают в тестах

 

В поисках Грааля

Факторов, на самом деле, очень много, но вот топ самых распространённых причин, по которым «граальная» стратегия с графиком под 45 градусов рассыпается при встрече с реальным рынком:

Торговые издержки. Мало кто учитывает биржевые комиссии, спреды в стакане, проскальзывания при исполнении ордеров и задержки между отправкой ордера и его исполнением на бирже. Торговые издержки на некоторых активах могут составлять львиную долю от предполагаемой прибыли. Если не угадал с масштабом стратегии, с её частотой, например, не учтя или занизив комиссию — из прибыльной стратегии легко сделать убыток по счёту. Тоже самое и с проскальзыванием(разница между ценой, по которой вы рассчитывали войти, и ценой реального исполнения) — в бэктесте это часто игнорируют, а на реальном рынке оно является одним из главных врагов.

Заглядывание в будущее. Наверно, самая распространенная ошибка, генерирующая грааль. Эта ошибка часто встречается там, где нет понимания, в какой момент мы имеем завершенные (полные) данные в конкретный момент времени. Может быть как при расчете индикаторов, машинном обучении (например, нормализации данных на всей доступной истории), так и при использовании цен из будущего для выставления ордеров.

Даже в системах бэктестирования, где разработчики предусмотрели защиту от заглядывания в будущее, многие могут допускать ошибки в расчётах. Например, стратегия предполагает использование какой-то метрики, это может быть ставка фондирования, официальный курс ЦБ, индекс потребительских цен — не важно, главное понимать, что данный индикатор публикуется и известен к определенному времени, а иногда еще и с временным лагом от того времени, что выдает поставщик данных. Необходимо правильно синхронизировать данные, чтобы избежать нерелевантных результатов бэктестов. Ошибки синхронизации не просто влияют на результат, а создают “грааль”. Потому что если бы кто-то реально знал будущее даже на минуту вперёд, этот кто-то мог бы заработать все деньги мира.

Ограничения среды бэктестирования. Например, стратегия использует одновременно 2 ордера — стоп и тейк и на следующей свече выполняется условие для исполнения обоих ордеров. Разные реализации бэктестеров и\или код стратегии может исполнить тейк, а не стоп, или оба ордера, но как бы это отработало в реальности можно проверить только по тиковым данным, что не всегда целесообразно из-за большого количества мощностей для этих проверок, но такие вещи тоже нужно учитывать.

Неправильная работа с данными. Банальные ошибки в обработке исторических данных, некорректные формулы, неверные временные метки. Казалось бы, мелочь, но каждая такая мелочь рисует вам фальшивую картину.

Когда ко мне приносят график стратегии с эквити под 45 градусов или экспоненциально растущей и без просадок, первым делом проверяю именно эти пункты.  

 

2. Срок жизни стратегий: как работать с тем, что рынок постоянно меняется?

 

Здесь можно разделить на два подхода к восприятию рынка.
В поисках Грааля
Первый:глобально рынок не меняется, прочитайте, хотя “Записки биржевого спекулянта” — прошло 100 лет, а читаешь и удивляешься, что отличается техника, а не суть. Тренды и флэты были, есть и будут. Пока на рынке существуют участники, совершающие сделки, тренд когда-нибудь случится. Наша задача — просто его дождаться, поймать и забрать.

Второй: микроструктура рынка всё-таки меняется. Это важно, скорее, для HFT-стратегий и маркетмейкеров, где миллисекунды и наносекунды переворачивают equity.

Мы — приверженцы первой теории и считаем, что глобально тренды никуда не денутся, и торгуем именно тренды, потому что это предсказуемо, легко управляется и, главное, можно контролировать риск. При этом в портфеле есть боты, заточенные на более длинные трендовые движения, и те, что ищут более короткие, настолько, насколько позволяют реальные торговые издержки.

Что касается дообучения моделей: по криптоактивам оптимизируемся каждый квартал, потому что это быстро меняющийся рынок. По другим рынкам — раз в полгода. Но тут важный нюанс: для наших стратегий одна из ключевых характеристик — время работы в продакшене. Стратегии нужно дать поработать и реализоваться. Поскольку горизонт инвестирования по портфелю, как минимум, от года, дать стратегии поторговать месяц и сказать, что она не работает, нельзя.

 

3. Переобучение (overfitting): какие стресс-тесты показывают, что стратегия подогнана под данные?

 

В поисках Грааля
Назовем “подгонку под данные” оптимизацией.

Без оптимизации параметров в алготрейдинге нельзя, но ее нужно правильно готовить. Ее цель — подобрать параметры, с которыми стратегия будет работать с максимальной эффективностью.

Правильная оптимизация — это хорошо, а вот подгонка под кривую (curve fitting), когда параметры и условия настраиваются так, чтобы обработать каждое рыночное движение на in sample — плохо.

Чтобы избежать подгонки эквити, мы используем несколько приемов.

Во-первых, мы не используем фильтры и любые константы в торговой логике для редких событий.

Во-вторых, мы не торгуем инструменты, у которых недостаточно истории для качественного бэктеста. Минимум три года для in-sample, чтобы стабилизировать внутренние параметры стратегии, ещё 3-5 лет нужно для out-of-sample. То есть минимальный горизонт данных для качественной проверки составляет шесть-десять лет — тут работает правило “чем больше, тем лучше”.

В-третьих, все бэктесты у нас проходят с walk forward analysis — последовательная проверка на данных, которые стратегия «не видела». Единичного форвардного теста недостаточно, чтобы сделать вывод о работоспособности стратегии, не то что просто оптимизации на всей истории.

Так что главный «краш-тест» — это walk forward analysis на достаточно длинной истории. Если стратегия работает только на in-sample данных, а на out-of-sample разваливается — это переобучение или просто нерабочая стратегия. 

 

4. Манипуляции и неэффективности: замечаешь на графике или данных «ходы» крупных игроков?

 

В поисках Грааля

Замечаю ли манипуляции? Скорее нет, чем да. Потому что мне в принципе не важно, из-за чего начала расти цена. Если я могу зайти в начале тренда и выйти в конце, то какая разница, манипуляция это, органический рост, новости или фаза луны?

Но иногда, конечно, видно. Даже на свечных данных. Если проанализировать ордерлоги или трейдлоги — тоже. Например, на крипте сильно выделялся один из маркетмейкеров в стакане. У маркетмейкеров есть договорённости с биржей о минимальном спреде и объёме, который они обязаны поддерживать. Так вот, один из них держал минимальный спред буквально одним контрактом. Как только прилетал крупный ордер — стакан резко пустел, оставались только минимальные ордера в спреде. Цель: максимально «прострелить» цену и исполниться по лучшей для себя цене. По свечам это видно: минутная свеча на крипте в 10% вверх-вниз, тело сжато в процент, тени огромные.

Так что манипуляции существуют, но чаще на низколиквидных активах и на наши стратегии никак не влияют.

 

5. Помню книжку Flash Boys и фильм Операция «Колибри», как тянули кабели через горы и заповедники ради миллисекунд — это про нас?

 

В поисках Грааля
Для нас это важно, но не критично. Наши ребята, ответственные за инфраструктуру, арендуют серверы рядом с серверами биржи. Минимальная задержка важна: лучше иметь десять миллисекунд между отправкой ордера и исполнением на бирже, чем десять секунд. Но для нашей частоты торговли это вторичный показатель. Мы не HFT, где прибыль может резко сократиться из-за пары миллисекунд. Для трендовых стратегий «физика» не решающий фактор, но и не то, чем стоит пренебрегать.

 

6. Нейросети и LLM: может ли AI-агент торговать лучше алгоритма?

 

Я считаю, что можно, если сказать LLM: «Торгуй по этим правилам» и написать ей торговые правила из нормальной рабочей стратегии. Тогда она сможет (после нескольких итераций с различными промтами), но, по сути, это будет просто экзекьютор, который непонятно для чего нужен. Потому что зачем LLM, если можно написать алгоритм?

А вот чтобы LLM сама придумала стратегию и торговала прибыльно год-два? Пока что вряд ли. И это подтверждается тем, что крупные игроки не дают AI самостоятельно торговать. Советник, аналитик, бухгалтер, поисковик — да, трейдер — нет.

 

7. Нейросети в Quant Hill: используете ли и будет ли AI-продукт?

 

Сейчас все поголовно используют ИИ, наши разработчики тоже используют AI-инструменты для написания простых функций и быстрого анализа, но по итогам этого анализа все равно нужно всё проверять на классическом бэктестере с учетом всех нюансов, описанных выше.

В ближайшем будущем AI-продукт, возможно, будет, но не тот, который ты подразумеваешь, а внутренний продукт для ускорения разработки и написания документации.

В нашем деле очень велика цена ошибки, так что для генерации торговых сигналов нейросети пока не используются: классический алгоритмический подход себя оправдывает, и менять его на менее предсказуемый инструмент слишком рискованно. Наша цель — создание стратегий и инфраструктуры, которые обеспечат долгосрочный прирост капитала выше бенчмарков с прогнозируемым уровнем риска, а не громкие заголовки уровня “AI-бот превратил 100 тыс. рублей в 100 млн всего за 2 дня/2 часа”. Появятся успешные кейсы, когда LLM будет управлять портфелем эффективно несколько лет — тогда, безусловно, станем тратить больше времени на работу с AI. 

 

8. Психология кванта: как не сломаться, когда 99% гипотез заканчиваются провалом?

 

Главное — относиться к исследованию, как к рутине, в хорошем смысле этого слова. Отрицательный результат — тоже результат, и хороший, потому что ты не потеряешь деньги на нерабочей гипотезе. Сложно не вспомнить фразу Томаса Эдисона: “Я не терпел поражений. Я просто нашёл 10 000 способов, которые не работают”.

Проверил гипотезу, увидел, что она на бэктестах не зарабатывает или зарабатывает хуже, чем уже имеющийся портфель — круто, мы её не запустим в продакшн, мы на ней не потеряем. Надо не искать грааль, а проверять гипотезы. Дал отрицательный результат — хорошо, не потеряли денег. Дал положительный — круто, запускаем в работу, дополняя стратегию.

Можно сравнить с работой лаборанта: анализ за анализом, рутина, но каждый результат — это информация, а не победа или поражение.

Ещё одна рекомендация: периодически менять исследовательские задачи. Поработали над гипотезами — переключитесь на проверку статистических характеристик, на идеи, которые напрямую не генерируют сигналы. Сменить направление, чтобы разбавить постоянные разочарования от разрушенных граалей любым положительным результатом просто от выполнения задачи.

 

9. Ликвидность: когда сам двигаешь цену и маркетмейкер играет против тебя

 

Ёмкость стратегии — это объём, который можно проторговать, не влияя на рынок и не ухудшив метрики. Мы с этим сталкиваемся на MOEX.

Конкретный кейс: в 2018–2020 годах запустили модель исполнения крупных ордеров на Московской бирже. И буквально через считанные недели заметили, как стакан начал редеть в моменты нашего исполнения. Экзекьюшен стал заметно хуже. Кто-то из рыночных игроков просчитал наши заявки и ордера, поправили модель исполнения и перестали быть заметными.

На тонких рынках в альткоинах или на Мосбирже такое периодически возникает. Нашли способ, как этого избежать. Подробностями делиться не будем, но разобрались, как решить проблему.

Важно контролировать торговые издержки в реальном времени, чтобы вовремя среагировать на негативные изменения.

 

10. Рекомендации: с чего начать тому, кто хочет тестировать свои стратегии

 

Для старта есть хорошие публичные и бесплатные инструменты:

MetaTrader — хороший функционал, достаточно быстро считает, много готовых скриптов. Позволяет протестировать и сразу запустить в торговлю.

TSLab — российская разработка, пожалуй, самый распространённый бэктестер в СНГ. Функциональный, удобный, тоже позволяет разработать стратегию, протестировать и запустить код в торговлю с минимальной адаптацией. Отличный инструмент.

Этого хватает, чтобы начать: хочешь MA протестировать — пересеклись вверх — покупаем, пересеклись вниз — продаём. Для генерации большого сильного портфеля этого, правда, будет уже недостаточно.

Мы в Quant Hill долгое время работали через TSLab, потом разработали своё решение на Python с учётом всех внутренних требований. Генерируем отчёты с более чем пятьюдесятью метриками для анализа, плюс кривые доходности, просадок, плечей и прочее. Ни одного дизайнера не пострадало, зато функционал позволяет полностью сформировать портфель, просимулировать его с помощью walk forward анализа на максимальном количестве истории по сотням инструментов и тысячам ботов. И это же ПО формирует продакшн-портфель: параметры всех ботов из портфеля идут в базу, откуда забираются продовыми ботами для торговли на реальных счетах.

Нормальный бэктестер для серьёзной работы — это, скорее, самописное детище, где ты контролируешь каждый шаг и обладаешь достаточной экспертизой и в кодинге, и в трейдинге, чтобы учесть все нюансы. Но начинать стоит с публичных решений, чтобы понять базу, набить шишки и определить, какого функционала вам не хватает.

Практические советы:

·  Обращайте внимание при бэктесте не только на свечу, но и на объём. Обязательно смотрите на объём при исполнении.

·  Измеряйте реальное проскальзывание при исполнении ордеров.

·  Постарайтесь спрятать заявки от маркетмейкера. Маркетмейкеры ждут и анализируют. Это не паранойя, а реальность, с которой сталкиваются все, кто дорос до определённого объёма.

Бонус: почему контртрендовые стратегии — это ловушка

 

В поисках Грааля

За одиннадцать лет работы я ещё ни разу не видел тех, кто в долгую мог проторговать стратегию возврата к среднему (арбитраж не в счет). Мы абсолютно все гипотезы проверяем симуляцией на исторических данных, максимально приближенно к реальной торговле. И контртрендовые алгоритмы никогда не проходили этот тест.

Почему? Трендовая стратегия простая: есть тренд — зарабатываешь, нет тренда — твоя задача не потерять больше, чем планировалось. В контртрендовой же нужна волшебная кнопка «выключить бота перед трендом». Но такой кнопки нет.

Всегда после растущей под 45 градусов эквити случается одно движение, которое нивелирует годовую-двухгодовую доходность или весь депозит за одну ночь или за одну неделю. Такой график ещё называют графиком веса индейки.

Даже те контртрендовые алгоритмы, которые у нас получались и срабатывали в боковиках (там, где трендовые стратегии теряют), в портфеле с трендовыми ботами показывали суммарную эквити хуже, чем просто тренд. Дешевле отдать рынку в боковике и потерять меньше в конце периода.

Мы периодически наблюдаем за торговыми командами, которые используют контртрендовые стратегии, иногда радуемся их хорошим результатам, и запускаем очередной виток проверки контррендовых стратегий. Потом просыпаешься, видишь новость, как на криптобирже ликвидировали позиции на миллиарды долларов, заходишь посмотреть, как дела у товарищей — и грусть, тоска, печаль. Где-то что-то с рисками было не то. Как и в любой контртрендовой стратегии — чтобы зарабатывать в боковике, нужно брать плечи, усредняться против тренда, а это всегда кончается плохо.

 

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.

1.9К | ★4
6 комментариев
отмечусь
avatar
Полезно, но только для новичков, к сожалению.
Михаил Михалёв, будет вторая часть
avatar
База
avatar
Для меня как для новичка, пост спустил с небес на землю(( Буду тоже ждать вторую часть
Диана Левченко, сделаем!
avatar

Читайте на SMART-LAB:
Фото
📅 График торгов на майские праздники
Публикуем режим работы бирж в праздничные дни. 🔴 Московская биржа 9 и 10 мая торги на всех рынках Московской биржи проводиться не...
Фото
Топ-5 популярных фьючерсов на Мосбирже в апреле 2026
Московская биржа опубликовала итоги торгов на срочном рынке FORTS за апрель 2026 г. Максимальный практический интерес представляет...
Фото
13 мая выпуск облигаций ТЛК / ЯрКамп Лизинг (ruBB-, 200-250 млн руб., YTM 29,34%)
🔵  На 13 мая запланировано размещение нового выпуска облигаций Транспортной лизинговой компании / ЯрКамп Лизинг 🔵 Обобщенные параметры...
Фото
Сети. Кто сейчас самый дешевый? Сводный пост по сетевым компаниям по отчетам РСБУ за Q1 26г.
Введение Россети Центр Россети Ленэнерго Россети Московский регион Россети Волга Сводные таблицы Введение Все...

теги блога quanthill

....все тэги



UPDONW
Новый дизайн