Научная статья на тему 'АВТОМАТИЗИРОВАННАЯ ТОРГОВАЯ СИСТЕМА "СКАЛЬПЕР"'

АВТОМАТИЗИРОВАННАЯ ТОРГОВАЯ СИСТЕМА "СКАЛЬПЕР" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
373
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АВТОМАТИЗИРОВАННАЯ ТОРГОВАЯ СИСТЕМА "СКАЛЬПЕР"»

Раздел III

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ

ОБРАБОТКИ ДАННЫХ И УПРАВЛЕНИЯ

Е.А. Ремер, Ф. Ф. Иванов АВТОМАТИЗИРОВАННАЯ ТОРГОВАЯ СИСТЕМА «СКАЛЬПЕР»

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

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

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

Программа QUIK - самая первая из современных программ, используемых для непосредственной работы на бирже. Она является одной из наиболее широко применяемых биржевых программ. Посредством этой программы трейдер получает он-лайн доступ к биржевой торговле и может сам принимать в ней активное участие. Сигналом на покупку или продажу ценной бумаги является резкое увеличение движения в таблице котировок (биржевой стакан).

Интернет-трейдинг

Основными задачами трейдера являются:

- оперативная оценка ситуации на фондовом рынке;

- выставление заявок на куплю/продажу;

- своевременный выход из убыточных позиций.

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

В бытовом понимании фондовый рынок -это место, где происходит торговля ценными бумагами. С развитием интернета доступ к торговле на фондовом рынке получили практически все

желающие. Достаточно открыть брокерский счет у российской или иностранной брокерской компании, перечислить на него желаемую сумму денег, установить программу QUIK или подобную на компьютер и можно приступать к торгам на фондовом рынке. Интернет-трейдинг - это торговля акциями через интернет. Устройство системы интернет-трейдинга QUIK приведено на рис. 1. Центральным звеном системы является сервер QUIK. Сервер подключен к торговым системам бирж через специальные «шлюзы», передающие серверу информацию о торгах, средствах брокера на бирже и принимающие поручения на покупку/продажу. Сервер осуществляет сбор информации с торговых систем и ее трансляцию всем активным (подключенным) клиентам с минимально возможной задержкой.

Рис. 1. Структура интернет-трейдинга

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

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

Описание программного комплекса QUIK Для того чтобы работа трейдера была максимально удобной и простой, компанией «СМВБ-ИТ» разработано специализированное программное обеспечение - быстро обновляемая информационная панель QUIK (от английского Quickly Up-datable Information Kit). Рабочее место QUIK -

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

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

Ниже приведен интерфейс рабочего места QUIK (рис. 2).

В функции QUIK входят следующие операции:

- свободный скоростной доступ к фондовым рынкам;

- возможность получать информацию о ситуации на бирже в реальном времени, не покидая своего рабочего места;

- возможность обмениваться сообщениями с другими участниками финансового процесса, отправлять и получать заявки и извещения о ходе торгов;

- возможность маржинального кредитования, контроль над этим процессом;

- возможность подавать заявки разного уровня;

- автоматизация операций, которые выполняются на рынке;

- возможность поддерживать торговые отношения помимо биржевого рынка;

Рис. 2. Рабочее окно системы QUIK

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

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

- удобная система отображения процесса торгов, которая поможет разобраться с тонкостями рыночной ситуации без проблем;

- возможность экспортировать информацию в другие базы данных;

- автоматическое обновление программы и возможность получать рассылку с новостями.

Виды заявок в QUIK

Заявки (транзакции) в программе QUIK бывают трех видов: рыночные, лимитированные и условные, так называемые стоп-заявки. Рыночная от лимитированной отличается тем, что рыночная заявка исполняется по рыночной цене, а лимитированная, соответственно, по конкретно заданной цене.

Особое внимание стоит уделить стоп-заявкам. Условные заявки можно разделить на три вида: 1) "stop-loss", 2) "take-profit", 3) связанная условная заявка. "Stop-loss" - это заявка, которая ограничивает убытки. Необходимость в условной заявке возникает при выставлении ордеров "stop-lose" (стопов). Другими словами, условная заявка выставляется в случае, если трейдер желает купить выше существующей рыночной цены (например, в случае закрытия короткой позиции по стопу) или продать ниже рынка (например, в случае закрытия длинной позиции по стопу). Целью выставления условной заявки является ее исполнение только по достижению рынком заданного уровня. "Take-profit" - это заявка с условием вида «исполнить при ухудшении цены на заданную величину от достигнутого максимума (на продажу) или минимума (на покупку)». Заявка работает следующим образом (пример для заявки на продажу): после достижения ценой последней сделки условия стоп-цены начинается определение максимума цены последней сделки. Если цена последней сделки снижается от максимума на величину, превышающую установленный «отступ», то создается лимитированная заявка с ценой, меньшей цены последней сделки на величину «защитного спрэда» (разница между лучшими ценами покупки и продажи в один и тот же момент времени). Величины «отступа» и «защитного спрэда» могут указываться как в значениях цены, так и в процентах. Назначение: закрытие позиции по инструменту с максимальной прибылью.

Технический анализ

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

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

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

Объем (Volume) - это количество акций, которые покупаются и продаются в течение определенного промежутка времени (например, за час или за день). Данный показатель считается важным, так как он демонстрирует, насколько активной была акция в течение определенного времени, что может отразиться на ее цене.

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

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

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

Эта стратегия имеет ряд следующих преимуществ:

- эффективное использование капитала с минимальным риском на сделку;

- высокая прибыльность;

- независимость от фундаментальных событий.

Основными недостатками данной стратегии являются:

- от человека требуется предельная сконцентрированность в течение длительного времени;

- большое число транзакций.

В России наибольший объем скальперских сделок заключается на фьючерсах и голубых фишках - обычных акциях наиболее известных

и крупных компаний страны (Газпром, Сбербанк, Лукойл).

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

Торговый робот RoboBar

RoboBar (рис. 3) - это индикаторный торговый робот открытого типа (конструктор стратегий), разработанный компанией ООО «АйТи План» [1].

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

Возможности:

- позволяет конструировать и запускать торговые стратегии в тестовом и «боевом» режиме;

- позволяет автоматизировать стратегии, написанные в MetaStock, Wealth-Lab, AmiBroker;

- позволяет вести журнал заявок и сохранять его для дальнейшего анализа (журнал ведется в разрезе стратегий и бумаг).

Рис. 3. Интерфейс КоЪоБаг

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

- создание торгового задания;

- формирование торгового сигнала;

- отработка торгового сигнала;

- контроль над исполнением.

Торговый сигнал

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

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

Торговое задание

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

Отработка торгового сигнала

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

Исполнение и контроль

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

- Moving Average - Скользящая средняя -SMA, EMA, WMA, VolAdjusted, Smoothed;

- MACD - Схождение-расхождение скользящих средних;

- MACD-Histogram - Гистограмма MACD;

- Parabolic SAR - Параболическая система;

- Average True Range (ATR) - Средний истинный диапазон;

- Relative Strength Index (RSI) - Индекс относительной силы;

- Stochastic Oscillator - Стохастический осциллятор;

- Awesome Oscillator - Чудесный осциллятор;

- Accelerator/Decelerator Oscillator - «Ускорение/Замедление»;

- Williams' % Range - «Процентный диапазон Уильямса».

RoboBar может отрабатывать сигналы из внешних программ технического анализа MetaStock, AmiBroker, Wealth-Lab и Excel [2].

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

Конструктор MetaStock

Самая известная программа для технического анализа рынка, разработанная американской компанией Equis International. Трейдерам в настоящий момент предлагается одиннадцатая версия программы MetaStock [2].

При помощи этой программы трейдеры могут создавать, тестировать и полностью автоматизировать свои торговые системы, достигая тем самым максимальной прибыльности при прове-

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

Торговая система PIAdviser

PIAdviser [3] - программа, которая помогает принимать инвестиционные и спекулятивные торговые решения на российском рынке акций, фьючерсов и валютном рынке FOREX.

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

Преимущества, которые получают начинающие инвесторы:

- эффективное обучение принципам и технологиям инвестирования;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- концентрация внимания только на перспективных акциях и фьючерсах;

- повышение доходности собственных сделок;

- существенное понижение вероятности больших потерь и разорения.

Преимущества, которые получают профессиональные трейдеры:

- возможность следить за перспективными инструментами сразу по нескольким рынкам;

- дополнительная поддержка при принятии торгового решения;

- существенное сокращение времени, необходимого для принятия торгового решения.

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

QPILE - встроенный язык программирования системы QUIK

QPILE [4] - встроенный алгоритмический язык программирования информационно-торговой системы QUIK. Несмотря на то, что QPILE обладает весьма скромным набором возможностей, по сравнению с языками высокого уровня C++ или Delphi, он вполне пригоден для создания торговых роботов.

Инструменты технического анализа

METASTOCK, WEALTH-LAB, OMEGA -эти инструменты представляют собой мощные пакеты технического анализа. При создании автоматической торговой системы указанные программы применяются главным образом для тестирования и настройки торговой стратегии, поскольку именно с тестирования выбранной стратегии начинается разработка торгового робота.

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

Объектно-ориентированный принцип построения данных систем означает, что управление объектами и вызов команд осуществляется непосредственно из самих объектов.

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

Преимущества METASTOCK, WEALTH-LAB, OMEGA:

- мощный пакет средств технического анализа - широкий выбор индикаторов, графических и финансовых инструментов;

- удобство работы с интерфейсом;

- готовые встроенные торговые системы и советчики (Эдвайзеры) (примеры, доработав которые, можно получить вполне качественную торговую стратегию);

- простой встроенный язык для написания торгового робота;

- возможность интеграции с торговой системой QUIK на уровне получения данных и передачи торговых ордеров.

Недостатки METASTOCK, WEALTH-LAB, OMEGA:

- высокая стоимость программных пакетов;

- недостаточная скорость обработки и передачи транзакций для разработки профессионального торгового робота.

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

Табличный процессор Microsoft Excel+VBA

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

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

Язык высокого уровня C#

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

В отличие от описанных выше инструментов, разработка на C# подразумевает написание внешних приложений, т.е. запуск и исполнение программы происходит не в системе QUIK, как это делает QPILE, а в сторонней автономной программе. Однако процесс отправки транзакций и получение данных из торговой системы все же осуществляется посредством подключения к QUIK.

Использование C# в разработке торговых роботов сопряжено с рядом трудностей технического характера. Основной проблемой является полу-

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

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

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

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

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

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

По описанным выше причинам для создания высокоскоростного робота больше всего подходит язык высокого уровня C#.

Инфологическая модель предметной области

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

Рис. 4. Инфологическая модель предметной области

Основными таблицами при работе системы являются:

- таблица «Инструменты» содержит список бумаг, с которыми трейдер имеет возможность работать на бирже;

- таблица «Котировки» является основной таблицей при анализе рынка;

- таблица «Клиентский портфель» необходима для контроля средств пользователя;

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

Остальные таблицы являются следствием использования системы QUIK.

Описание таблиц QUIK

Таблица «Инструменты» в системе QUIK именуется «Таблица текущих параметров» (рис. 5). Основным назначением является отображение.

EAI-akiw мне б

МЫ

Стоос "pear ОТЗЧУ Maf.c цена Мим. цена ЦвНЙ ПЭ"ГС: LJ B3EL Ц41

ГУКОЙЛIV 567.МО К7.990 505.000 507.000 567.690 567.960 •7.53 562.140

RA0 ЕЭС IA1 11733 0.000 12.407 12.107 10776 1(1770 ■10 23 11 302

РйО ЕЭС'П Ь 6.749 б.тзо £.799 6.799 в. 789 6789 0.00 6791

МосЭнергс | 1.620 IMS 1.590 1.621 1.590 1.63л 560 1.610

PocTSfl'lac | 71.610 л.т 71.690 74.910 64.1 ОС 74.910 ■0 60 71 060

PocTSfl'lan J7.43 0.00 20.13 2013 гбчз 1SA3 4 05 2613

Сйвр6™(И 6 821100 0.000 0 823.100 6 323.100 6 323100 6S211M 016 6 323100

Тзгнрт Зоо| 41760 0.000 40270 14.350 40270 44950 4.13 41.130

Тзтнрг Згп| OLOOO 17.675 17.676 17.675 17.675 17.675 ■1210 17.675

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

Основные поля таблицы:

1. Полное название бумаги.

2. Краткое название бумаги.

3. Код бумаги.

4. КШ-код бумаги.

5. Регистрационный номер.

6. Название класса.

7. Код класса.

8. Номинал.

9. Валюта номинала.

10. Точность цены.

11. Минимальный шаг цены.

12. Тип инструмента.

13. Статус.

14. Размер лота.

15. Лучшая цена спроса.

16. Спрос по лучшей цене.

17. Суммарный спрос.

18. Количество заявок на покупку.

19. Лучшая цена предложения.

20. Предложение по лучшей цене.

21. Суммарное предложение.

22. Количество заявок на продажу.

23. Оборот в деньгах.

24. Состояние сессии.

25. Количество сделок за сегодня.

26. Рыночная цена.

Таблица «Котировки» (рис. 6) содержит лучшие текущие котировки на покупку/продажу, упорядоченные по параметру «Цена».

L^. Сбербанк ... = II S II £3 |

Продаж Цена Покупк

79.04 12 034

78,05 12 367

78,06 5 643

79.07 15 527

78,08 4 858

78,08 Э 027

79,10 10 272

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

78,11 12 822

78,12 3 852

49 391 79.49

48 331 78,48

233 779 78,50

1 73 046 79,51

1 53 460 78,52

55 611 78,53

61 275 78,54

70 315 79.55

84 606 78,56

46 060 78,57

Рис. 6. Таблица «Котировки»

Количество лучших котировок зависит от класса инструментов. Столбцы таблицы обозначают параметры котировок. Значения параметров приведены ниже.

Параметры таблицы «Котировки»:

Параметр Назначение Цена покупки Котировка на покупку, рублей Цена продажи Котировка на продажу, рублей Котировка (в один столбец), рублей

Количество бумаг в заявках на покупку по данной цене, лотов Количество бумаг в заявках на продажу по данной цене, лотов

Цена Покупка Продажа

Объем

Своя покупка Своя продажа Свой объем

Доходность

покупки

Доходность

продажи

Доходность

Количество бумаг в заявках (в один столбец) по данной цене, лотов

Количество бумаг в собственных заявках на покупку по данной цене, лотов

Количество бумаг в собственных заявках на продажу по данной цене, лотов

Количество бумаг в собственных заявках (в один столбец) по данной цене, лотов

Доходность инструмента по котировке на покупку Доходность инструмента по котировке на продажу Доходность инструмента по котировке (в один столбец)

Основным назначением таблицы «Заявки» (рис. 7) является контроль исполнения заявок, отправленных на биржу, и управление активными заявками.

^Тибгми шш 112 шт

Нсмер Время Бумага Опера 1|ена Копмч Осгаж Объем Дощ| Комме! Исщния Тип Состояние^]

Ж"®™ ГСВКПНЕЗСМПрм» 3,5(10 1 0 350,00 0,03 № 0 ПРО Исполнена

[ЯЯШЗ 1ШМВС[ки1|1 (дав 3.500 1 1 та,оо 0,00 001 0 ПРО Актина

а! 50532211 игагоокм 1т 3,433 1 1 з;з,зо 0,00 0)1 0 ПРО Сито 3

Рис. 7. Таблица «Заявки»

Каждой заявке соответствует отдельная строка таблицы. Изменение состояния заявки («Активна», «Исполнена», «Снята») выделяется цветом шрифта в строке.

Параметры таблицы «Заявки»:

Параметр

Номер

Код биржи Дата

Выставлена (время) Бумага Операция

Счет

Цена

Количество

Остаток

Объем

Назначение

Регистрационный номер заявки в торговой системе биржи Идентификатор биржи Дата регистрации заявки Время регистрации заявки в торговой системе Наименование инструмента Направление операции («Купля», «Продажа»)

Код торгового счета, по которому подана заявка Цена заявки, за единицу инструмента

Количество ценных бумаг, выраженное в лотах Объем неисполненной части заявки, выраженный в лотах Объем заявки (без учета комиссионного сбора биржи и накопленного дохода) в денежном вы-

ражении

Состояние Состояние заявки («Активна», «Исполнена», «Снята»)

Таблица «Клиентский портфель» (рис. 8) предназначена для отображения денежной стоимости средств клиента, доступных заемных средств и показателей маржинального кредитования.

0 Клиентский портфель | □ || В р

Код кяие! ПовышУ р Тип кяшВнед.актц Плечо Шорты Лонги Тек.актиЕ Тек.гш

Рис. 8. Таблица «Клиентский портфель»

Параметры таблицы «Клиентский портфель»:

Параметр Назначение

Код клиента Идентификатор клиента в системе QUIK

ПовышУрРиска Признак «квалифицированного» клиента, которому разрешено кредитование заемными средствами с плечом 1:3 Тип клиента Признак использования схемы кредитования с контролем текущей стоимости активов Вход. активы Оценка собственных средств клиента до начала торгов Плечо Отношение Входящего лимита

к Входящим активам Шорты Оценка стоимости коротких

позиций (значение всегда отрицательное) Лонги Оценка стоимости длинных по-

зиций, «Лонги» = «Лонги МО» + + «Лонги О» Тек. активы Оценка собственных средств клиента по текущим позициям и ценам. В случае использования единой денежной позиции на спот- и срочном рынках параметр включает вариационную маржу, если она отрицательная Тек. плечо Текущее отношение собствен-

ных и использованных заемных средств

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

нальным бумагам Тек. средства Текущая оценка стоимости всех позиций клиента (с учетом вариационной маржи по счету). Оценка стоимости позиций клиента производится по параметру «Цена последней сделки»

Прибыль/убытки Абсолютная величина изменения стоимости всех позиций клиента

Проц. измен Относительная величина изменения стоимости всех позиций клиента, в процентах

Полный список параметров для таблиц, описанных выше, можно просмотреть в руководстве к системе QUIK [5].

Организационно-функциональная схема (рис. 9, 10) была построена с использованием All-FшюnProcessModeler 4.1 (BPWin) на основе графической нотации IDEF0.

Торговые настройки

Данные из QUIK Автоматизированная система управления | Транзакции

"Торговая система "Скальпер"

*.......................... 5

Пользователь

Рис. 9. Общая организационно-функциональная схема (контекстная диаграмма)

Организационно-функциональная схема с дальнейшей декомпозицией приведена на рис. 10.

Рис. 10. Организационно-функциональная схема

Первым этапом в работе системы является импорт табличных данных из терминала QUIK в формате XLTABLE. Данная функция реализо-

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

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

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

Главной задачей АСУ «Торговая система „Скальпер" является получение оперативной оценки ситуации на бирже на основе данных, полученных из QUIK. Для этого программа должна обеспечивать выполнение следующих функций:

- получение данных из QUIK;

- анализ полученных данных;

- экспорт транзакций в QUIK.

При этом алгоритм работы системы следующий:

- импорт данных из QUIK по DDE-каналу;

- на основании полученных данных строится скользящая средняя;

- если скользящая средняя обладает возрастающей тенденцией, то в QUIK отправляется заявка на покупку акций, иначе на продажу акций, если они уже были куплены, либо не принимается никаких действий;

- ожидание исполнения заявки;

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

Блок схема данного алгоритма представлена ниже (рис. 11).

В системе предусмотрен ручной режим управления, при котором решение об отправке транзакций принимается пользователем.

Для построения инфологической модели использовалось программное средство Erwin фирмы Computer Associates. Организационно-функциональная структура системы была построена с использованием программы BPwin фирмы Computer Associates. При программировании использовался ряд стандартных библиотек среды C#, таких как IO, Data, Forms, Text, Convert и др. Для импорта данных в формате XLTABLE использовалась библиотека NDde.dll. Для экспорта дан-

ных и подключения к терминалу QUIK использовалась библиотека TRANS2QUIK.dll.

АСУ «Торговая система „Скальпер" включает в себя один загрузочный модуль (файл с расширением «exe»).

Начало

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 11. Блок-схема алгоритма работы системы

Для работоспособности системы на ПК должны быть установлены следующие компоненты:

1. Операционная система семейства Windows.

2. Рабочее место QUIK.

3. MS Office 2000 или новее.

MS Office не является обязательным, но может использоваться программой для экспорта данных MS Excel из QUIK.

Состав модулей в АСУ «Торговая система „Скальпер":

Назначение

Модуль главной формы Используется для реализации DDE-обмена

Содержит класс для создания DDE-сервера

Содержит функции для обработки данных в формате XLTABLE

TRANS2QUIK.dll Используется для экспорта транзакций и подключению к QUIK

Параметр

MainForm NDde.dll

XlDdeServer. cs

XlTable.cs

Для работы с АСУ «Торговая система „Скальпер"» конфигурация компьютера должна соответствовать требованиям работы с торговым терминалом QUIK и иметь следующие характеристики:

- операционная система: Microsoft Windows 98/NT/2000/XP/Server 2003/Vista/Windows 7;

- процессор Intel Pentium 4 2ГГц и выше;

- оперативная память 512 Мбайт и выше (рекомендуется 1 024 Мбайт);

- жесткий диск объемом не менее 50 Гбайт;

- устройство чтения с внешних накопителей (CD\DVD-ROM, USB);

- монитор.

Требования к каналу связи:

- протокол передачи данных TCP/IP;

- пропускная способность канала не менее 14 400 бит/сек.;

- время прохождения сигнала (ping) до сервера QUIK не более 1 сек.;

- процент потерь пакетов данных не более 5 %. Иных требований к техническому обеспечению системы не предъявляется.

АСУ «Торговая система „Скальпер" выполнена в виде одноконного приложения Window Forms.

При запуске программы открывается основная форма программы, представленная на рис. 12.

Рис. 12. Интерфейс АСУ «Торговая система «Скальпер»

Первым элементом, с которого начинается работа в системе, является закладка «Настройки».

Закладка «Настройки»

Здесь указываются параметры, необходимые для работы с торговым терминалом QUIK (рис. 13).

14)

Рис. 13. Закладка «Настройки»

Параметры торговли

Панель «Параметры торговли» (рис. позволяет указать параметры для текущей торговой сессии.

Параметры торговли Название бумаги

ЗВЕР!

Класс бумаги

СиЭ1М

Количество выставляемых лотов

1 :

Рис. 14. Панель «Параметры торговли»

Здесь пользователь перед началом работы системы должен указать, с какой бумагой необ-

ходимо работать и какое количество лотов выставлять в каждой заявке.

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

Закладка «Котировки» Закладка «Котировки» (рис. 15) необходима для отображения таблицы «Котировки», импортируемой из терминала QUIK.

Рис. 15. Закладка «Котировки»

После предварительной настройки изменения таблицы в QUIK автоматически передаются в АСУ «Торговая система „Скальпер". Описание таблицы «Котировки» см. ранее.

Панель управления

Из панели управления (рис. 16) осуществляется подключение к терминалу QUIK.

Рис. 16. Панель управления

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

Служебные сообщения

Для реализации обратного взаимодействия системы с пользователем предназначено поле «Служебные сообщения» (рис. 17).

В данное поле выводятся сообщения обо всех действиях системы.

Служебные сообщения

Подключение » DTRANS2QUIK_S UCCES S Отключение >> DTRANS2QUIK_S UCCES S Подключение » 0TRANS3QUK_SUCCESS Покупкам

{D> {1 }DTRAN S2Q UI K_S UCCES S Продажам

{D> {1 }DTRAN S2Q UI K_S UCCES S

Рис. 17. Служебные сообщения Строка состояния

Строка состояния (рис. 18) предназначена для вывода на экран состояния работы системы.

Рис. 18. Строка состояния

Здесь отображается информация о состоянии подключения по каналу DDE и подключения для обмена транзакциями, а также информация о текущей операции в системе.

При нажатии кнопки «О программе» на экран монитора будет выведена информация о программе (рис. 19).

АСУ «Торговая система „Скальпер"» позволяет проводить анализ и обработку данных, поступающих с сервера биржи в торговый терминал

QUIK, и на основании этого принимать решения для проведения торговых операций.

Рис. 19. Модальное окно «О программе»

АСУ «Торговая система „Скальпер"» находится в завершенном и готовом к использованию состоянии. Дальнейшие пути развития системы могут включать в себя использование дополнительных индикаторов при анализе поступающих данных. Использование более сложных математических моделей повысит эффективность и уменьшит риски при дальнейшей работе на фондовом рынке.

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

Примечания

1. Торговый робот - Модуль RoboBar [Электронный ресурс]. URL: http://www.itplan.ru/TraderExplorer/RoboBar.aspx (описание механической системы).

2. URL: http://www.virtuosclub.ru/main/metastok (описание систем технического анализа).

3. PIAdviser [Электронный ресурс]. URL: http://www.izcity.com/data/soft/article1410.htm (торговая система PIAdviser).

4. Церих. Механические торговые системы [Электронный ресурс]. URL: http://robot.zerich.ru/ systems/qpile/ (описание языка QPILE).

5. Руководство пользователя системы QUIK [Электронный ресурс]. URL: http://www.uralsibcap.ru/ quik/download/Quik.pdf.

i Надоели баннеры? Вы всегда можете отключить рекламу.