№ 3 (39) 2012
Е. А. Шумков, канд. техн. наук, доцент Кубанского государственного технологического университета, г. Краснодар
Структуры механических торговых систем
Конечный результат работы трейдера в современных условиях зависит не только от его профессионального уровня и опыта, но и от его оснащенности современными средствами поддержки, в число которых входят механические торговые системы.
Введение
Механическая торговая система (далее — МТС), которую также часто называют автотрейдером или торговым роботом, в настоящий момент очень популярная программная модель для работы на финансовых рынках через торговые терминалы. Под МТС будем понимать набор правил, однозначно определяющих моменты открытия и закрытия позиций, т. е. МТС задает правила входа в торговую позицию, выхода из нее, в случае как выигрывающей позиции, так и проигрывающей [5]. Потребность в МТС возникает в связи с высокой ценой ошибки работы человека на финансовых рынках. Такие ошибки могут возникнуть в связи с меньшей скоростью реакции на изменения рынка, чем необходимо, в связи с неопытностью и неподготовленностью трейдера, а также с изменением в поведении рынка, не наблюдавшимся ранее. Другой причиной интереса к МТС является снижение гонораров трейдеров, которые чрезвычайно высоки [9]. По некоторым данным, количество транзакций, совершаемых торговыми роботами в мире, превышает 70% их общего числа. Не отстает и Российская Федерация, в частности, на площадках ММВБ, например, в августе 2009 г. количество таких транзакций превышало 55% [4].
Классификация МТС
Существует несколько распространенных классификаций МТС. Можно выделить пассивные и активные МТС [5]: пер-
вые формируют хорошо диверсифицированный портфель, который удерживается в неизменном состоянии продолжительное время; вторые ориентированы на доход выше среднего и характеризуются большим количеством совершаемых торговых операций.
Также выделяют следующие «классические» типы МТС [5]:
1) системы следования за трендом;
2) противотрендовые системы;
3) системы распознавания моделей поведения рынка или системы, торгующие по паттернам1.
Исследователи отмечают, что самые распространенные — МТС первого типа, затем — МТС третьего типа и наименее распространенные МТС второго типа. Отметим, что недостаток МТС первого типа — плохая работа при затяжных боковых трендах. Недостатком МТС второго типа является то, что разворот тренда, противодействие которому лежит в основе принципа их работы, очень сложно предугадать. Один из вариантов построения таких систем основан на определении момента экстремального выброса, который используется далее для работы по принципу «скальпинга» — торговли на откате от выброса (обычно в треть высоты экстремального выброса). МТС третьего типа обычно использует фигуры технического анализа, например, «голова-плечи», «двойная вершина», «флаг», «вымпел» и т. д. [11]. Основываясь на собствен-
1 Их также часто называют модельными системами. — Прим. автора.
№ 3 (39) 2012
ном опыте и опыте разработчиков МТС интернет-сообщества, в вышеназванную категорию включим также МТС прорыва линий поддержки-сопротивления и МТС на базе технических индикаторов, если индикаторы не описываются моделями первых трех типов МТС.
МТС можно также классифицировать по типу математической модели, лежащей в ее основе. Наиболее популярными математическими моделями являются:
• технические индикаторы;
• методы математической статистики;
• нейронные сети;
• модели, основанные на теории хаоса (в том числе фракталы);
• спектральный анализ;
• фильтры Калмана и т. д.
Указаны только те математические модели, с которыми довелось знакомиться автору. Однако список применяемых методов весьма широк, например, в последнее время стали использоваться методы теории перколяции. Методы также можно сгруппировать по разделам науки: математическая статистика, теория сигналов и оценивание, методы искусственного интеллекта и т. д.
Все названные типы МТС используются, в основном, обычными трейдерами. В банковской сфере применяются другие типы МТС. По понятным причинам их структура и используемые в них методы являются коммерческой тайной, поэтому приведем те, которые часто упоминаются в открытой печати. Это, прежде всего, арбитражный тип § МТС, VWAP-алгоритмы и высокочастотные g системы торговли (high frequency trading sys-^ tems).
| Арбитражная МТС отслеживает финансовые инструменты между несколькими свя-£ занными рынками, например, между рынка-<S ми фьючерсов на индексы и cash-рынком
is символов, входящих в этот индекс [9]. %
g VWAP-алгоритм (VWAP — value-weighed
J average price) применяется для торговли ор-
|| дерами на покупку/продажу большого ко-
se, личества акций определенного символа.
¿3 Подобные ордера нельзя посылать на ры-
нок как есть, поскольку появление ордера с большим объемом обычно вызывает существенное движение цены рынка в сторону от цены ордера (большой ордер на покупку вызовет существенное повышение цены на рынке и наоборот). Согласно типичной реализации VWAP-алгоритма ордер разбивается на несколько маленьких и посылается на рынок через некоторые промежутки времени [9].
МТС должна выдавать информацию следующего характера [5]:
• когда, как и по какой цене входить в рынок;
• когда, как и по какой цене выходить из рынка с убытком;
• когда, как и по какой цене выходить из рынка с прибылью.
К тому же сигнал должен быть величиной либо детерминированной, либо случайной, но с известными вероятностными характеристиками. Вход и выход МТС в рынок могут выполняться со стоп-ордеров. При этом МТС должна выйти из рынка в случае ее нахождения в проигрышной позиции до того, как игроку будет нанесен серьезный ущерб.
Отметим, что правила открытия и закрытия позиций обычно формируются на основе исторической информации, что не гарантирует успешную работу МТС на их базе в будущем.
Управление в МТС заключается в отправке ордера на рынок, изменении параметров ордера, а также отмене ордера. Ордера также могут быть стоп-приказами.
Модель среды, в которой работают МТС, является стохастической. Современная МТС должна уметь подстраиваться под изменение внешней среды, при этом адаптация должна происходить в режиме реального времени.
Разработка МТС обычно содержит следующие этапы [6]: выделение характерных признаков и гипотез о моментах совершения операций купли — продажи, построение торговой стратегии, формализация торговой стратегии и ее программная реа-
№ 3 (39) 2012
лизация, тестирование на исторических данных, тестирование в режиме реального времени.
Программно-аппаратная реализация МТС
Программно-аппаратная реализация МТС зависит от многих факторов, но прежде всего от возможностей трейдера и выбранной рыночной площадки. Определяющим фактором может служить будущий пользователь МТС: если последняя создается для индивидуального игрока, то применяется более простая схема, если для брокерской компании, то более сложная. Наиболее распространена программно-аппаратная схема реализации: цепочка «ДЦ (дистрибьюторский центр) — канал связи — торговый терминал». В Российской Федерации пользуются популярностью торговые терминалы Metatrader V. 4 (для валютного рынка) и пакет Quik (для фондового рынка).
В Metatrader встроен удобный С-подоб-ный язык программирования MQL4, а в Quik встроен не очень удобный язык программирования QPILE. При этом в Metatrader для каждой пары валют практически доступны лишь пять параметров: цена открытия, наименьшая цена, наивысшая цена, цена за-
крытия интервалов и показатель Volume — частота изменения цены в единицу времени. В то же время в Quik есть абсолютно вся информация о текущем состоянии (и истории) дел на фондовой площадке по каждому финансовому инструменту, в частности виден «стакан» котировок. Поэтому обычно в Metatrader МТС реализуется внутри торгового терминала в виде так называемого «Советника». При использовании терминала Quik часто применяют такую схему: при необходимости данные в режиме реального времени выгружаются через DDE в MS Excel, где они анализируются, и результаты в виде принятого решения (совершать операцию или нет) и параметров операции передаются в МТС, которая находится внутри Quik (в так называемый «портфель»).
В случае Metatrader и Quik опытными игроками часто используются информационно-аналитические приложения сторонних производителей, например, MetaStock, AmiBroker, Wealth-Lab и др. Также отметим высокую популярность пакетов Matlab и MathCad для анализа данных. На практике крупные банки довольно часто предлагают свои терминалы. На рисунке 1 показана общая схема реализации современной МТС [7].
На рисунке 2 показана классическая МТС, которая состоит из системы прогнози-
Рис. 1. Общая схема МТС: OLAP — On-Line Analytical Processing (система аналитической отчетности в режиме реального времени), OLAM — On-Line Analytical Mining (система интеллектуального анализа данных в режиме реального времени)
7
№ 3 (39) 2012
Рис. 2. Классическая МТС
рования, правил торговли и блока расчета показателей (включающих в общем случае показатель Прибыль/Убыток). В данной схеме разработчик жестко задает метод прогнозирования и правила торговли, при этом схема может не использовать блок метода прогнозирования, если блок правил торговли реализуется на базе одного или нескольких технических индикаторов.
Поясним общий принцип реализации МТС на базе технического индикатора. В качестве технического индикатора выберем популярный индикатор MACD-Moving Average Convergence/Divergence (Схождение/ Расхождение Скользящих Средних), который показан на рис. 3. Данный индикатор строится как разность между двумя экспоненциальными скользящими средними,
§ е
Si
U
СО
! §
is =§
Si
Рис. 3. Ряд котировок (вверху) и технический индикатор MACD (внизу)
8
№ 3 (39) 2012
обычно с периодами 12 и 26. Для обозначения благоприятных моментов для покупки и продажи на график MACD наносится так называемая сигнальная линия — скользящее среднее самого индикатора с периодом 9. MACD наиболее эффективен в случае, когда рынок имеет большую амплитуду колебаний.
Основное правило торговли с помощью MACD основано на пересечении индикатора со своей сигнальной линией. Если основная линия опускается ниже сигнальной, следует продавать, если поднимается выше — покупать. Также можно использовать моменты пересечения основной линии с осью абсцисс. Таким образом, простейшая МТС на базе индикатора MACD будет работать по следующим правилам:
Если MACD (t) > Signal (t) И MACD (t) >
Signal (t-1) То ПОКУПАТЬ
Если MACD (t) < Signal (t) И MACD (t)
< Signal (t-1) То ПРОДАВАТЬ
Если ОТКРЫТА_КОРОТКАЯ_ПОЗИЦИЯ
И MACD (t) > Signal (t) То ЗАКРЫТЬ_
КОРОТКУЮ_ПОЗИЦИЮ
Если ОТКРЫТА_ДЛИННАЯ_ПОЗИЦИЯ
И MACD (t) < Signal (t) То ЗАКРЫТЬ_
ДЛИННУЮ_ПОЗИЦИЮ
Однако в таком виде МТС, скорее всего, не будет прибыльной. Согласно [12] эталонные, «учебные» параметры скользящих средних индикатора MACD не работают, и параметры скользящих средних нужно
подбирать под конкретный финансовый ин- | струмент. Кроме того, необходимо, чтобы Ц МТС на индикаторе MACD работала тогда, < когда на рынке будут наблюдаться значи- ^ тельные колебания, иначе MACD сгенерирует большое количество ложных сигналов на операции. И еще один момент — следует найти ту величину зазора между сигнальной и основной линией, которая будет свидетельствовать, что данное расположение линий просуществует достаточно долго.
В работе [1] рассмотрено следующее поколение МТС — интеллектуальные МТС с использованием обучения с подкреплением. Принцип их построения показан на рис. 4.
При этом обучение с подкреплением может реализовываться различными способами, например, с помощью сетей адаптивной критики, Q — обучения, нейро-нечетких архитектур и т. д. Основной принцип обучения с подкреплением — это обучение через поощрение и наказание, т. е. если агент (МТС) повышает в ходе работы значение подкрепления, то его действия поощряются, если транзакции агента снижают подкрепление, то система пытается найти такие действия, которые начнут повышать подкрепление. Под подкреплением в данном случае можно понимать величину отношения Прибыль/Убыток за определенный временной интервал.
Недостатком рассмотренных МТС является то, что они работают только по жестко заданному алгоритму, при этом МТС с обучением с подкреплением хоть и имеет возмож-
X (f+1)
Временной ряд WO, X(f-1),..) -> Правила торговли Обучение с подкреплением Прибыль/ Убытки
Транзакции / Портфель инвестиций
Стоимость транзакций
Рис. 4. МТС, использующая обучение с подкреплением
9
№ 3 (39) 2012
ность адаптироваться к изменениям рынка и самонастраиваться, но все же делает это в ограниченных пределах. Кроме того, данные системы работают, по сути, только с самими временными рядами2, но поток информации на фондовом и валютном рынках не ограничивается только котировками финансовых инструментов. Существуют также экономические, политические, военные и другие события. Например, высказывания глав национальных банков крупных стран мира, высказывания политических лидеров, макроэкономические индикаторы, процентные ставки центральных банков и др. При этом многие из таких событий не могут быть охарактеризованы значением какого-либо количественного параметра. Также необходимо учитывать поведение фьючерсных, опционных и других смежных рынков. Например, последний финансовый кризис характеризовался следующими явлениями: фондовые биржи часто останавливали торги из-за катастрофического падения цен на акции; трейдеры не могли осуществлять продажи фьючерсов и опционов из-за отсутствия контрагентов; федеральные службы, контролирующие фондовые рынки, временно вводили запреты на открытие коротких позиций, и т. д. [6].
Расширенная модель МТС
Предложим расширенную модель МТС (показана на рис. 5), которая способна максимально возможно отслеживать изменения рынка. Она использует несколько математи-§ ческих моделей и обладает возможностью § адаптации к изменениям рынка. ^ Введем понятие рабочая котировка, озна-| чающее тот финансовый инструмент, на котором МТС совершает торговые операции. ^ Предлагаемая модель МТС состоит из сле-<5 дующих компонент:
| • блок отслеживания экономических и политических новостей (БОЭПН);
2 Сторонники технического анализа считают, что всю необходимую информацию несет в себе сам вре-со менной ряд. — Прим. автора.
• блок отслеживания уровней стоп-сигналов (БОУСС);
• блок расчета скорости изменения котировок (БРСИК);
• блок правил торговли (БПТ);
• блок корректировки правил торговли (БКПТ);
• блок прогнозирования (БП);
• блок корректировки метода прогнозирования (БКМП);
• блок расчета уровней стоп-сигналов (БРУСС);
• блок инструмента анализа временного ряда (БИАВР);
• блок корректировки инструмента анализа временного ряда (БКИАВР).
Назначение введенных блоков следующее. БОЭПН предназначен для сбора и анализа политических и экономических событий и должен содержать как модуль сбора информации из интернет-пространства, так и модуль анализа собранных сведений о событиях. Под событием может пониматься как высказывание политического лидера или крупного экономического специалиста, так и публикация сведений о макроэкономических показателях государства (ВВП, уровень безработицы, инфляция и т. д.) [8]. Основная задача БОЭПН — дать упреждающий сигнал БПТ МТС о предстоящем важном событии, которое может серьезно повлиять на изменение курса рабочей котировки. При этом сектор торговли должен принять решение о том, как использовать информацию от БОЭПН, например, оперативно закрыть позицию или, наоборот, открыть.
Блок БОУСС предназначен для отслеживания уровней выставления стоп-сигналов в торговом терминале, в связи с тем, что перед выходом важных новостей он обычно значительно увеличивается. Данное отслеживание, с одной стороны, дублирует информацию от БОЭПН, с другой — непосредственно влияет на создание новых торговых приказов или на изменение уже открытых.
Блок БРСИК необходим для того, что в режиме реального времени отследить динамику изменения временного ряда и в опе-
№ 3 (39) 2012
Рис. 5. Расширенная модель МТС: ТО — торговая операция, P/L — отношение прибыли к убыткам
режающем режиме среагировать на его катастрофическое изменение, несмотря на выставленные стоп-приказы, в случае выгодного изменения котировки отодвинуть стоп-приказ (если не используется трейл-линг-стоп) или наоборот закрыть позицию до достижения уровня выставленного стоп-сигнала, если изменение котировки происходит в невыгодном направлении. При этом данный блок должен отслеживать ситуацию на нескольких таймфреймах. В качестве расчетного алгоритма в БРСИК необходимо использовать скоростные опережающие индикаторы или мало запаздывающие, например предлагаемые компанией Jurik Research3.
Блок БП предназначен для прогнозирования изменения временного ряда, в качестве инструмента прогнозирования может выступать, например, фильтр Калмана, регрессионная модель, нейронная сеть и т. д. Здесь важно проводить прогнозирование на нескольких таймфреймах. В БП можно использовать конгломерат методов прогнозирования с последующей обработкой прогнозных значений. При этом БП может входить непосредственно в БИАВР.
Блок БКМП необходим для корректировки параметров метода прогнозирования
3 URL: http://www.jurikres.com.
в случае неудовлетворительной точности прогнозирования.
Блок БПТ содержит набор правил торговли, т. е. определения выполняемой операции в зависимости от выбранных показателей анализа временного ряда.
Блок БКПТ предназначен для корректировки набора правил торговли в БПТ, реализуя, по сути, отрицательную обратную связь.
Блок БРУСС предназначен для расчета уровней стоп-приказов при открытии торговой позиции.
Блок БИАВР — один из главных блоков предлагаемой МТС, который является основным источником сигнала для открытия или закрытия торговой позиции. Классически он может реализовываться на основе как одного или нескольких технических индикаторов, так и других математических моделей, например, нейросетевой.
Блок БКИАВР предназначен для корректировки инструмента анализа временного ряда. Например, в случае нейронных сетей блок обеспечивает поиск значащих входов, перебирает количество скрытых слоев, нейронов в слоях и т. д. [7, 10].
Обратим внимание на несколько введенных обратных связей, за счет которых и происходит адаптация МТС к меняющимся условиям окружающей среды. При этом обрат-
№ 3 (39) 2012
ные связи можно реализовывать на принципах обучения с подкреплением. В схеме отсутствуют несколько важных компонент, например, канал связи, база данных, блок тестирования и некоторые другие. Моделирование портфеля инвестиций также остается за рамками рассмотрения настоящей работы. Предложенную схему можно как минимизировать, так и наращивать.
Предлагаемая модель будет неполной без показателей качества работы системы. Существует большое количество показателей МТС [5, 6], в частности, отношение прибыли к убыткам (Profit/Loss), общая прибыль, общий убыток, математическое ожидание выигрыша, максимальная просадка, относительная просадка, процент выигравших ко-
ротких позиции, процент выигравших длинных позиций4 и т. д. Для систем, обучающихся с подкреплением, целесообразно вводить критерий качества работы на основе подкрепления, или коэффициент эффективности, согласно его определению в работах [1, 2, 3, 10]. В работах [9, 10] предложен коэффициент эффективности для подобной системы. Поскольку для систем с подкреплением обычно вводится свой коэффициент, предложим следующее определение коэффициента:
P! - Г1
О REAL ^ R =—pi-
MAX
(1)
где Я, — подкрепление на /-й итерации управления, Р^ — реально полученная прибыль
§
Й
ё и
СО
! §
is =§
Si
Рис. 6. Блок отслеживания экономических и политических новостей
Короткая позиция — это операция продажи, длинная позиция — операция покупки. — Прим. автора.
12
4
№ 3 (39) 2012
на '¡-й итерации управления (может быть отрицательная), С' — затраты на ¡-й итерации управления (комиссия ДЦ, комиссия системы и т. д.), Р^АХ — максимально возможная прибыль, которую можно было бы получить на ¡-й итерации управления (рассчитывается после завершения ¡-й итерации). При классическом подходе для систем, обучающихся с подкреплением, можно потребовать, чтобы подкрепление с течением времени не убывало [3].
Покажем, как можно реализовать некоторые модули предлагаемой МТС. На рисунке 6 изображена возможная реализация БОЭПН согласно [7, 8]. Блок отслеживания экономических и политических новостей состоит из трех контуров. Первый контур представляет собой RSS-каналы, которые очень удобны для обработки. Через этот контур поступают сведения о всевозможных событиях, представленные как числовыми, так и тестовыми данными. Второй
контур предназначен для загрузки данных из структурированных источников информации, обычно это макроэкономические показатели и финансовая отчетность компаний. Третий контур, Web-mining, предназначен для самостоятельного поиска необходимой информации в сети Интернет.
Предложим, как можно реализовать блок прогнозирования с помощью нейронной сети и блок корректировки метода прогнозирования. Для его реализации выберем ней-росетевую топологию «Внутренний учитель» [10], которая использует принципы обучения с подкреплением. При выбранном способе реализации как прогнозирующая нейронная сеть, так и БКМП будут работать как единое целое, по сути, как один модуль [14], который будет выглядеть, как показано на рис. 7.
Данный модуль работает по алгоритму: решатель делает прогноз на следующую итерацию времени, который отрабатывается последующими модулями системы. По-
Рис. 7. БП и БКМП на базе топологии «Внутренний учитель»: АП — адаптационный параметр, им может быть, например, размер обучающей выборки; КЭ — коэффициент эффективности данного модуля, им может быть, например, отношение точности прогнозирования к времени поиска адекватной прогнозирующей нейросетевой модели [10]; К А) — курс котировки в момент времени ^ БКЭ — блок коэффициента эффективности
13
№ 3 (39) 2012
сле наступления следующего момента БКЭ вычисляет коэффициент эффективности, подает его на Учителя (это тоже нейронная сеть), который принимает решение о том, в какую сторону изменить адаптационный параметр (параметров может быть несколько). Если адаптационный параметр изменяется, то нейронная сеть решателя переобучается. Далее цикл повторяется. Более подробно нейросетевая топология «Внутренний учитель» описана в [10].
Внутренняя структура остальных модулей не приводится, поскольку их конкретная реализация зависит от выбранного рынка, торговой системы, «вкусов» и возможностей трейдера и многих других факторов. Основным является требование придерживаться каркаса предложенной системы.
Заключение
В работе предложена структура современной МТС, способной учитывать как характеристики самого временного ряда, так и различные факторы фундаментального анализа, а также адаптироваться под изменения рынка за счет нескольких обратных связей. При современном развитии технологии и влиянии качества технологических решений на положение компании на рынке владение подобными системами может стать ключевым фактором успешного роста, а также закрепления компании на рынке ценных бумаг.
s Список литературы
К
g 1. Moody J., Saffell M., Liao Y, Wu L. Reinforcement £ learning for trading systems and portfolios: Immedi-jo ate vs future rewards. In A. N. Refens, N. Burges &
J. Moody, eds, «Decision Technologies for Financial
ч Engineering». Kluwert, Netherlands. 1998. s
<S 2. Moody J., Wu L. Optimization of trading systems
is and portfolios. In Y. Abu-Mostafa, A. N. Refenes & %
^ A. Weigend, eds, «Decision technologies for finan-
2 cial engineering», World Scentific, London. 1997.
j| Р. 23-25. С
•E, 3. Sutton R, Barto A. Reinforcement Learning: An In-
¿3 troduction. Cambridge: MIT Press, 1998. — 432 p.
4. Байцур Г. Гиперактивные торговые автоматы на рынках группы ММВБ — анализ влияния на общую активность торгов и технические риски участников // Биржевые технологии. 2009. № 9.
5. Булашев С. В. Статистика для трейдеров. М.: Компания Спутник+, 2003.
6. Емельянова Э. С. Методы и инструментальные средства поддержки принятия решений на фондовом рынке. Автореферат дисс. ... канд. экон. наук. М.: РЭА им. Г. В. Плеханова, 2010. — 22 с.
7. Карлов Д. Н. Система поддержки принятия решений аналитика. Автореферат дисс. . канд. наук. Краснодар: КубГТУ, 2011. — 23 с.
8. Карлов Д. Н, Шумков Е. А. Автоматическая система отслеживания политических и экономических новостей. XXV Международная научно-техническая конференция (летняя сессия) «Математические методы и информационные технологии в экономике, социологии и образовании». Пенза, 2010.
9. Стасевич В. П., Шумков Е. А, Зуева В. Н. Построение адаптивных АБС с применением обучения самообучению // Известия вузов. Северо-Кавказский регион. Технические науки. 2006. № 2.
10. Шумков Е. А. Система поддержки принятия решений предприятия на основе нейросетевых технологий. Автореферат дисс. . канд. техн. наук. Краснодар: КубГТУ, 2004. — 158 с.
11. Шумков Е. А., Ботин В. А., Карлов Д. Н. Распознавание фигур технического анализа с помощью нейронных сетей // Политематический научный журнал КубГАУ [Электронный ресурс]. Краснодар: КубГАУ, 2011. № 65.
12. Шумков Е. А, Ботин В. А. Исследование технического индикатора MACD // Политематический сетевой электронный научный журнал КубГАУ. № 10. 2010.
13. Шумков Е. А., Карлов Д. Н. Автоматическая система отслеживания политических и экономических новостей / XXV Международная научно-техническая конференция (летняя сессия) «Математические методы и информационные технологии в экономике, социологии и образовании». Пенза, 2010.
14. Шумкова О. А, Карлов Д. Н, Шумков Е. А. Многоконтурная система анализа финансового рынка // Труды Кубанского аграрного университета. 2010. № 4 (25).