Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Торговый робот для MOEX: почему честный бэктест советует не торговать

Финансы и технологии

Главный источник потерь в частном алготрейдинге — не слабая стратегия, а нечестная проверка, которая позволяет поверить в преимущество, которого нет. Открыть график, отметить точки «здесь купить, здесь продать», прикинуть доходность — и вот уже готов миллионер на бумаге.

Проект «Азимут» строился вокруг обратной идеи: центральной ценностью назначена не торговля, а стенд проверки — инфраструктура, которая не даёт себя обмануть. Робот не имеет права трогать реальные деньги, пока стратегия не пройдёт полную лестницу верификации.

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

Зачем строить стенд, который опровергает собственные идеи?

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

Поэтому в проекте приоритет отдан не логике входов и выходов, а инфраструктуре верификации. Реальные средства подключаются только после того, как стратегия последовательно пройдёт три ступени.

  • Честная проверка на истории. Бэктест с реалистичными издержками и без подглядывания в будущее.
  • Бумажная торговля. Работа на живых данных без денег — контроль того, что логика воспроизводится в реальном времени.
  • Малые реальные суммы. Только после двух предыдущих ступеней и только ограниченным капиталом.

Задача стенда формулируется эмпирически: есть ли у идеи преимущество после всех издержек — или оно только кажется. Такой стенд отвечает на вопрос честно, даже когда ответ неудобен.

Из чего состоит честный бэктест?

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

Данные «на момент времени»

В любой торговый день стратегия видит только прошлое — бары строго до текущего момента. Это исключает даже случайное подглядывание в будущее, которое мгновенно превращает убыточную логику в прибыльную.

Лаг исполнения

Сигнал, рассчитанный по закрытию дня, исполняется не по той цене, которую стратегия «видела», а по открытию следующего дня. Иначе бэктест торгует по ценам, которых в реальности не существовало.

Честный учёт издержек

В модель заложены комиссия, проскальзывание в размере половины спреда и лимит на долю дневного объёма. При комиссии 0,3% каждая пара «купить-продать» стоит 0,6% ещё до движения цены — это отсеивает больше стратегий, чем любой другой фактор.

Схематично логика честного исполнения выглядит так:

# Схематично: честное исполнение сигнала на дневных барах
LAG = 1              # исполнение на открытии следующего дня
FEE = 0.003          # комиссия за сделку (розничный тариф)
SLIPPAGE = 0.0005    # проскальзывание ≈ половина спреда

def fill_price(signal_day, bars):
    # сигнал рассчитан по закрытию signal_day,
    # но исполняется только на следующем баре — без взгляда вперёд
    day = signal_day + LAG
    price = bars.open[day]        # open, а не close, который «видела» стратегия
    return price * (1 + FEE + SLIPPAGE)

# Одна пара «купить-продать» теряет 2 * FEE = 0,6% только на комиссии,
# плюс проскальзывание — и всё это до какого-либо движения цены.

Реинвестирование дивидендов

Ценовые ряды строятся с реинвестом дивидендов. Без этого каждая дивидендная отсечка выглядит падением, которого держатель акции на самом деле не понёс.

Скользящая проверка вперёд (walk-forward)

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

Поправка на множественное тестирование

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

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

При переборе стратегий обычный коэффициент Шарпа теряет смысл: он не учитывает, что «лучший» результат мог возникнуть случайно. Поправка на множественное тестирование (в академической литературе — deflated Sharpe ratio) поднимает порог тем выше, чем больше гипотез проверено. Это прямой аналог поправки на множественные сравнения в статистике.

Отложенная выборка (holdout)

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

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

Какие гипотезы проверялись?

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

  • Трендовые и импульсные: следование за трендом, кросс-секционный моментум, пробой диапазона.
  • Возврат к среднему: статистический возврат цены и низкая волатильность.
  • Дивидендные: доходность, рост выплат, сезонность, закрытие ценового разрыва после отсечки.
  • Календарные и объёмные: эффект стыка месяцев, покупка капитуляции, всплеск объёма.
  • Структурные: широта рынка и опережение-запаздывание относительно ликвидного лидера.

В финальный набор добавлены три механизма из академической литературы:

  • Навес нереализованной прибыли (Grinblatt–Han) — монетизация эффекта диспозиции, который считается первопричиной самого моментума.
  • Ставка против беты (Frazzini–Pedersen) — премия за низкую чувствительность к рынку.
  • Парная относительная стоимость — торговля расхождением коинтегрированных бумаг.

Что показала проверка?

Первый турнир проводился на реалистичной комиссии 0,3%. Результат — победителей нет: ни одна из 23 стратегий не превысила планку удачи. Лучшая набрала коэффициент Шарпа 1,08 при пороге 1,23.

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

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

Далее сделан единственный честный структурный ход — комиссия снижена до 0,05% (тариф уровня «Трейдер» вместо «Инвестора») и применена ко всем стратегиям одинаково. На дешёвых издержках «навес нереализованной прибыли» ожил: Шарп вырос с 1,08 до 1,31 и перебил планку.

Это первый и единственный победитель за все прогоны. Но ровно здесь возникает вопрос, который стоило задать раньше: с чем вообще сравнивается результат?

Что убивает частный алготрейдинг?

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

Издержки оборота

На горстке ликвидных бумаг преимущество любой стратегии тонкое, а 0,6% за оборот его съедают. «Победивший» портфель прокручивал капитал 40 раз в год и за десять лет отдал на комиссиях 18% от суммы.

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

Множественное тестирование

Каждая новая гипотеза поднимает планку удачи для всех сразу. После двадцати трёх проверок порог вырос до уровня, честно перепрыгнуть который почти невозможно.

Отсюда контринтуитивный вывод: чем усерднее идёт поиск «той самой» стратегии, тем труднее любой из них доказать, что она не просто везучая.

Безрисковая ставка

Классический коэффициент Шарпа не вычитает доходность вклада. В российском режиме 2024–2025 годов ключевая ставка держалась в диапазоне 16–21%, и игнорировать её при оценке стратегии некорректно.

В стенд добавлен честный ориентир — доходность фонда денежного рынка под ключевую ставку. Сравнение рискового портфеля с этим ориентиром выглядит так:

Год Портфель стратегий Денежный рынок (безриск)
2022 −10,8% +3,1%
2023 +46,6% +9,7%
2024 −0,9% +18,4%
2025 −1,7% +10,6%

Фонд денежного рынка дал около 14% годовых при просадке 0,1%. Рисковый портфель — 13,7% годовых при просадке 19,4%, причём всё преимущество держалось на одном удачном 2023 годе. В последние два года выборки портфель терял, пока деньги под ставку спокойно приносили 15–18%.

Ключевой вопрос честной оценки: зачем брать риск акций ради 14% годовых, когда безрисковый инструмент в том же режиме платит 16–21%? Портфель с просадкой 19,4% проигрывает вкладу с просадкой 0,1% и по доходности, и по риску одновременно.

Режим при этом смещается. По данным Банка России, цикл смягчения идёт с лета 2025 года, и к июлю 2026 ключевая ставка снижена до 14,25%. Преимущество денежного рынка сужается, но сам принцип — сравнивать стратегию с безрисковой ставкой, а не с нулём — остаётся обязательным при любой её величине.

Почему проект свёрнут?

Проект остановлен не потому, что «не получилось заработать». Стенд выполнил ровно свою задачу — показал факты, которые не хотелось видеть.

  • Ни одна из проверенных идей не имеет доказанного преимущества после издержек.
  • Единственная, что прошла проверку, проигрывает банковскому вкладу в текущем режиме ставок.
  • Даже её турнирный результат завышен «проклятием победителя» — в реальной торговле он был бы скромнее.

Обмануть стенд было технически возможно: убрать неудачные стратегии задним числом и опустить планку, закрыть глаза на комиссии, сравнивать с нулём вместо вклада. Именно против этого и строилась защита — и она сработала против самих проверяемых идей. Это корректное поведение системы.

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

Формальный вывод стенда: доказанного преимущества нет. Разумнее держать капитал в надёжном инструменте под ключевую ставку и не переусложнять.

Какие выводы делает частный инвестор?

Результат проекта отрицательный по прибыли, но практический по методологии. Четыре вывода применимы к любому частному алготрейдингу.

Ожидание — это позиция, а не простой

Пока «ничего не происходит», деньги в фонде денежного рынка зарабатывают ставку. Лучшая сделка часто — та, которая не совершена.

Дисциплина важнее сложности

Дешёвая рыночная экспозиция, контроль риска и наличность под высокую ставку дали лучший результат, чем двадцать три «умные» стратегии.

Машина, опровергающая собственные идеи, — рабочий инструмент

Стенд стоил времени, а не денег, и сэкономил куда больше, чем стоил: ни рубля не вложено в двадцать две убыточные идеи и одну, что проигрывает депозиту.

Отрицательный результат — тоже результат

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

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

Заключение

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

Оцените статью
ctrllife.ru
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x