d9e5a92d

Яшин С. - Базовые принципы создания торговых автоматов

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

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

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

У компьютерной программы отсутствуют эмоции, присущие человеку, а значит, принятое программой решение является верным в рамках заданного алгоритма, созданного человеком. Каковы же основные принципы создания торговых автоматов?
Сначала - о торговых платформах
Торговая платформа - это программа, с помощью которой фейдер (или брокер) заключает сделки на бирже. На российском фондовом рынке наибольшее распространение среди трейдеров получили такие платформы, как Transaq-Trader, Netinvestor, QUIK.

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

Далее платформа сообщает о результате выставленного ордера в другой файл, содержащий сведения о том, выполнен или нет запрос на выставление ордера.
К недостаткам данной торговой платформы следует отнести отсутствие автоматического экспорта таблиц в базу данных или в отдельный файл. Экспорт данных рассчитан для использования в программах технического анализа типа
Omega Trade Station или MetaStock. Отсюда понятно, что строить систему автоматической торговли на плаі фирме TratlSaqTrader Не Имееі смысла потому, что торговый автомат не видит, сколько совершено сделок по выставленной заявке, и исполнена ли она вообще.
Платформа Netinvestor дает возможность автоматически выставить ордер посредством API (Application Programming Interface) Netinvestor, являющегося ActiveX компонентом. ATI Netinvestor подключается внешней программой и включает в себя все необходимые функции для ведения автоматической торговли.

Недостатком торговой платформы Netinvestor является скудное описание самого API Netinvestor. Сам API Netinvestor требует доработок в области вывода ошибок исполнения процедур, приводящих к остановке процесса работы программного решения, использующего API.
Еще одним недостатком платформы Netinvestor является вывод информации из таблиц посредством Excel. Такое решение существенно ограничивает торговый автомат в области надежности и безопасности, потому что Excel -
СХЕМА ВЗАИМОДЕЙСТВИЯ ЛОГИЧЕСКИХ ЧАСТЕЙ ТОРГОВОГО АВТОМАТА С ПЛАТФОРМОЙ QUIK



это не база данных, а значит, торговый автомат, построенный на таком решении, заведомо подвержен множеству программных рисков.
Платформа QUIK (Quickly Updatable Information Kit) позволяет автоматически выставлять ордера трейдера посредством записи каждого ордера в определенный файл. Этот файл содержит текст, каждая строка которого представляет собой требования к торговой платформе о выставлении ордера.

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

Экспорт биржевых котировок происходит непосредствен но через ODBC (Open Data Base Connectivity), что позволяет передавать их в любую из баз данных, поддерживающих интерфейс ODBC. А такой интерфейс поддерживают все распространенные базы данных, включая и свободные (базы данных с открытым кодом, которые пользователь может свободно запускать, модифицировать и распространять).

Экс-порт любой таблицы с результатами торговых операций происходит через ODBC.
Немного слов об интерфейсе ODBC Программе все равно, какая база данных за ней закреплена, это могут быть MySQL (свободная система управления базами данных), Oracle (реляционная система управления базами данных) или Microsoft Access (реляционная СУБД от корпорации Microsoft) -значения не имеет. При этом физическое расположение самой базы также не имеет значения, может использоваться как удаленная, так и локальная, в отличие от экспорта таблиц в Excel, который использует платформа Nerinvestor.



При создании торгового автомата преимущества экспорта данных через ODBC неоспоримы перед любыми другими. Следовательно, платформа QUIK Наиболее приспособлена к автоматической торговле, т.к. включает в себя все необходимые функции для любых внешних программных решений.
Делая вывод по торговым платформам, можно сказать, что TransaqTrader мало пригодна в качестве основы для создания торгового автомата. Причина проста: торговый автомат, выставив ордер на рынок и получив его номер, не может ЗНагЬ, Исполнился ЛИ ордер (часгично/полностью), и сколько сделок по нему было совершено.

Платформа Netinvestor вполне применима для создания торгового автомата. Но из-за того, что в качестве базы для хранения данных в ней используется Excel, надеж ность работы торгового автомата уменьшается в несколько раз.

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

Разработка торгового автомата


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

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

Разработчики дали возможность экспортировать данные в сторонние, более совершенные программные решения технического анализа, такие, например, как Omega Trade Station или MetaStock. В результате складывался некий стереотип использования программ теханализа для построения торговых автоматов. Например, на основе программы технического анализа Omega Trade Station появилась возможность создания автомата любой сложности.

Именно здесь была заложена ошибка стереотипа.
Торговые автоматы, построенные на базе программ технического анализа, имеют строго ограниченное, персональное применение. Программные решения в области теханализа созданы для проведения визуальной аналитики рынка В такие программы вложены все возможные средства, необходимые трейдерам для анализа.
По мере роста популяризации этих программ росли и требования к их возможностям. У трейдеров появлялись навыки создания собст-
Торговый автомат - это программный комплекс, в который заложен алгоритм совершения операций на рынке ценных бумаг.
венных программных решений. В связи с этим в программах теханализа (типа Omega Trade Station или MetaStock) появились встроенные средства разработки, которые сегодня позволяют не только создавать собственные программы анализа рынка, но и частично или полностью автоматизировать процесс торговли,
Трейдер, управляющий одним активом, может полностью автоматизировать свой процесс, используя подобные программы теханализа. Такой автомат будет успешно торговать на рынке ценных бумаг.

Но при увеличении активов для управления происходит следующее.
Каждый отдельно взятый актив имеет свой портфель, свои риски, свою торговую систему, направленную на эффективное управление соответствующим размером актива Трейдер начинает заниматься адаптацией своих торговых систем к определенной программе техана лиэа, разрабатывая дополнительные модули и вводя изменения в торговый автомат, построенный на базе такой программы.
ПОСТОЯННО адаптировать свою торговую систему под программу теханализа, что приводит к появлению всевозможных ошибок, не соответствующих алгоритму трейдера. Адаптация торговой системы под программу технического анализа увеличивает риск ошибочной реакции торгового автомата, а значит, увеличивается риск появления сделок, не соответствующих торговой системе трейдера.
Подобные сделки, совершенные автоматом, вряд ли будут направлены на получение прибыли. Далеко не каждый трейдер является специалистом по техническим вопросам в области разработки проб? граммного обеспечения, что, несомненно, еще больше снижает надежность и доверие к созданному им торговому автомату.

Теряется сама целесообразность построения торгового автомата.
При управлении большим количеством активов программу тех-аналиэа целесообразно использовать только для тестирования и проверки эффективности торговой системы. После тестирования решать эту задачу необходимо с помощью отдельного программного решения, никак не связанного с программами типа Omega Trade Station или MetaStock.

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

Только при таком подходе полностью исчезает риск принятия автоматом торгового решения, не соответствующего Заданному алгоритму.

Структура торгового автомата


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

Логические составляющие торгового автомата


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

Второй логической частью автомата является программа подачи котировок в алгоритм торговой системы, которая выставляет ордера на биржу.
Третья логическая часть торгового автомата - программа оповещения о возникновении ошибок и их обработки. Эго может быть оповещение через мобильную связь с помощью коротких сообщений SMS и tjl Под ошибками понимаются ситуации, при которых торговая система не может ВЫсіаВИіЬ іребуемый торговой системой ордер на биржу. Например, отключены Интернет или электроэнергия, питающая компьютер, на котором функционирует торговый автомат и т.п.

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

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



Содержание раздела