Чем стратегии алготрейдинга отличаются от алгоритмов исполнения
Главное
одна программа решает, что купить, вторая решает, как это купить, не разбудив рынок. Это разные задачи, и проверяются они по-разному.
Слово «алгоритм» в разговоре трейдеров склеивает две совершенно непохожие вещи. Британский регулятор в обзоре оптовых рынков приводит определения из европейского стандарта, и это самое полезное деление из всех, что я встречал.
«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.»
- Financial Conduct Authority, Algorithmic Trading Compliance in Wholesale Markets, февраль 2018, источник
Алгоритм решения отвечает на вопрос «входить или нет». Второму достаётся уже готовое решение, и его работа - растянуть заявку во времени, чтобы не сдвинуть цену самому себе. Отчёт SEC перечисляет ходовые семейства второго типа: VWAP, TWAP, минимизация implementation shortfall и торговля заданным процентом от рыночного объёма.
Разница практическая. Гипотезу «этот сетап даёт перевес» проверяют на истории. Качество исполнения нельзя доказать одним свечным бэктестом: там нет вашей заявки в стакане, значит нет и её влияния на цену. Для оценки нужны данные исполнения и отдельно оговорённая модель издержек. Если базовое устройство торгового алгоритма для вас пока туман, начните с разбора того, как устроен алгоритм и как его тестируют - здесь я это не пересказываю.
Какие бывают стратегии алгоритмической торговли
Главное
пять классов, и делит их одно: откуда берётся перевес.
Список короткий, каждый пункт - отдельная профессия:
- Алгоритмы исполнения. Дробят большую заявку, чтобы средняя цена сделки была близка к рыночной. Перевес - в снижении издержек, а не в предсказании.
- Пассивный маркет-мейкинг. Стоит лимитными заявками с обеих сторон и зарабатывает на спреде и биржевых скидках за пассивную ликвидность.
- Арбитраж. Ловит расхождение цен между связанными инструментами и ждёт схождения. Направление рынка тут не важно.
- Структурные. Используют устройство самого рынка: разную скорость получения данных, особенности типов заявок, задержки у отдельных участников.
- Направленные. Открывают краткосрочную позицию, длинную или короткую, в расчёте на движение цены и обычно забирают ликвидность из стакана.
Шестым пунктом иногда называют высокочастотную торговлю, но это ошибка уровня «сравнить профессию и скорость печати». HFT - режим работы, в котором может существовать любой из классов выше.
Что документы SEC и MiFID II говорят о проверке алгоритма
Главное
определение HFT зависит от юрисдикции. Европейские требования к подпадающим под них фирмам включают методику теста, отдельную среду, лимиты и кнопку отмены до первой боевой заявки.
Отчёт американского регулятора формулирует деление прямо:
«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.»
- Staff Report on Algorithmic Trading in U.S. Capital Markets, SEC, 5 августа 2020, источник
В этом отчёте SEC за 2020 год отмечено отсутствие законодательного или регуляторного определения HFT в рассматриваемом американском контексте. Переносить это на весь мир нельзя: в статье 4(1)(40) MiFID II высокочастотная алгоритмическая техника определена. SEC для своего обзора приводит пять характерных признаков. Сверхбыстрые программы. Колокация и индивидуальные потоки данных. Очень короткие сроки удержания позиции. Много заявок со снятием почти сразу после подачи. Закрытие дня в позиции, близкой к нулю. Отдельно оговорено, что все пять одновременно необязательны.
Про валютный рынок Банк международных расчётов разводит те же сущности: в его материалах чистый HFT противопоставлен алгоритмическому исполнению крупных однонаправленных сделок. То есть скорость и задача - разные оси, и путать их не стоит. Банк России в своём обзоре высокочастотной торговли описывает признаки так же качественно, числовой доли рынка там нет.
Заодно европейские правила отвечают на вопрос, что регулятор считает проверкой алгоритма. Это шире, чем бэктест. Статья 17 MiFID II и RTS 6 относятся к фирмам, подпадающим под эти требования. Для читателя здесь полезен порядок проверки; это не универсальный список юридических обязанностей любого владельца торгового робота.
- 1
Прописанная методика теста
До запуска и до любого существенного обновления
- 2
Проверка совместимости с площадкой
Алгоритм не должен ломать чужую торговую систему
- 3
Отдельная тестовая среда
Отделена от боевого контура
- 4
Выкат с жёсткими лимитами
Лимиты заданы заранее, до первой боевой заявки
- 5
Кнопка мгновенной отмены
Немедленно снимает любые или все неисполненные заявки
- 6
Ежегодная валидация
Пересмотр систем, алгоритмов и стратегий раз в год
Британский обзор добавляет требование, которое частный трейдер обычно пропускает: алгоритм обязан доказать, что «works effectively in stressed market conditions». Тест на спокойном участке истории этому требованию не отвечает.
Один из самых продвинутых мульти-индикаторов для TradingView
30+ индикаторов в одной системе. Сигнал, стоп и три цели по ликвидности индикатор Midas показывает на графике сам - вам остаётся решить, входить ли в сделку.
- Сигналы Buy и Sell не перерисовываются после закрытия свечи
- 8 400+ установок и 300+ отзывов клиентов
- Проверка на истории - сигналы до 10 лет назад
Какой класс можно проверить самому, а какой держится на инфраструктуре
Главное
направленные правила удобно начинать проверять на закрытых свечах. Для скорости и очереди заявок нужны другие данные и модель исполнения; одних свечей недостаточно.
Границу между классами алгоритмических стратегий проводит источник перевеса, сложность кода тут ни при чём. Если перевес в правиле - его видно в истории цен. Если перевес в скорости или в месте в очереди заявок - в истории цен его нет, потому что там нет ни очереди, ни вашей задержки.
Перевес в правиле
Перевес в скорости и доступе
- 1.Направленные правила
- 2.Арбитраж связок
- 3.Маркет-мейкинг и HFT
Размер инфраструктурного барьера считается в миллисекундах. Московская биржа публикует минимальное время отклика для своих способов подключения: колокация 0,02 мс, выделенный канал ConnectME 5 мс, точки присутствия 34 мс, обычный интернет 100 мс. Это опубликованные минимумы времени кругового отклика, а не обещание задержки вашей заявки. Они показывают масштаб инфраструктурной разницы; сравнивать их с результатом свечного тестера бессмысленно.
| Класс | Проверяемая гипотеза | Минимальные данные | Главная ошибка симуляции | Инфраструктурный барьер |
|---|---|---|---|---|
| Направленные | правило даёт перевес после издержек | закрытые свечи одного инструмента | подгонка параметров под историю | низкий |
| Арбитраж | связка расходится и снова сходится | синхронные котировки двух инструментов | несинхронные данные и невидимые издержки переноса | средний |
| Пассивный маркет-мейкинг | спред покрывает неблагоприятный отбор | стакан и лента сделок | очередь заявок в тестере не моделируется | высокий |
| Структурные | опережение по данным устойчиво | сырые биржевые потоки | задержка вообще не заложена в тест | очень высокий |
| Алгоритмы исполнения | средняя цена лучше эталона | ваши собственные заявки | своего влияния на цену в истории нет | средний |
Вывод для частного трейдера простой. Начинать стоит с направленных правил. Если идея зависит от очереди, задержки или одновременного исполнения двух заявок, сначала проверьте, моделирует ли это ваш стенд. Название класса само по себе ответа не даёт.
Подойдёт, если
- Направленное правило на закрытых свечах: вход, выход, стоп и размер позиции заданы заранее
- Один инструмент, один таймфрейм и отложенная выборка, которая открывается последней
- Сравнение двух вариантов правил на одной контрольной выборке
Не подойдёт, если
- Пассивный маркет-мейкинг: обычный свечной тест не воспроизводит реальную очередь заявок
- Быстрый арбитраж связанных инструментов: свеча не показывает порядок событий и исполнение обеих заявок
- Структурные схемы на скорости данных: свечной тест не моделирует задержку потока и отправки заявки
Как формализовать направленную гипотезу до однозначных правил
Главное
пока гипотеза звучит словами, она непроверяема; правило должно однозначно отвечать «да» или «нет» на каждой закрытой свече.
Фраза «покупаю на откате в тренде» не является стратегией. В ней три неопределённых слова, и каждое из них при тесте превращается в параметр, который хочется подкрутить. Обзор британского регулятора требует фиксировать до теста, пункт 3.9: теоретическую конструкцию, поведенческие характеристики и ключевые допущения, состав входных данных, расчётные процедуры.
Практический минимум для одного правила выглядит так. Вход - логическое выражение над значениями, известными на момент закрытия свечи. Для выхода пишется своё такое же выражение; формулировка «когда станет плохо» правилом не является. Стоп и размер позиции задаются заранее, до первого прогона. И явно записанный таймфрейм, потому что то же правило на другом масштабе - другая стратегия.
Состав правил одной стратегии подробно разобран в материале про то, из чего складывается проверяемая торговая стратегия. Здесь важно другое: количество свободных параметров надо посчитать до первого запуска. Семь бинарных параметров дают сто двадцать восемь вариантов - и это уже опасная территория: чем длиннее перебор, тем легче найти правило, которое работает только на этой истории.
Все правила из статьи - в одном индикаторе
Индикатор Midas - мощный мульти-индикатор: карта ликвидности, движения китов, развороты тренда, уровни. Наведите курсор на сигнал - увидите подсказку с полным теханализом.
Почему арбитраж и маркет-мейкинг не сводятся к обычному сигналу
Главное
в быстрых вариантах этих стратегий результат зависит от микроструктуры рынка. Обычный свечной тест не воспроизводит очередь и задержку, поэтому без отдельной модели исполнения вывод неполон.
Пассивный маркет-мейкер стоит лимитными заявками с двух сторон и зарабатывает на спреде. Отчёт SEC называет его главный риск - adverse selection, то есть ситуацию, когда цена быстро уходит против выставленной котировки. Свечной тестер не воспроизводит этот риск полностью. Например, эмулятор TradingView по умолчанию считает касание лимитной цены достаточным для исполнения, не восстанавливая вашу реальную очередь. В реальном стакане перед вами стоит очередь, и место в ней решает, исполнят вашу котировку или чужую.
Арбитраж ломается о другое. В быстрых арбитражных схемах расхождение цен может исчезнуть внутри одной свечи, а минутный график показывает только четыре цены: открытие, максимум, минимум и закрытие. Даже если расхождение попало в данные, вопрос, успели бы вы в него войти, тест не задаёт вовсе.
Отсюда практическое правило. Красивый эквити арбитражной или маркет-мейкерской логики в обычном тестере ещё не доказывает перевес. Сначала проверяют модель исполнения и работу на отдельном тестовом контуре. Тестовое подключение биржи помогает проверить совместимость, но не обещает ту же ликвидность и очередь, что на боевом рынке. Пропускать этот этап и сразу проверять идею деньгами - плохой вывод из красивого графика.
Как выбрать рынок, данные и горизонт до первого теста
Главное
сначала фиксируется инструмент, качество данных и разбиение истории на куски, и только потом запускается первый расчёт.
Качество данных измеримо. Тестер MetaTrader 5 считает показатель History Quality как долю корректных минутных баров и честно помечает браком разрывы истории и бары с объёмом в одну сделку при разных ценах. Спред там берётся из истории, собственной модели спреда у тестера нет. Значит любой вывод из теста ограничен качеством того куска, на котором он получен.
Второй вопрос - длина истории. Работа четырёх математиков в Notices of the American Mathematical Society даёт неприятную оценку риска подгонки. В её расчётном примере пять лет дневных данных соотносятся примерно с сорока пятью испытанными конфигурациями, два года - с семью. Это результат при допущениях модели авторов, а не универсальный лимит для любого рынка и таймфрейма. Авторы отдельно подчёркивают: достаточная длина истории сама по себе не защищает от подгонки.
Шаг 1
Выбран инструмент и таймфрейм
Один инструмент, один масштаб, дальше не меняются
Шаг 2
Проверено качество данных
Разрывы истории и подозрительные бары найдены до теста
Шаг 3
Отрезок обучения
Здесь и только здесь подбираются параметры
Шаг 4
Отложенная выборка
Не открывается, пока параметры не зафиксированы
Шаг 5
Форвард в реальном времени
Свежие данные, которых не было ни в одном отрезке
Встроенный форвард-период есть даже в массовых терминалах: тестер MetaTrader 5 умеет отрезать половину, треть или четверть периода, и делает это ровно затем, чтобы избежать подгонки параметров под отдельные участки истории. Второй стенд проверки разобран отдельно, в материале про то, как проверить советника в тестере MetaTrader.
Как сравнить две стратегии на одной контрольной выборке
Главное
сравнение честное только тогда, когда у обоих алгоритмов совпадает всё, кроме самих правил, а контрольный отрезок открывается ровно один раз.
Типовая ошибка выглядит невинно: первый торговый алгоритм тестировали на одном периоде, второй на другом, и результаты сравнили. Такое сравнение не говорит ни о чём, потому что различались условия, а не правила.
- 1
Один инструмент и один таймфрейм
Оба алгоритма считаются на одних и тех же данных
- 2
Одинаковые комиссия и проскальзывание
Значения записаны до запуска, а не подобраны после
- 3
Одно разбиение истории
Границы обучения и контроля общие для обоих
- 4
Параметры зафиксированы
Подбор закончен до того, как открыт контрольный отрезок
- 5
Контроль открывается один раз
Второй прогон по тем же данным уже не независим
- 6
Решение записано заранее
Критерий выбора сформулирован до того, как виден результат
Пятый шаг ломают чаще всего. Посмотрели контрольный результат, чуть поправили параметр, посмотрели снова - и отложенная выборка перестала быть отложенной. Формально это уже подбор на контроле, и вся защита от подгонки исчезла. Профессиональная альтернатива называется скользящим окном, или walk-forward: параметры калибруются на окне, результат снимается на следующем куске, окно сдвигается.
Отдельно стоит записать, что считается победой. Если критерий не сформулирован до просмотра результата, победителем всегда окажется тот алгоритм, у которого красивее кривая.
Что вы делаете руками, Midas анализирует сам
Как учесть комиссию, проскальзывание и модель исполнения
Главное
у каждого класса свой главный источник издержек, и по умолчанию тестер часто ставит его в ноль.
Важна не сама настройка, а её вес для вашего класса. Направленному правилу на дневном графике больнее всего комиссия. Классу, который торгует часто, больнее проскальзывание и место в очереди: у платформы QuantConnect базовый брокерский профиль подставляет нулевую модель проскальзывания, и красивая кривая при таких настройках не значит ничего.
Насколько это решает исход, показывает работа исследователей из NBER по американскому рынку. Аномалии с односторонней месячной оборачиваемостью ниже пятидесяти процентов после издержек ещё дают статистически значимую премию. Более оборачиваемые почти нет. Издержки отсекают целые семейства алгоритмов целиком.
Где именно выставляются комиссия, шаг проскальзывания и режим тиков в конкретном терминале, разобрано в материале про проверку алгоритма на истории - здесь повторять настройки смысла нет.
Три проверки исполнения до сравнения прибыли
Откройте список сделок, выберите один сигнал и восстановите его по времени. В документации TradingView описаны допущения эмулятора; их надо сопоставить со своими правилами.
| Что проверить | Что искать в отчёте |
|---|---|
| Момент входа | При стандартном расчёте на закрытии бара рыночная заявка исполняется на следующем доступном тике, обычно на открытии следующего бара |
| Лимитная заявка | Касание уровня по умолчанию считается исполнением; ненулевой backtest_fill_limits_assumption требует движения за уровень на заданное число тиков |
| Порядок внутри свечи | Детализация через use_bar_magnifier использует младший таймфрейм, но не восстанавливает вашу очередь в стакане |
Если меняете режим исполнения на закрытии через process_orders_on_close, запишите это в протоколе. Сравнивать его результат со стандартным режимом как две одинаковые проверки нельзя. Проверка лимитной цены тоже остаётся приближением: она меняет время исполнения, не моделируя всю ликвидность.
Практический вывод: зафиксируйте допущения до контрольного прогона. Если преимущество исчезает при более осторожной модели исполнения, сначала разбирайте конкретные сделки, а не подбирайте новый период индикатора.
Как отсеять заглядывание в будущее и подгонку параметров
Главное
два разных дефекта; первый чинится кодом, второй только дисциплиной перебора.
Заглядывание в будущее - это использование данных, которых на момент решения ещё не существовало. Документация 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.»
- Halbert White, A Reality Check for Data Snooping, Econometrica, 2000, источник
Из того же ряда вывод исследователей из NBER: при массовом переборе факторов привычный порог t-статистики 2,0 не годится, планку надо поднимать примерно до 3,0. Практический перевод на язык тестера: считайте, сколько вариантов вы перебрали, и требуйте от результата тем большего запаса, чем длиннее был перебор.
Для карты классов у этого сюжета есть отдельное следствие. Направленное правило чаще страдает подгонкой: параметров много, перебор дешёвый. Арбитраж и маркет-мейкинг чаще страдают заглядыванием, потому что их результат зависит от порядка событий внутри свечи, а этого порядка в истории цен просто нет.
Риски и ограничения
Главное
класс стратегии не делает её прибыльной, а тест на истории не является обещанием будущего результата.
- Результат на истории не переносится на живой рынок автоматически: часть перевеса съедают издержки, часть исчезает вместе с рыночным режимом.
- Прошлые результаты не гарантируют будущих, и ни один тестер этого не меняет.
- Свечные данные не воспроизводят очередь заявок, вашу задержку и влияние на цену. Доступность более подробных данных и стенда проверяется отдельно для конкретной стратегии.
- Классификация в статье опирается на документы регуляторов и не является единственно возможной: отдельных рубрик для возврата к среднему и статистического арбитража в отчёте SEC нет.
- Торговля связана с риском потери капитала; размер позиции считается до входа, механика разобрана в материале про риск на сделку.
Дисклеймер. Не является индивидуальной инвестиционной рекомендацией. Рынок волатилен, торговля связана с риском потери капитала. Прошлые результаты не гарантируют будущих.
Источники
-
- SEC: Staff Report on Algorithmic Trading in U.S. Capital Markets - четыре класса краткосрочных стратегий, пять признаков HFT, алгоритмы исполнения VWAP и TWAP, определение колокации.
-
- Delegated Regulation (EU) 2017/589, RTS 6 - методика тестирования, отдельная тестовая среда, лимиты выката, кнопка мгновенной отмены заявок.
-
- FCA: Algorithmic Trading Compliance in Wholesale Markets - деление на алгоритмы решения и алгоритмы исполнения, требования к тесту, состав документации.
-
- FINRA: Regulatory Notice 15-09 - независимость тестирования от разработки, контроль изменений кода, выкат ограниченным пилотом.
-
- CFTC: Electronic Trading Risk Principles - обязательные предторговые контроли на стороне площадки.
-
- BIS: High-frequency trading in the foreign exchange market - разделение чистого HFT и алгоритмического исполнения крупных заявок.
-
- Московская биржа: подключения к торговым системам - минимальное время отклика по способам подключения и тестовый контур колокации.
-
- Банк России: высокочастотная торговля, объёмы и влияние - оценка доли высокочастотных участников на российском рынке.
-
- TradingView: Pine Script, стратегии и перерисовка - эмулятор брокера, комиссия и проскальзывание, исполнение после закрытия бара.
-
- TradingView: нереалистичный результат из-за заглядывания в будущее - три механизма доступа к будущим данным и способ их убрать.
-
- MQL5: тестирование торговых стратегий - синтез тиков из минутных баров, спред из истории, требование перепроверять грубые режимы.
-
- MetaTrader 5: оптимизация стратегии - форвард-период 1/2, 1/3, 1/4 и его назначение.
-
- QuantConnect: модели проскальзывания - нулевое проскальзывание в брокерском профиле по умолчанию.
-
- Bailey, Borwein, Lopez de Prado, Zhu. Notices of the AMS, 2014 - предельное число конфигураций при заданной длине истории, определения обучающей и отложенной выборок.
-
- Halbert White. A Reality Check for Data Snooping, Econometrica, 2000 - определение data snooping и почему долгий перебор всегда что-то находит.
-
- Harvey, Liu, Zhu. NBER Working Paper 20592 - порог t-статистики при массовом переборе факторов.
-
- Novy-Marx, Velikov. NBER Working Paper 20721 - как транзакционные издержки съедают премию у оборачиваемых стратегий.
-
- MetaTrader 5: отчёт тестера стратегий - показатель History Quality и что считается браком минутных данных.
-
- ESMA: MiFID II, статья 4, определения - определение высокочастотной алгоритмической техники в пункте 40.
-
- ESMA: MiFID II, статья 17, алгоритмическая торговля - требования к системам и контролю инвестиционных фирм.
Частые вопросы
С чего начать алготрейдинг новичку
С одного направленного правила на одном инструменте и одном таймфрейме. Правило должно однозначно отвечать «да» или «нет» на закрытой свече, иметь заранее заданный выход и заранее заданный размер позиции. Дальше история режется на отрезок обучения и отложенную выборку, параметры подбираются только на первом, а второй открывается один раз. Маркет-мейкинг, арбитраж и высокочастотные схемы на старте не трогают: их нельзя честно проверить без доступа к биржевой инфраструктуре.
Какие стратегии алгоритмической торговли самые прибыльные
Такого ответа не существует, и любой конкретный ответ на этот вопрос стоит считать рекламой. Прибыльность зависит от рынка, режима, издержек и качества исполнения, а не от названия класса. Полезнее другой вопрос: какой класс вы можете честно проверить своими средствами. Для частного трейдера это направленные правила, потому что их перевес живёт в самих правилах, а не в скорости доступа к площадке.
Чем алготрейдинг отличается от торгового робота
Алготрейдинг - это подход, при котором решения и заявки формирует программа, а не человек. Робот, или советник, - конкретная программа, исполняющая заданные правила. То есть робот является инструментом алготрейдинга, а не синонимом. Разница важна при проверке: тестируют не робота как код, а стратегию как набор правил, и отдельно проверяют, что код эти правила исполняет без ошибок.
Сколько данных нужно для проверки алгоритмической стратегии
Зависит не от календаря, а от числа перебранных вариантов. Оценка из статьи в Notices of the American Mathematical Society такая. В расчётном примере авторов пять лет дневных данных соответствуют примерно сорока пяти испытанным конфигурациям, два года - семи. Эти числа зависят от допущений модели; переносить их как жёсткий предел на свой тест нельзя. Авторы отдельно оговаривают, что длина истории - условие необходимое, но не достаточное.
Нужен ли алготрейдингу дорогой доступ к бирже
Направленным стратегиям на закрытых свечах - нет, там хватает обычного брокерского счёта и терминала. Для идеи, чей перевес зависит от скорости, условия подключения и их стоимость придётся оценивать отдельно. Московская биржа приводит минимальное время отклика для своих способов подключения: 0,02 мс в колокации против 100 мс через обычный интернет. Это минимальный круговой отклик, не гарантия исполнения. Если идея зависит от такой скорости, обычный свечной тест её доступность не доказывает.





