Алгоритмические торговые стратегии: виды и как их проверять

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

Чем стратегии алготрейдинга отличаются от алгоритмов исполнения

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

«Investment decision algorithms make automated trading decisions by determining which financial instrument should be purchased or sold. Order execution algorithms optimise order-execution processes by automatic generation and submission of orders or quotes, to one or several trading venues once the investment decision has been taken.»

Алгоритм решения отвечает на вопрос «входить или нет». Второму достаётся уже готовое решение, и его работа - растянуть заявку во времени, чтобы не сдвинуть цену самому себе. Отчёт SEC перечисляет ходовые семейства второго типа: VWAP, TWAP, минимизация implementation shortfall и торговля заданным процентом от рыночного объёма.

Разница практическая. Гипотезу «этот сетап даёт перевес» проверяют на истории. Качество исполнения на истории не проверяется вообще: там нет вашей заявки в стакане, значит нет и её влияния на цену. Если базовое устройство торгового алгоритма для вас пока туман, начните с разбора того, как устроен алгоритм и как его тестируют - здесь я это не пересказываю.

Какие бывают стратегии алгоритмической торговли

Список короткий, каждый пункт - отдельная профессия:

  1. Алгоритмы исполнения. Дробят большую заявку, чтобы средняя цена сделки была близка к рыночной. Перевес - в снижении издержек, а не в предсказании.
  2. Пассивный маркет-мейкинг. Стоит лимитными заявками с обеих сторон и зарабатывает на спреде и биржевых скидках за пассивную ликвидность.
  3. Арбитраж. Ловит расхождение цен между связанными инструментами и ждёт схождения. Направление рынка тут не важно.
  4. Структурные. Используют устройство самого рынка: разную скорость получения данных, особенности типов заявок, задержки у отдельных участников.
  5. Направленные. Открывают краткосрочную позицию, длинную или короткую, в расчёте на движение цены и обычно забирают ликвидность из стакана.

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

Что требуют регуляторы SEC и MiFID II до запуска торгового алгоритма

Отчёт американского регулятора формулирует деление прямо:

«The 2010 Equity Market Structure Concept Release described four broad types of short-term high frequency trading strategies: passive market-making, arbitrage, structural, and directional.»

Там же прямым текстом сказано: законодательного определения HFT не существует. Вместо определения дан набор из пяти признаков. Сверхбыстрые программы. Колокация и индивидуальные потоки данных. Очень короткие сроки удержания позиции. Много заявок со снятием почти сразу после подачи. Закрытие дня в позиции, близкой к нулю. Отдельно оговорено, что все пять одновременно необязательны.

Про валютный рынок Банк международных расчётов разводит те же сущности: в его материалах чистый HFT противопоставлен алгоритмическому исполнению крупных однонаправленных сделок. То есть скорость и задача - разные оси, и путать их не стоит. Банк России в своём обзоре высокочастотной торговли описывает признаки так же качественно, числовой доли рынка там нет.

Заодно европейские правила отвечают на вопрос, что регулятор вообще считает проверкой алгоритма. Это не бэктест.

  1. 1

    Прописанная методика теста

    До запуска и до любого существенного обновления

  2. 2

    Проверка совместимости с площадкой

    Алгоритм не должен ломать чужую торговую систему

  3. 3

    Отдельная тестовая среда

    Отделена от боевого контура

  4. 4

    Выкат с жёсткими лимитами

    Лимиты заданы заранее, до первой боевой заявки

  5. 5

    Кнопка мгновенной отмены

    Немедленно снимает любые или все неисполненные заявки

  6. 6

    Ежегодная валидация

    Пересмотр систем, алгоритмов и стратегий раз в год

Порядок из технического стандарта RTS 6 к директиве MiFID II: бэктест там только часть первого шага

Британский обзор добавляет требование, которое частный трейдер обычно пропускает: алгоритм обязан доказать, что «works effectively in stressed market conditions». Тест на спокойном участке истории этому требованию не отвечает.

Какой класс можно проверить самому, а какой держится на инфраструктуре

Границу между классами алгоритмических стратегий проводит источник перевеса, сложность кода тут ни при чём. Если перевес в правиле - его видно в истории цен. Если перевес в скорости или в месте в очереди заявок - в истории цен его нет, потому что там нет ни очереди, ни вашей задержки.

Перевес в правиле

Перевес в скорости и доступе

  1. 1.Направленные правила
  2. 2.Арбитраж связок
  3. 3.Маркет-мейкинг и HFT
Слева перевес живёт в правиле и виден в истории цен, справа он живёт в инфраструктуре и в истории цен отсутствует

Размер инфраструктурного барьера считается в миллисекундах. Московская биржа публикует минимальное время отклика для своих способов подключения: колокация 0,02 мс, выделенный канал ConnectME 5 мс, точки присутствия 34 мс, обычный интернет 100 мс. Между колокацией и интернетом разница в пять тысяч раз, и никакая оптимизация кода её не закрывает.

КлассПроверяемая гипотезаМинимальные данныеГлавная ошибка симуляцииИнфраструктурный барьер
Направленныеправило даёт перевес после издержекзакрытые свечи одного инструментаподгонка параметров под историюнизкий
Арбитражсвязка расходится и снова сходитсясинхронные котировки двух инструментовнесинхронные данные и невидимые издержки переносасредний
Пассивный маркет-мейкингспред покрывает неблагоприятный отборстакан и лента сделокочередь заявок в тестере не моделируетсявысокий
Структурныеопережение по данным устойчивосырые биржевые потокизадержка вообще не заложена в тесточень высокий
Алгоритмы исполнениясредняя цена лучше эталонаваши собственные заявкисвоего влияния на цену в истории нетсредний

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

Кому подходит решение

Подойдёт, если

  • Направленное правило на закрытых свечах: вход, выход, стоп и размер позиции заданы заранее
  • Один инструмент, один таймфрейм и отложенная выборка, которая открывается последней
  • Сравнение двух вариантов правил на одной контрольной выборке

Не подойдёт, если

  • Пассивный маркет-мейкинг: в тестере нет очереди заявок и нет неблагоприятного отбора
  • Арбитраж связанных инструментов: расхождение живёт секунды, а свеча отдаёт четыре цены
  • Структурные схемы на разной скорости получения данных: без места у биржи их не воспроизвести

Как формализовать направленную гипотезу до однозначных правил

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

Практический минимум для одного правила выглядит так. Вход - логическое выражение над значениями, известными на момент закрытия свечи. Для выхода пишется своё такое же выражение; формулировка «когда станет плохо» правилом не является. Стоп и размер позиции задаются заранее, до первого прогона. И явно записанный таймфрейм, потому что то же правило на другом масштабе - другая стратегия.

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

Почему арбитраж и маркет-мейкинг не сводятся к обычному сигналу

Пассивный маркет-мейкер стоит лимитными заявками с двух сторон и зарабатывает на спреде. Отчёт SEC называет его главный риск - adverse selection, то есть ситуацию, когда цена быстро уходит против выставленной котировки. В тестере этого риска нет: там ваша лимитная заявка исполняется, как только цена коснулась уровня, и никто не забирает её первым. В реальном стакане перед вами стоит очередь, и место в ней решает, исполнят вашу котировку или чужую.

Арбитраж ломается о другое. Расхождение цен между связанными инструментами существует секунды, а тест на закрытых свечах видит от каждой минуты только четыре цены: открытие, максимум, минимум и закрытие. Даже если расхождение попало в данные, вопрос, успели бы вы в него войти, тест не задаёт вовсе.

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

Как выбрать рынок, данные и горизонт до первого теста

Качество данных измеримо. Тестер MetaTrader 5 считает показатель History Quality как долю корректных минутных баров и честно помечает браком разрывы истории и бары с объёмом в одну сделку при разных ценах. Спред там берётся из истории, собственной модели спреда у тестера нет. Значит любой вывод из теста ограничен качеством того куска, на котором он получен.

Второй вопрос - длина истории. Работа четырёх математиков в Notices of the American Mathematical Society даёт неприятную оценку: при пяти годах данных больше сорока пяти независимых конфигураций модели перебирать нельзя, иначе результат на обучающей выборке будет отличным, а на новых данных нулевым. При двух годах истории хватает уже семи конфигураций.

  1. Шаг 1

    Выбран инструмент и таймфрейм

    Один инструмент, один масштаб, дальше не меняются

  2. Шаг 2

    Проверено качество данных

    Разрывы истории и подозрительные бары найдены до теста

  3. Шаг 3

    Отрезок обучения

    Здесь и только здесь подбираются параметры

  4. Шаг 4

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

    Не открывается, пока параметры не зафиксированы

  5. Шаг 5

    Форвард в реальном времени

    Свежие данные, которых не было ни в одном отрезке

Разбиение фиксируется заранее, иначе граница между обучением и проверкой сдвигается сама

Встроенный форвард-период есть даже в массовых терминалах: тестер MetaTrader 5 умеет отрезать половину, треть или четверть периода, и делает это ровно затем, чтобы избежать подгонки параметров под отдельные участки истории. Второй стенд проверки разобран отдельно, в материале про то, как проверить советника в тестере MetaTrader.

Как сравнить две стратегии на одной контрольной выборке

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

  1. 1

    Один инструмент и один таймфрейм

    Оба алгоритма считаются на одних и тех же данных

  2. 2

    Одинаковые комиссия и проскальзывание

    Значения записаны до запуска, а не подобраны после

  3. 3

    Одно разбиение истории

    Границы обучения и контроля общие для обоих

  4. 4

    Параметры зафиксированы

    Подбор закончен до того, как открыт контрольный отрезок

  5. 5

    Контроль открывается один раз

    Второй прогон по тем же данным уже не независим

  6. 6

    Решение записано заранее

    Критерий выбора сформулирован до того, как виден результат

Шесть шагов, после которых результат сравнения можно защищать перед самим собой

Пятый шаг ломают чаще всего. Посмотрели контрольный результат, чуть поправили параметр, посмотрели снова - и отложенная выборка перестала быть отложенной. Формально это уже подбор на контроле, и вся защита от подгонки исчезла. Профессиональная альтернатива называется скользящим окном, или walk-forward: параметры калибруются на окне, результат снимается на следующем куске, окно сдвигается.

Отдельно стоит записать, что считается победой. Если критерий не сформулирован до просмотра результата, победителем всегда окажется тот алгоритм, у которого красивее кривая.

Как учесть комиссию, проскальзывание и модель исполнения

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

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

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

Как отсеять заглядывание в будущее и подгонку параметров

Заглядывание в будущее - это использование данных, которых на момент решения ещё не существовало. Документация TradingView называет типовые механизмы: нестандартные типы графиков с ценами, которых на рынке не было, пересчёт после исполнения заявки и запрос старшего таймфрейма без сдвига. Родственная беда - перерисовка, когда историческая и реальная логика расходятся; как её ловить, разобрано в материале про индикаторы без перерисовки.

Подгонка устроена иначе, и кодом не лечится. Формулировка из статьи Хэлберта Уайта в Econometrica звучит так:

«Even when no exploitable forecasting relation exists, looking long enough and hard enough at a given set of data will often reveal one or more forecasting models that look good, but are in fact useless.»

Из того же ряда вывод исследователей из NBER: при массовом переборе факторов привычный порог t-статистики 2,0 не годится, планку надо поднимать примерно до 3,0. Практический перевод на язык тестера: считайте, сколько вариантов вы перебрали, и требуйте от результата тем большего запаса, чем длиннее был перебор.

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

Риски и ограничения

  • Результат на истории не переносится на живой рынок автоматически: часть перевеса съедают издержки, часть исчезает вместе с рыночным режимом.
  • Прошлые результаты не гарантируют будущих, и ни один тестер этого не меняет.
  • Инфраструктурные классы стратегий частному трейдеру недоступны технически, и никакая настройка тестера этот барьер не обходит.
  • Классификация в статье опирается на документы регуляторов и не является единственно возможной: отдельных рубрик для возврата к среднему и статистического арбитража в отчёте SEC нет.
  • Торговля связана с риском потери капитала; размер позиции считается до входа, механика разобрана в материале про риск на сделку.

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

Источники

Частые вопросы

С чего начать алготрейдинг новичку

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

Какие стратегии алгоритмической торговли самые прибыльные

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

Чем алготрейдинг отличается от торгового робота

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

Сколько данных нужно для проверки алгоритмической стратегии

Зависит не от календаря, а от числа перебранных вариантов. Оценка из статьи в Notices of the American Mathematical Society такая. На пяти годах данных нельзя перебирать больше сорока пяти независимых конфигураций, иначе отличный результат на обучении соседствует с нулевым на новых данных. На двух годах истории предел падает до семи конфигураций. Авторы отдельно оговаривают, что длина истории - условие необходимое, но не достаточное.

Нужен ли алготрейдингу дорогой доступ к бирже

Направленным стратегиям на закрытых свечах - нет, там хватает обычного брокерского счёта и терминала. Всему, что зарабатывает на скорости, - да, и разница измерима. Московская биржа приводит минимальное время отклика для своих способов подключения: 0,02 мс в колокации против 100 мс через обычный интернет. Если идея живёт внутри этой разницы, без размещения оборудования у биржи она не проверяется и не работает.

Что вы узнаете
  • Карта классов алгоритмов: исполнение, маркет-мейкинг, арбитраж, структурные, направленные
  • Понимание, какой класс частный трейдер проверяет сам, а какой держится на скорости доступа
  • Протокол сравнения двух алгоритмов на одной контрольной выборке
  • Список ошибок симуляции, из-за которых красивый бэктест не повторяется вживую
Применить за 30 мин
Средний уровень
15просмотров
Материал был полезен?

Обсуждение

Руслан

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

Павел

Почему арбитраж нельзя нормально проверить на минутных свечах, если данные вроде есть?

Макс

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

Оставить комментарий

Профильный эксперт
Макс Витковский
Аналитик рынка

Разбирает структуру рынка, уровни и торговые сценарии. Специализация — криптовалюты, технический анализ и ончейн-данные.

График TradingView с сигналами Buy и Sell индикатора Midas
Midas multi-индикатор for TradingViewОдин из самых продвинутых индикаторов для трейдинга
  • Сигналы без перерисовки
  • Интерактивный теханализ
  • 7 стратегий на выбор
Midas multi-индикатор for TradingViewСигнал, стоп и 3 цели — прямо на графике
  • Сигнал фиксируется по закрытию свечи
  • Стоп и 3 цели строятся автоматически
  • План сделки виден до входа