Регистрация

X
Имя:
E-mail:
Пароль:
Пароль еще раз:
* Символы введены неправильно.

Вход

X
E-mail:
Пароль:

Заказать звонок

X
Номер телефона

Например, +74952837813 или +79122456789

Имя

   

Базовые принципы создания торговых роботов

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

Сначала – о торговых платформах

Торговая платформа – это программа, с помощью которой трейдер (или брокер) заключает сделки на бирже. На российском фондовом рынке наибольшее распространение среди трейдеров получили такие платформы, как TransaqTrader, Netinvestor, QUIK и много других. Эти торговые платформы дают возможность трейдеру автоматически выставлять заявки на биржу с помощью внешних программных решений. Внешнее программное решение – это программа, заключающая сделки на бирже без участия трейдера. На наш взгляд самая удобная платформа для создания торговых роботов – это QUIK (Quickly Updatable Information Kit). Немного расскажу о структуре и возможностях этой платформы. QUIK позволяет автоматически выставлять ордера трейдера посредством записи каждого ордера в определенный файл. Этот файл содержит текст, каждая строка которого представляет собой требования к торговой платформе о выставлении ордера. Далее платформа сообщает о результате выставленного ордера в другой файл, содержащий сведения о том, выполнен или нет запрос на выставление ордера.

В торговой платформе QUIK применяется наиболее последовательный подход к автоматической торговле. Заключается он в следующем. Экспорт биржевых котировок происходит непосредственно через ODBC (Open Data Base Connectivity), что позволяет передавать их в любую из баз данных, поддерживающих интерфейс ODBC. А такой интерфейс поддерживают все распространенные базы данных, включая и «свободные» (базы данных с открытым кодом, которые пользователь может свободно запускать, модифицировать и распространять). Экспорт любой таблицы с результатами торговых операций происходит через ODBC. Немного слов об интерфейсе ODBC. Программе все равно, какая база данных за ней закреплена, это могут быть MySQL (свободная система управления базами данных), Oracle (реляционная система управления базами данных) или Microsoft Access (реляционная СУБД от корпорации Microsoft) – значения не имеет. При этом физическое расположение самой базы также не имеет значения, может использоваться как удаленная, так и локальная.При создании торгового автомата преимущества экспорта данных через ODBC неоспоримы перед любыми другими. Следовательно, платформа QUIK наиболее приспособлена к автоматической торговле, т.к. включает в себя все необходимые функции для любых внешних программных решений. Платформа QUIK дает программисту все необходимые возможности для построения максимально надежного торгового автомата.

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

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

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

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

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

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

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

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

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

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

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

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

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

Статья подготовлена с использование материалов Сергея Яшина опубликованных на сайте журнала "Валютный Спекулянт"

 

May 14, 2012

Нравится

Мы рекомендуем

  • Разработка торгового робота
  • Торговый робот Tradematic
  • Заказать торговый робот Quik
  • Копировщик сделок
  • Торговый робот - Сетка ордеров

Комментировать