В нашем блоге мы много пишем о торговле на бирже и использующихся для этого технологиях. В частности, большое внимание уделяется алгоритмам для решения тех или иных задач от обработки данных с помощью FPGA до обнаружения инсайдерской торговли.
Пользователи ресурса Quora задались вопросом о том, какие вообще бывают алгоритмы онлайн-трейдинга. Лучший ответ дал разработчик торговых роботов Жей Янг (Jae Yang). Мы представляем вашему вниманию описание его классификации.
По мнению Янга существует 4 основных типа алгоритмов для трейдинга:
- алгоритмы исполнения приказов;
- алгоритмы, использующие поведенческие факторы;
- алгоритмы скальпинга;
- предиктивные алгоритмы.
Теперь о каждом из них по порядку.
Алгоритмы исполнения приказов
Множество крупных фондов вынуждены постоянно перераспределять свои средства между различными активами. Для достижения наибольше эффективности торговли используются различные алгоритмы. Простейшие варианты – TWAP (взвешенная по времени средняя цена) и VWAP (средняя взвешенная цена по объему). Есть и более изощренные, но выполняющие, по сути, те же задачи — к примеру, разработанный в Goldman Sachs алгоритм Port-X (по ссылке представлены все использующиеся в инвестбанке алгоритмы).
Общий принцип работы подобных алгоритмов таков: они оценивают состояние рынка акций за определенное время и рационально размещают ордера на покупку или продажу. Для того чтобы не слишком зависеть от скачков цены, трейдеру выгоднее разбить актив на множество небольших блоков. Допустим, ему нужно выполнить ордер на актив стоимостью $100 млн., для которого средний ежедневный объем торгов составляет $1 млн. В таком случае инвестор слишком зависим от воздействия цены, если рационально не распределит ордера на достаточно длительном отрезке времени.
Представьте, что вам нужно ведрами наполнить бассейн. Вы не сможете это сделать, не расплескав воду в процессе.
На другом конце спектра нас ждет благодатная сфера высокочастотного трейдинга. Здесь алгоритмы можно разделить на две общие категории.
Алгоритмы поведенческих факторов
Они основаны на анализе действий конкурентов, работающих с конкретным трейдером на «одной территории». В случае с активами с небольшой ликвидностью, чаще всего, есть один крупный игрок и все остальные. В подобных условиях распознавание поведения соперников становится вполне осуществимой задачей, чем при наличии 10000 равных по силе трейдеров. Для того чтобы построить систему, способную извлекать выгоду из действий оппонентов, достаточно понимать, каким правилами они руководствуются и в каких случаях от них отступают.
Алгоритмы скальпинга
Компании, занимающиеся высокочастотным трейдингом (HFT), постоянно соревнуются в том, кто из них самый быстрый стрелок на Диком Западе. Отличные возможности для арбитража цены появляются на уровне микроструктуры рынка. Если, например, стакан в определенный момент имеет бид в $10 и аск в $10,1, то кажется, что в этом нет выгоды (в этом материале мы рассматривали вопрос рациональности стратегий скальпинга).
На макроуровне такие колебания происходят постоянно. Для того чтобы инициировать и провести транзакцию, нужен кто-либо, кто предлагает ту же или большую сумму, чем запрашиваемая. Зачастую, это происходит, когда в реальности есть бид на $10,0001 и аск на $10. Вот тут-то и вступает в игру скорость. Быстрейшие компьютеры способны поймать эту разницу в $0,0001. Система открывает позицию на $10 и продает кому-либо по $10,001. Алгоритмы скальпинга должны быть быстрыми и эффективными. Чаще всего, они разрабатываются, тестируются и разворачиваются на схемах ASIC или FPGA (мы писали об этом здесь).
Предиктивные алгоритмы
В большинстве случаев, когда кто-то говорит о трейдерских алгоритмах, он имеет в виду именно эту их разновидность. Алгоритмы прогнозов включают в себя все варианты предсказания поведения рынка на основе анализа прошлой информации, новых данных и любой вторичной информации. Их можно разделить на несколько субкатегорий, согласно применяемым методам:
- возврат к среднему значению;
- следование тренду;
- паттерны кривой цен;
- фундаментальный анализ;
- балансировка портфеля.
Возврат к среднему основан на идее, что есть некая «честная» цена, к которой рынок возвращается. Алгоритмы, использующие эту методику, пытаются создать паттерны нормализированной цены, исходя из аналогов, неких реперных точек или предыдущих значений. Трейдинг валютных пар – самый простой пример. Корреляция значений высчитывается для двух рынков, чтобы понять, в каком случае на одну валюту можно купить другую. Когда следует открывать короткую позицию и закрывать, если пара снова торгуется в тандеме. Для того чтобы система заработала, далее применяются алгоритмы паттернов кривой.
Алгоритмы следования тренду призваны обнаруживать наличие долгосрочных трендов для конкретных классов активов. Эффективность таких алгоритмов зависит от того удастся ли системе определить, кто в текущий момент открывает позиции. Рынок акций – это пример большой коллективной охоты, где каждый игрок преследует свою цель. Поэтому в движении цены трудно уловить какие-либо закономерности. Тем не менее, есть люди, которые уверены, что вторичная информация по перемещению денежной массы из одних активов в другие при правильном диагностировании всей сетки дает результат. То есть, проще говоря, на значение цены влияет множество дополнительных факторов, а не только баланс спроса-предложения.
Алгоритмы, полагающиеся на метод анализа паттернов кривой, следуют древнему, как мир, убеждению, что «картинки и графики не лгут». Его еще называют иногда техническим анализом. Он имеет дело с совокупностью паттернов, описывающих поведение кривой. Например: «двойная вершина», «голова и плечи» и прочее.
Фигура технического анализа голова и плечи
Несмотря на некоторую старомодность веры в силу диаграмм и графиков, продолжают появляться серьезные статьи на тему, как заработать, изучая шаблоны ценового поведения. Вот пример подобного исследования.
Фундаментальный анализ имеет дело с данными отчетности компаний и государственной статистики, чтобы определить в каком случае тот или иной рынок переоценен или недооценен в сравнении с аналогичными. Крупные компании обладают штатом аналитиков, позволяющим им делать эту куда эффективней частных инвесторов. У последних, к примеру, просто нет времени подсчитывать такие вещи, как условно, сколько пар джинсов продал крупнейший американский ритейлер Gap. В этих же системах для определения глобальных циклов могут применяться и макроэкономические данные.
Балансировка инвестиционного портфеля основывается на двух разных идеях о поведении рынка акций. Есть тип алгоритмов под названием Smart Beta. Он работает по принципу «бесплатного сыра», где «сыр» — это портфель из активов с низкой волатильностью. Также существует тип онлайн-алгоритмов, суть которых сводится к анализу индекса денежных потоков и применению правило возврата к среднему значению.
Конечно же, эта классификация является неполной и не включает, к примеру, алгоритмы анализа общественного мнения (в соцсетях или с помощью сервисов вроде Google Trends), изучения новостей или прогнозов аналитиков, а также алгоритмы машинного обучения (в формате «с учителем» и без). Однако она позволяет начинающим трейдерам составить базовое представление о многообразии существующих алгоритмов для работы на бирже.
Другие материалы по теме алгоритмической торговли в блоге ITinvest:
- Как Big Data используют для анализа фондового рынка
- Эксперимент: создание алгоритма для прогнозирования поведения фондовых индексов
- GPU vs CPU: Почему для анализа финансовых данных применяют графические процессоры
- Как предсказать цену акций: Алгоритм адаптивной фильтрации
- Алгоритмы и торговля на бирже: Скрытие крупных сделок и предсказание цены акций
Автор: ITinvest