Статьи

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

СОДЕРЖАНИЕ:

1. Глоссарий
1.1. Механическая торговая система
1.2. Автоматическая торговая система / торговый робот
1.3. Black box trading/model
1.4. Алгоритмический трейдинг
1.5. Высокочастотный трейдинг
2. Из истории
3. Основные функции и отдельные параметры торговых роботов
4. Виды торговых роботов согласно проводимой инвестстратегии
5. Популярный софт для автоматических торговых систем
5.1. Торговая платформа MetaTrader 4/5
5.2. Wealth-Lab
5.3. MetaStock
5.4. Omega Research
5.5. QUIK
6. Тестирование
7. Торговый робот: за и против
Примечания и ссылки
Используемые сокращения

1. ГЛОССАРИЙ

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

Попытаемся разобраться в (как теперь любят говорить) дефинициях роботизированной торговли.

1.1. Механическая торговая система

Краеугольный камень – интерпретация «Механической торговой системы» (МТС).

МТС – «Свод полностью формализованных правил открытия, сопровождения и закрытия сделок в биржевой торговле финансовыми инструментами»[1].

Вообще говоря, МТС – не более, чем инструкция, регламентирующая вход/выход в инструмент / из инструмента, контроль прибыли и убытков (риск или money-менеджмент), реагирование на появление ключевых новостей и пр. Полноценной МТС вполне может быть лист бумаги или текстовый файл с десятком пунктов, написанных трейдером. Такая МТС применяется вручную.

Устойчивый положительный результат механической торговой системы на определенном временном интервале возможен при соблюдении двух факторов.

Во-первых, грамотная, в максимальной степени, учитывающая рыночные (и не только) тенденции, начинка МТС.

Во-вторых, неукоснительное, безусловное следование выбранному «Своду правил».

Казалось бы, фактор 1 неизмеримо сложнее и трудно исполнимей, чем фактор 2.

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

Обе группы преследовали (преследуют) одну и ту же цель – получение прибыли на внесенный капитал. Для современников это положительная дельта на остаток торгового счета, для искателей счастья с тигелем и горелкой семь-восемь столетий назад – успешное превращение куска свинца в слиток золота. Не случайно, одна из самых популярных книг гуру спекулянтов конца XX века Дж. Сороса носит название «Алхимия финансов»[2].

1.2. Автоматическая торговая система / торговый робот

На таком серьезном фоне психологическая компонента работы МТС кажется простой и легко осуществимой. На деле все далеко не так. Исключить личностные особенности в трейдинге и облегчить его рутинную часть призваны автоматические торговые системы.

Автоматическая торговая система (АТС) – полный синоним понятия «торговый робот». АТС – «Программы (<скрипты>), предназначенные для полной или частичной автоматизации деятельности трейдеров»[1].

Основная цель торгового робота (ТР) / АТС – «Исполнение, причем точное и качественное, однотипных, постоянно повторяемых процессов с максимально возможной скоростью реагирования на любые рыночные ситуации»[3].

Применение ТР решает две «вечные» задачи, стоящие перед трейдером.

1) Нивелирование субъективных «человеческих» особенностей в торговле. Введение абсолютной «торговой» дисциплины. Минимизация убытков в автоматическом режиме.

2) Повышение производительности труда. Круглосуточная (если есть такая потребность) деятельность без участия трейдера.

1.3. Black box trading/model

За рубежом за торговым роботами закрепилось наименование «черных ящиков», Black box trading[4]  или Black box model.

67 2 black box

источник[5]

Investopedia определяет Black box model, как компьютерную программу для преобразования (конвертации) входящей рыночной информации (Input) в «полезные инвестиционные стратегии» (Output)[5].

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

1.4. Алгоритмический трейдинг

Близко к роботизированной торговле стоит термин «алгоритмический трейдинг» (АТ). Но это не суть тождественные понятия.

Под алгоритмическим трейдингом понимается[4] разбиение большой заявки, parent order, на меньшие, child orders, с их последующей отправкой на торговую площадку в определенные моменты времени. Запускается процесс с помощью специальных программных алгоритмов.

Методологически очевидно, что АТ может быть реализован, как одна из функций ТР. Тем самым, смысл торгового робота несколько шире.

1.5. Высокочастотный трейдинг

Полноценный симбиоз алгоритмической торговли и торговых роботов нашел свое воплощение в современном высокочастотном трейдинге, High-frequency trading (HFT). Высокочастотный трейдинг характеризуется высокой скоростью открытия и закрытия большого количества позиций. Временные интервалы удержания позиции составляют от долей секунды до десятков микросекунд[6].

Источник прибыли HFT-компаний – пипсовка, скальпинг, колебание цены инструмента в последнем знаке после запятой, многократно усиленное эффектом финансового левериджа (кредитного плеча).

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

2. ИЗ ИСТОРИИ

Компьютеризация биржевой торговли акциями уходит в начало 1970-х годов[7]. На Нью-Йоркской фондовой бирже (NYSE) вводится система электронной отправки заявок DOT, designated order turnaround («закрепленный порядок оборота»), позже – SuperDOT. Но полученные приказы все еще обрабатывались биржевыми брокерами вручную.

NYSE определяет программный трейдинг (Program trading), как выставление компьютерной заявки на покупку/продажу акций 15 и более компаний на общую сумму не менее $1 млн.

В 1980-х широкое распространение получила арбитражная алгоритмическая торговля (Program trading) между индексом S&P500 и фьючерсом на индекс. Впоследствии, ряд экспертов говорили, что масштабы страхования портфелей через такой арбитраж привели к крупнейшему относительному однодневному обвалу индекса Доу-Джонса в черный понедельник 19 октября 1987 г.

Полный переход на электронную систему заключения сделок с использованием современных телекоммуникационных систем на ведущих биржевых площадках произошел на рубеже 1980-1990-х годов. Решающую роль сыграла ECN, electronic communication network – электронная сеть, обеспечивающая удаленный доступ к торгам.

25.09.1995 г.[8] член NYSE Майкл Эйнерсен акцептует электронный ордер на тысячу акций IBM без ручной обработки и торгов с голоса.

В 2001 году NYSE начинает котировать минимальный размер тика ценной бумаги одним центом вместо 1/16 доллара. Сразу два преимущества – прорыв в системе электронного документооборота, заточенного под десятичную систему, и увеличение торговой ликвидности ($0,01<$1/16).

В том же году группа сотрудников компании IBM выступает с докладом на международной конференции по искусственному интеллекту, в котором приводятся убедительные аргументы превосходства торгового робота над трейдером-человеком. Компьютерщики упомянули о двух торговых алгоритмах: собственном (от IBM) под названием MGD и ZIP от Hewlett-Packard. По их словам, только эти две программы позволит их владельцам обыгрывать традиционных, нероботизированных торговцев на миллиарды долларов в год.

Дальнейшая «электронизация» и «интернетизация» финансовых рынков положила начало буму в создании и использовании торговых алгоритмов. Роботы применяются всеми, как небольшими трейдерами-физлицами, так и крупнейшими инвестиционными банками. Например, BNP Paribas разработал модуль Chameleon, Deutsche Bank – Stealth (2011), а Credit Suisse – Sniper и Guerilla (2006). В них задействованы стратегии арбитража, статистического арбитража, следования тренду, возвращения стоимости инструмента к своей средней цене (mean reversion) и пр.

3. ОСНОВНЫЕ ФУНКЦИИ И ОТДЕЛЬНЫЕ ПАРАМЕТРЫ ТОРГОВЫХ РОБОТОВ

Какие функции торговой системы, в дальнейшем формализованные в скрипте торгового робота (ТР), являются критично необходимыми?

По большому счету их четыре:

1) Критерий открытия позиции / входа в рынок.

2) Правила сопровождения открытой позиции.

3) Критерий закрытия позиции / выхода с рынка.

4) Риск-менеджмент. Играет особую роль в пунктах 2 и 3.

Все то, что можно отнести, в равной степени, и к тактике любого трейдера-человека.

Важное обстоятельство.

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

Как именно прописывается скрипт для открытия/закрытия длинной позиции наглядно демонстрирует фрагмент программного модуля, созданного на векторном языке[9] TradeScript для терминала SmartX компанией ITinvest (ITICapital)[10]:

67 3 TradeScript

источник[10]

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

Торговая дисциплина поддерживается за счет таких параметров ТР, как ценовое проскальзывание (Slip/Slippage), максимальный спред, предельные убытки и минимальная прибыль на сделку/позицию, Trailing Stop (подвижный ордер Stop Loss) и пр.

За риск-менеджмент отвечает Risk Percent (возможны иные термины) – предельно допустимый процент просадки капитала (депозита) трейдера.

4. ВИДЫ ТОРГОВЫХ РОБОТОВ СОГЛАСНО ПРОВОДИМОЙ ИНВЕСТСТРАТЕГИИ

Одна из классификаций торговых роботов (ТР) /советников отвечает выбору воплощаемых ими инвестиционных стратегий.

1) Трендовый ТР.

Самый наглядный для понимания робот. Открывает позиции по тренду, покупка на растущем, продажа на падающем.

2) Скальпинговый ТР.

Отслеживает минимальные колебания цены в инструменте. Магистральное направление в высокочастотном трейдинге.

3) Арбитражный ТР.

Реализует стратегию арбитража или парного трейдинга.

4) Mean reversion ТР.

Стратегия «Возврата к среднему» (Mean reversion). Предполагает, что цена финансового инструмента имеет тенденцию, рано или поздно, возвращаться к своему среднему значению.

5) Комбинированный ТР.

Советник сложной архитектуры, отвечающий двум и более стратегиям.

5. ПОПУЛЯРНЫЙ СОФТ ДЛЯ АВТОМАТИЧЕСКИХ ТОРГОВЫХ СИСТЕМ

Фундамент любого робота-трейдера – программное обеспечение, созданное на основе того или иного языка программирования.

Ниже приводится перечень продуктов, получивших распространение среди российских участников фондового рынка и рынка форекс.

5.1. Торговая платформа MetaTrader 4/5

Пожалуй, самый распространенный информационно-торговый дилинговый форекс-сервис в России. Также позволяет проводить операции с фьючерсами и контрактами на разницу (CFD). Изготовитель – компания MetaQuotes Software Corp. Язык программирования – MetaQuotes Language.

Поставляются торговые роботы/эксперты/советники для MetaTrader, обычно, в виде архивного файла. Распаковав архив и запустив установочный файл на компьютере с платформой MetaTrader, трейдер получит ТР в списке советников (здесь «Ilan2.0», красная стрелка на рисунке) соответствующей папки (зеленая стрелка):

67 4 MT1

источник[11]

Настройка параметров советника Ilan2.0 доступна на одной из вкладок торгового терминала.

67 5 MT2

источник[11]

Активируется советник из меню пользователя MT 4/5:

67 6 MT3

источник[11]

Среди зарубежных продуктов, адаптированных под российский рынок акций, можно отметить следующие ТР[10].

5.2. Wealth-Lab

Разработка компании Fidelity International. Язык – WealthScript, имеющий много общего с Pascal, для последних версий продукта привлекался C#.

67 7 WL

источник[10]

Программа генерирует заявки на основании стратегии, описываемой пользователем в модулях Wealth-Lab.

5.3. MetaStock

Отличается простым встроенным языком программирования и хорошей библиотекой индикаторов и заготовок для написания формул. Оптимален для начинающего трейдера с несложными стратегиями. Для продвинутых пользователей торговых систем и авторов глубоких, многосторонних методик трейдинга полезен в меньшей степени[10].

5.4. Omega Research

Используется язык программирования Easy Language (синтаксис близкий к Pascal). Софт требует только свой формат данных, что делает проблематичным их загрузку из других ресурсов.

Общий минус всех зарубежных моделей и Omega Research не исключение – сложная стыковка с российскими биржевыми площадками через систему дополнительных интеграционных библиотек. Итог – повышенный риск нестабильности в работе.

5.5. QUIK

Наверное, самая известная платформа на российском фондовом рынке с функциями автоматической торговой системы.

QUIK – аббревиатура от Quickly Updatable Information Kit (быстро обновляемая информационная панель)[12]. Изначально функционировала, как информсистема с высокой скоростью доставки биржевой информации. В настоящее время QUIK – программный комплекс № 1 для интернет-трейдинга на биржах РФ и Украины.

До версии QUIK 6.4 применялся язык Qpile. Он существенно проигрывал C++ и C# в роботизации торговли, позволяя автоматизировать только простейшие трейдинговые стратегии. Так, Qpile давал возможность пошаговой отладки алгоритма, но не поддерживал тестирование на исторических данных (бэктестинг).

В версиях QUIK выше 6.4.0 можно писать скрипты на Lua[13], потенциал которого выше, чем у Qpile.

Ряд отечественных разработок, в том числе TSLab и LiveTrade, облегчают задачу создания торгового робота для трейдера – не программиста. ТР строятся с помощью блок-схем на визуальном конструкторе.

6. ТЕСТИРОВАНИЕ

Тестирование и отладка робота не менее важные слагаемые успеха, чем написание грамотного скрипта.

Проверка и настройка алгоритма укрупнено включает три этапа:

1) Тестирование на исторических данных (бэктестинг).

2) Тестирование в режиме реального времени на демо-счете и виртуальных деньгах.

3) Прогон ТР на рабочем аккаунте на небольших суммах с временным интервалом от трех месяцев.

Бэктестинг первый и главный фильтр для созданной торговой системы. Если она не проходит корректную проверку на исторических данных, то не годится и для «боевой» обстановки. С другой стороны, позитив ТР на бэктестинге – необходимое, но (к сожалению) не достаточное условие приличных результатов «в реале».

Источник исторических сведений по тому или иному инструменту – профильные интернет-ресурсы. Например, сайт финансовой компании «Финам» позволяет делать экспорт по российским и американским акциям, облигациям, фьючерсам, мировым индексам, валютным парам и пр.

Вот как выглядит страница экспорта данных «Финам» по акциям Газпрома:

67 8 backtesting

источник – сайт компании «Финам»

Ключевой параметр для выгрузки исторических данных – их интервал и периодичность. Интервалы снятия информации должны соответствовать горизонтам инвестирования, под которые заточен испытуемый ТР. Стандартный – от 3 до 6 месяцев[14].

К итогам бэктестинга и отладке робота по их рекомендациям надо подходить осторожно.

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

Во-вторых, надо избегать соблазна «искусственных» настроек, выпадающих из общей архитектуры ТР, но максимально удовлетворяющих ретроспективному трейдингу. Подобные «штучные» надстройки вряд ли сработают в «бою».

Наконец, в-третьих, важна не только конечная положительная дельта на остаток торгового счета по прогоняемому «тайфрейму». На ситуацию с размером гарантийного депозита надо смотреть в динамике. Если буду просадки на 40, 50 и более процентов, с последующим восстановлением, то «по жизни», нервы трейдера вряд ли выдержат такие промежуточные потери. С другой стороны, максимальный размер убытков можно зашить в один из риск-параметров робота. Тогда волнений будет меньше, но и теоретически прибыльных торговых систем (ТС) тоже.

7. ТОРГОВЫЙ РОБОТ: ЗА И ПРОТИВ

Что предпочесть, «ручной» или роботизированный трейдинг, любой торговец решает лично. У каждого вида свои сторонники и противники, сильные и слабые черты.

Плюсы ТР.

1) Высокая производительность. При необходимости, круглосуточный режим работы и отсутствие эмоций.

2) Идеальная торговая дисциплина. Робот выполняет только то, что в него заложено. Не больше и не меньше. Здесь за рамки выводим самообучающиеся системы, нейронные сети и пр. элементы искусственного интеллекта в трейдинге.

3) Автономность в принятии торговых решений в рамках, заложенных регламентом ТС.

4) Большая скорость открытия и закрытия позиций. Для HFT торговый робот незаменим.

Минусы ТР.

1) Любую торговую систему надо сопровождать, доводить и дополнять, ввиду ее негибкости и не способности к самообучению. Вновь не рассматриваем умных и интеллектуальных роботов.

2) Подверженность техническим и программным сбоям, о которых владелец торгового робота может быть в неведении.

3) ТР способен среагировать на ложный рыночный сигнал, который опытный трейдер проигнорирует. С другой стороны, роботу «по силам проморгать» изменение рыночной фазы. Здесь тоже нужен присмотр торговца-человека.

4) Как отмечалось выше, «простой» робот не умеет непосредственно работать с фундаментальной информацией. Макроэкономические показатели, корпоративная отчетность, политические, метеорологические факторы и пр. По крайней мере, до оцифровки и ввода трейдером их «аналоговых» параметров в тело ТС. На это нужно время и немедленная реакция системы на «фундаментал» почти нереальна.

5) Хорошие роботы, позволяющие выигрывать на рынке – штучный товар. Они или крайне дороги (что тоже отнюдь не залог успеха), или должны разрабатываться исключительно их владельцем. Тогда трейдер должен быть вдобавок и программистом или нанимать IT-специалиста(ов). Крупные компании и банки так и поступают. Доступные ТР, предлагаемые «на каждом шагу» (сайте) дают одинаковые советы всем и обогнать кому-либо кого-либо с их применением будет трудно. Даже если советы толковые.

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

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

В любом случае, очевидно, что торговые роботы – неизменные атрибут «трейдингового» настоящего, а главное – будущего. Отменить их невозможно, как невозможно отменить научно-технический прогресс. А в такой области, как высокочастотный трейдинг, роботы критично необходимы.

Оптимальная функция ТР для массового трейдера – автоматический советник, эксперт, помощник при принятии инвестиционных решений. Для получения хороших, стабильных результатов ему все равно придется заниматься рынком, как бы скучно это не было. И заниматься глубоко.

В заключение, цитата от Джорджа Сороса: «Если инвестирование для вас развлечение, если вы при этом забавляетесь, то вы, вероятно, никаких денег не делаете. Эффективное инвестирование – занятие скучное».

Владимир Наливайский

ПРИМЕЧАНИЯ

  1. «Механическая торговая система», Википедия
  2. «The Alchemy of Finance», George Soros, 1988
  3. «Торговые роботы для форекс»
  4. «Алгоритмическая торговля», Википедия
  5. «Black box model», Investopedia
  6. «Высокочастотный трейдинг», Википедия
  7. «Algorithmic trading», Wikipedia
  8. «Нью-Йоркская фондовая биржа (NYSE): в фондовом эпицентре»
  9. «J (язык программирования)», Википедия
  10. «Биржевой софт: инструменты для создания торговых роботов»
  11. «Установка советников»
  12. «QUIK», Википедия
  13. «Lua», Википедия
  14. «Торговая история – разработка и тестирование», С. Станишевский

СПИСОК СОКРАЩЕНИЙ

МТС – механическая торговая система
АТС – автоматическая торговая система
ТС – торговая система
ТР – торговый робот
АТ – алгоритмический трейдинг
HFT – High-frequency trading, высокочастотный трейдинг
QUIK – Quickly Updatable Information Kit, торговая платформа