К основному содержанию
ForexNews24
Методология · ПрофессионалНа данных не тестируется

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

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

ДанныеПравилоБэктестИсполнениеЧеловек задаёт правила заранее — в момент сделки его нетоднозначно · воспроизводимо · без эмоций
Правило исполняется механически по конвейеру «данные → правило → проверка → исполнение», без участия человека в моменте решения.
Требования
ПараметрЗначение
Аптайм исполнения99.9%+
Аварийная остановкаKill-switch
Каждой сделкиЛогирование
ТаймфреймЛюбой

Как это работает на самом деле

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

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

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

Почему эту методологию нельзя честно проверить на наших данных

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

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

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

Плюсы и минусы

Плюсы
  • Полностью исключает эмоции и дискрецию из исполнения.
  • Любое правило формализуется и проверяется на истории по одной методике.
  • Масштабируется на множество инструментов одновременно.
Минусы
  • Исполняет и ошибки автора без исключений.
  • Уязвима к переоптимизации: красивый бэктест часто не работает вживую.
  • Требует навыков программирования и инфраструктуры исполнения.

Нюансы и подводные камни

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

Кому подходит эта методология

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

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

Нужно ли уметь программировать для алготрейдинга?

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

Почему прибыльный бэктест часто не работает вживую?

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

Сложная стратегия лучше простой?

Обычно наоборот. Каждый дополнительный параметр увеличивает риск подгонки под историю. Устойчивые алго-системы, как правило, просты, имеют мало степеней свободы и потому реже описывают шум вместо сигнала.

Похожие методологии

От исследования — к применению

В продукте Allocation мы реализовали эти алгоритмы с учётом всех нюансов, разобранных на портале.

Узнать про Allocation