Чем стратегии алготрейдинга отличаются от алгоритмов исполнения
Главное
одна программа решает, что купить, вторая решает, как это купить, не разбудив рынок. Это разные задачи, и проверяются они по-разному.
Слово «алгоритм» в разговоре трейдеров склеивает две совершенно непохожие вещи. Британский регулятор в обзоре оптовых рынков приводит определения из европейского стандарта, и это самое полезное деление из всех, что я встречал.
«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, https://www.fca.org.uk/publication/multi-firm-reviews/algorithmic-trading-compliance-wholesale-markets.pdf
Алгоритм решения отвечает на вопрос «входить или нет». Второму достаётся уже готовое решение, и его работа - растянуть заявку во времени, чтобы не сдвинуть цену самому себе. Отчёт 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, https://www.sec.gov/files/Algo_Trading_Report_2020.pdf
Там же прямым текстом сказано: законодательного определения HFT не существует. Вместо определения дан набор из пяти признаков. Сверхбыстрые программы. Колокация и индивидуальные потоки данных. Очень короткие сроки удержания позиции. Много заявок со снятием почти сразу после подачи. Закрытие дня в позиции, близкой к нулю. Отдельно оговорено, что все пять одновременно необязательны.
Про валютный рынок Банк международных расчётов разводит те же сущности: в его материалах чистый HFT противопоставлен алгоритмическому исполнению крупных однонаправленных сделок. То есть скорость и задача - разные оси, и путать их не стоит. Банк России в своём обзоре высокочастотной торговли описывает признаки так же качественно, числовой доли рынка там нет.
Заодно европейские правила отвечают на вопрос, что регулятор вообще считает проверкой алгоритма. Это не бэктест.
- 1
Прописанная методика теста
До запуска и до любого существенного обновления
- 2
Проверка совместимости с площадкой
Алгоритм не должен ломать чужую торговую систему
- 3
Отдельная тестовая среда
Отделена от боевого контура
- 4
Выкат с жёсткими лимитами
Лимиты заданы заранее, до первой боевой заявки
- 5
Кнопка мгновенной отмены
Немедленно снимает любые или все неисполненные заявки
- 6
Ежегодная валидация
Пересмотр систем, алгоритмов и стратегий раз в год
Британский обзор добавляет требование, которое частный трейдер обычно пропускает: алгоритм обязан доказать, что «works effectively in stressed market conditions». Тест на спокойном участке истории этому требованию не отвечает.
Какой класс можно проверить самому, а какой держится на инфраструктуре
Главное
направленные правила проверяются на закрытых свечах обычным тестером; маркет-мейкинг, арбитраж и структурные стратегии без доступа к инфраструктуре не проверяются в принципе.
Границу между классами алгоритмических стратегий проводит источник перевеса, сложность кода тут ни при чём. Если перевес в правиле - его видно в истории цен. Если перевес в скорости или в месте в очереди заявок - в истории цен его нет, потому что там нет ни очереди, ни вашей задержки.
Перевес в правиле
Перевес в скорости и доступе
- 1.Направленные правила
- 2.Арбитраж связок
- 3.Маркет-мейкинг и HFT
Размер инфраструктурного барьера считается в миллисекундах. Московская биржа публикует минимальное время отклика для своих способов подключения: колокация 0,02 мс, выделенный канал ConnectME 5 мс, точки присутствия 34 мс, обычный интернет 100 мс. Между колокацией и интернетом разница в пять тысяч раз, и никакая оптимизация кода её не закрывает.
| Класс | Проверяемая гипотеза | Минимальные данные | Главная ошибка симуляции | Инфраструктурный барьер |
|---|---|---|---|---|
| Направленные | правило даёт перевес после издержек | закрытые свечи одного инструмента | подгонка параметров под историю | низкий |
| Арбитраж | связка расходится и снова сходится | синхронные котировки двух инструментов | несинхронные данные и невидимые издержки переноса | средний |
| Пассивный маркет-мейкинг | спред покрывает неблагоприятный отбор | стакан и лента сделок | очередь заявок в тестере не моделируется | высокий |
| Структурные | опережение по данным устойчиво | сырые биржевые потоки | задержка вообще не заложена в тест | очень высокий |
| Алгоритмы исполнения | средняя цена лучше эталона | ваши собственные заявки | своего влияния на цену в истории нет | средний |
Вывод для частного трейдера простой. Проверять стоит направленные правила. Всё остальное можно изучать ради понимания рынка, но не тащить в тестер и не считать результат.
Подойдёт, если
- Направленное правило на закрытых свечах: вход, выход, стоп и размер позиции заданы заранее
- Один инструмент, один таймфрейм и отложенная выборка, которая открывается последней
- Сравнение двух вариантов правил на одной контрольной выборке
Не подойдёт, если
- Пассивный маркет-мейкинг: в тестере нет очереди заявок и нет неблагоприятного отбора
- Арбитраж связанных инструментов: расхождение живёт секунды, а свеча отдаёт четыре цены
- Структурные схемы на разной скорости получения данных: без места у биржи их не воспроизвести
Как формализовать направленную гипотезу до однозначных правил
Главное
пока гипотеза звучит словами, она непроверяема; правило должно однозначно отвечать «да» или «нет» на каждой закрытой свече.
Фраза «покупаю на откате в тренде» не является стратегией. В ней три неопределённых слова, и каждое из них при тесте превращается в параметр, который хочется подкрутить. Обзор британского регулятора требует фиксировать до теста, пункт 3.9: теоретическую конструкцию, поведенческие характеристики и ключевые допущения, состав входных данных, расчётные процедуры.
Практический минимум для одного правила выглядит так. Вход - логическое выражение над значениями, известными на момент закрытия свечи. Для выхода пишется своё такое же выражение; формулировка «когда станет плохо» правилом не является. Стоп и размер позиции задаются заранее, до первого прогона. И явно записанный таймфрейм, потому что то же правило на другом масштабе - другая стратегия.
Состав правил одной стратегии подробно разобран в материале про то, из чего складывается проверяемая торговая стратегия. Здесь важно другое: количество свободных параметров надо посчитать до первого запуска. Семь бинарных параметров дают сто двадцать восемь вариантов - и это уже опасная территория: чем длиннее перебор, тем легче найти правило, которое работает только на этой истории.
Настройте сигналы под свой горизонт
В Midas есть семь вариантов логики сигналов: пять готовых стилей торговли и два режима рынка. Выберите подход и затем проверяйте каждую идею по своему риск-плану.
- 7 стратегий на выбор
- от скальпинга до инвестиций
- отдельные режимы отскока и пробоя
Почему арбитраж и маркет-мейкинг не сводятся к обычному сигналу
Главное
в этих классах доход берётся из микроструктуры рынка, а тестер её не воспроизводит: там нет очереди заявок и нет неблагоприятного отбора.
Пассивный маркет-мейкер стоит лимитными заявками с двух сторон и зарабатывает на спреде. Отчёт SEC называет его главный риск - adverse selection, то есть ситуацию, когда цена быстро уходит против выставленной котировки. В тестере этого риска нет: там ваша лимитная заявка исполняется, как только цена коснулась уровня, и никто не забирает её первым. В реальном стакане перед вами стоит очередь, и место в ней решает, исполнят вашу котировку или чужую.
Арбитраж ломается о другое. Расхождение цен между связанными инструментами существует секунды, а тест на закрытых свечах видит от каждой минуты только четыре цены: открытие, максимум, минимум и закрытие. Даже если расхождение попало в данные, вопрос, успели бы вы в него войти, тест не задаёт вовсе.
Отсюда практическое правило. Красивый эквити арбитражной или маркет-мейкерской логики в обычном тестере - артефакт упрощений. Такие алгоритмические стратегии проверяют на боевом контуре с реальной задержкой, и биржи специально дают тестовый доступ, который повторяет боевое подключение. У частного трейдера этого контура обычно нет.
Как выбрать рынок, данные и горизонт до первого теста
Главное
сначала фиксируется инструмент, качество данных и разбиение истории на куски, и только потом запускается первый расчёт.
Качество данных измеримо. Тестер 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: параметры калибруются на окне, результат снимается на следующем куске, окно сдвигается.
Отдельно стоит записать, что считается победой. Если критерий не сформулирован до просмотра результата, победителем всегда окажется тот алгоритм, у которого красивее кривая.
Как учесть комиссию, проскальзывание и модель исполнения
Главное
у каждого класса свой главный источник издержек, и по умолчанию тестер часто ставит его в ноль.
Важна не сама настройка, а её вес для вашего класса. Направленному правилу на дневном графике больнее всего комиссия. Классу, который торгует часто, больнее проскальзывание и место в очереди: у платформы 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.»
- Halbert White, A Reality Check for Data Snooping, Econometrica, 2000, https://users.ssc.wisc.edu/~bhansen/718/White2000.pdf
Из того же ряда вывод исследователей из 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 и что считается браком минутных данных.
Частые вопросы
С чего начать алготрейдинг новичку
С одного направленного правила на одном инструменте и одном таймфрейме. Правило должно однозначно отвечать «да» или «нет» на закрытой свече, иметь заранее заданный выход и заранее заданный размер позиции. Дальше история режется на отрезок обучения и отложенную выборку, параметры подбираются только на первом, а второй открывается один раз. Маркет-мейкинг, арбитраж и высокочастотные схемы на старте не трогают: их нельзя честно проверить без доступа к биржевой инфраструктуре.
Какие стратегии алгоритмической торговли самые прибыльные
Такого ответа не существует, и любой конкретный ответ на этот вопрос стоит считать рекламой. Прибыльность зависит от рынка, режима, издержек и качества исполнения, а не от названия класса. Полезнее другой вопрос: какой класс вы можете честно проверить своими средствами. Для частного трейдера это направленные правила, потому что их перевес живёт в самих правилах, а не в скорости доступа к площадке.
Чем алготрейдинг отличается от торгового робота
Алготрейдинг - это подход, при котором решения и заявки формирует программа, а не человек. Робот, или советник, - конкретная программа, исполняющая заданные правила. То есть робот является инструментом алготрейдинга, а не синонимом. Разница важна при проверке: тестируют не робота как код, а стратегию как набор правил, и отдельно проверяют, что код эти правила исполняет без ошибок.
Сколько данных нужно для проверки алгоритмической стратегии
Зависит не от календаря, а от числа перебранных вариантов. Оценка из статьи в Notices of the American Mathematical Society такая. На пяти годах данных нельзя перебирать больше сорока пяти независимых конфигураций, иначе отличный результат на обучении соседствует с нулевым на новых данных. На двух годах истории предел падает до семи конфигураций. Авторы отдельно оговаривают, что длина истории - условие необходимое, но не достаточное.
Нужен ли алготрейдингу дорогой доступ к бирже
Направленным стратегиям на закрытых свечах - нет, там хватает обычного брокерского счёта и терминала. Всему, что зарабатывает на скорости, - да, и разница измерима. Московская биржа приводит минимальное время отклика для своих способов подключения: 0,02 мс в колокации против 100 мс через обычный интернет. Если идея живёт внутри этой разницы, без размещения оборудования у биржи она не проверяется и не работает.




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