Информационная система для оперативного мониторинга данных фондового рынка и управления инвестициями

УДК 004.942 DOI: 10.12737/24906

Я.А. Швецов, В.И. Аверченков

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

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

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

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

Ya.A. Shvetsov, V.I. Averchenkov

INFORMATION SYSTEM FOR ON-LINE MONITORING OF DATA OF STOCK MARKET AND INVESTIMENT CONTROL

The purpose of this paper was the identification of basic problem moments connected with the processing of information obtained from a stock market and also an offer for their overcome with the aid of automated program complex. Basic principles of a subject field functioning are described, the analysis of its state is given, the moments connected directly with the acceleration of the process of engineering-economic data processing are described. On the basis of the analysis of a subject field there was drawn a conclusion on a relevance of the problem under consideration. For the work within the limits of the problems specified there was widely used a methodology for management decision-making support and a theory of data parallel processing. Besides the consideration of theoretical aspects of a program complex functioning corresponding to the parameters specified in the paper there is shown directly a process of designing an information

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

system for investment management. A structural circuit of the complex and also a flow chart of each module used - database, a data provider and data handler is presented. The efficiency of methodological and mathematical principles used of the information system functioning for the engineering-economic data processing is substantiated. The paper shows the process of the development of a new information technology from the definition of the problem requiring a solution up to the formation of an integral complex. In the end a conclusion is drawn on a correspondence of the methods used to those processes within the limits of which a program system should function.

Key words: information technologies, stock market, parallel computations, engineering indicators, decision making support, investments, quotations, monitoring.

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

На рынке программных продуктов и систем представлено большое количество

программ, решающих задачи прогнозирования, внутреннего, налогового и депозитарного учета операций с ценными бумагами. Для оперативного мониторинга состояния фондового рынка используются такие системы, как Ме1а1тайет, HotstockedPrecision, ОрЫотИоше и их аналоги [2]. Эти программные решения позволяют получить доступ к актуальным данным сводок, а также предоставляют ряд инструментов для углубленного анализа технико-экономических показателей фондового рынка. Главным преимуществом перечисленных систем являются возможности оперативного реагирования на изменения конъюнктуры рынка. В то же время существуют более сложные информационные решения, среди которых выделяется система Альт-Инвест [1]. Такие программы удобны при формировании долгосрочных пакетов ценных бумаг и обеспечивают документальное сопровождение всего жизненного цикла процесса инвестиций.

В рассматриваемом исследовании под инвестициями понимаются денежные средства, ценные бумаги, имущество, в том числе имущественные права, имеющие денежную оценку, вкладываемые в объекты предпринимательской и/или иной деятельности в целях получения прибыли и/или достижения иного полезного эффекта [3]. Учеными-экономистами не раз отмечалось, насколько важна своевременная обработка данных при работе с ценными бумагами, однако эта информация может быть полезна и другим экономическим субъектам, чья деятельность так или иначе связана с ценами на фондовом рынке.

Классификация инвестиций включает в себя множество разнообразных критериев, однако определяющими для принятия решений являются следующие группы: по характеру участия в инвестировании и по сроку инвестирования. Степень вовлечённости субъекта в процесс принятия решений является основным критерием, определяющим используемые при оценке альтернатив информационные системы. Обычно выделяются следующие группы инвестиций [4]:

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

• Косвенные инвестиции, когда объекты инвестирования определяет не сам владелец инвестируемого капитала, а различные инвестиционные фонды, консультанты, компании, паевые фонды и другие финансовые учреждения [4].

По срокам инвестирования предусмотрено разделение инвестиций на следующие виды:

• Краткосрочные - средства инвестируются на срок не более одного года.

• Среднесрочные - срок инвестирования от одного до пяти лет.

• Долгосрочные - инвестирование средств на срок более пяти лет.

Анализ состояния инвестиционных рынков состоит из двух равных по своей значимости компонентов: фундаментального и технического анализа (рис. 1).

Рис. 1. Уровни анализа фондового рынка

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

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

При работе над проектами, которые связаны с краткосрочными инвестициями, необходим постоянный мониторинг конъ-

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

Представим общую схему предлагаемого программного комплекса «Фондовая аналитика», используемого для оперативного мониторинга конъюнктуры биржевого рынка (рис. 2).

Рис. 2. Общая схема программного комплекса «Фондовая аналитика»

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

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

Эмитенты

ер Индекс организации text

Наименование организации text

Вид акций text

Котировки

Индекс организации text

Котировки на максимальное время decimal

Котировки на максимальное время+ 1 минута decimal

decimal

Котировки на текущее время decimal

Рис. 3. Схема базы данных

Котировки

Индекс организации text

Котировки на максимальное время decimal

Котировки на максимальное время +1 час decimal

decimal

Котировки на текущее время decimal

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

Информация с фондового рынка поступает в базу данных с помощью компонента, обозначенного как «Поставщик данных» и работающего по протоколам FIX (Financial Information eXchange) и FAST (FIX Adapted for STreaming). FIX -это протокол обмена сообщениями, созданный специально для автоматизации торговли между контрагентами и являющийся международным стандартом для обмена данными между участниками биржевых торгов в режиме реального времени. FIX-сообщения являются набором полей, состоящих из тегов и пар переменных, скомпонованных по принципу «ключ -значение». Эти пары разделены нулевым символом ASCII. В специальной литературе, а также журналах событий он часто заменяется символом «|», чтобы сообщения было легче читать [5].

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

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

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

- бинарное кодирование.

В большинстве случаев правила кодирования в FAST-формат согласовываются между контрагентами путем предоставления XML-шаблонов [5].

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

Рис. 4. Блок-схема работы модуля «Поставщик данных»

Третьим звеном информационной системы выступает модуль обработки данных. Для его функционирования разработан специальный алгоритм ранжирования альтернатив, основанный на комбинировании подходов математического анализа фондового рынка, многокритериальной оптимизации и методов параллельных вычислений [6].

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

н-1

SMAt = -

71.

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

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

Простое скользящее среднее, или арифметическое скользящее среднее (англ. simple moving average - SMA), численно равно среднему арифметическому значений исходной функции за установленный период и вычисляется по формуле

+  + Vt-i +   + Vt-ъ+г + Pe-n+i

i = 0

n

где БМЛг - значение простого скользящего среднего в точке 1:; п - количество значений исходной функции для расчёта скользящего среднего (так называемый сглаживающий интервал) [6].

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

5МА. = ЗМА.

lt-i

Pt-n Рf

~Т )

гг и

где БМЛг - значение простого скользящего среднего в точке 1 БМЛц - предыдущее значение простого скользящего среднего; рг-п — значение исходной функции в точке 1-п (в случае временного ряда - самое раннее значение исходной функции, используемое для вычисления предыдущего скользящего среднего); р1 - значение исследуемой функции в точке 1 (в случае временного ряда - текущее (последнее) значение). Данной формулой удобно пользоваться, чтобы избежать регулярного суммирования всех значений.

Например, простое скользящее среднее для временного ряда с количеством периодов, равным 10, вычисляется так:

5ЛМ- =

10

БМА, = 5Ш,_± - ^^ -I- —. с 10 10

где БМЛ! - значение простого скользящего

среднего в точке 1; р^ - значение исходной

функции в момент времени, отдалённый от

текущего на 1 интервалов [7].

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

щего среднего все полученные данные. Например, временные ряды биржевых цен обычно для каждого момента времени представлены как минимум двумя значениями: ценой сделки и её объёмом. Необходим инструмент для вычисления скользящей средней цены, взвешенной по объёму. В этих и подобных случаях применяются взвешенные скользящие средние [7].

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

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

Как правило, задают набор числовых функций Fi, F2... Fm , m > 2, определенных на множестве возможных решений X . В зависимости от содержания задачи выбора эти функции именуют критериями оптимальности, критериями эффективности или целевыми функциями. В нашем случае это будут целевые функции. Целью наших расчётов являлась сортировка полученных значений от максимальных к минимальным, что позволяет выявить самых стабильных и нестабильных участников фондового рынка.

Указанные выше числовые функции F1,F2, ... Fm образуют векторный критерий

F = (Fi,F2, ... Fm), который принимает значения в пространстве m-мерных векторов Rm . Это пространство называют критериальным пространством или пространством оценок, а

всякое значение Б(х) = (Б^х), Р2(х),..., Тт(х)) £ векторного критерия Б при определенном х £ X именуют векторной оценкой альтернативы х. В рассматриваемом случае бесконечного числа возможных векторов (решений) нахождение множества Парето путем прямого перебора невозможно в принципе. Поэтому требуются специальные инструменты, облегчающие процесс построения этого множества. Такими инструментами могут служить необходимые и/или достаточные условия парето-оптимальности.

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

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

Таким образом, задача многокритериальной оптимизации сводится к задаче оптимизации с одной целевой функцией:

га

С = > у. * IV;

"г / I1 1

где W1...Wn - вектор весовых коэффициентов, а 01 - оптимизационная функция альтернативы 1. Веса обычно нормируются от 0 до 1.

В результате вычислений формируются значения целевой функции для всех

m - количество рассматриваемых альтернатив, а n - число критериев, по которым они сравниваются. Так, на рис. 5 можно увидеть приблизительный вид подобной конструкции, включающей в себя альтернативы Xi...Xm и множество критериев Уь..Уп, которые принимают определённые значения для каждой из рассматриваемых альтернатив. Данными критериями выступают рассмотренные выше осцилляторы (RSI, стохастический и другие), рассчитанные по методу скользящего среднего.

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

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

* Yl Y2 Yn

Xi Yll Y2l Ynl

X2 Yl2 Y22 Yn2

Xm Ylm Y2m Ynm

Рис. 5. Матрица предлагаемых альтернатив

Рис. 6. Блок-схема работы модуля обработки данных

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

СПИСОК ЛИТЕРАТУРЫ

шит конечный результат технического анализа.

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

1. Швецов, Я. А. Анализ эффективности использования методов параллельных вычислений при математической обработке экономической информации фондовых рынков / Я.А.Швецов, В.И.Аверченков // Роль интеграции науки, инновации и технологии в экономическом развитии стран: материалы междунар. науч.-практ. конф. - Душанбе: ТТУ, 2016. - 689 с.

2. Lauricella, Т. How a Trading Algorithm Went Awry / Tom Lauricella // The Wall Street Journal. -2010, 2 October.

3. Модернизация экономики на основе технологических инноваций / А.Н.Асаул, Б.М.Карпов, В.Б.Перевязкин, М.К.Старовойтов. - СПб.: ИПЭВ, 2008. - 606 с.

4. Виды инвестиций и их классификация. - Режим доступа: http://pamm-capital.com (дата обращения: 09.08.2016).

5. Feledy, Z. FIXimulator: A Financial Information eXchange Protocol Compliant Sell Side Trading

Application / Z. Feledy. - Harvard University, 2009. - 188 p.

6. Швецов, Я.А. Анализ эффективности использования методов параллельных вычислений при математической обработке экономической информации фондовых рынков / Я.А.Швецов // Молодежь и XXI век - 2015: материалы V междунар. молодеж. науч. конф.: в 3 т. / Юго-Запад. гос. ун-т. - Курск: Университет. кн., 2015. - Т. 2. - 393 с.

7. Грешилов, А.А. Математические методы построения прогнозов / А. А.Грешилов,

B.А.Стакун, А.А.Стакун. - М.: Радио и связь, 1997. - 112 с.

8. Булашев, С.В. Статистика для трейдеров /

C.В.Булашев. - М.: Спутник+, 2003. - 245 с.

9. Лисьев, Г.А. Технологии поддержки принятия решений / Г. А. Лисьев, И.В.Попова. - М.: Флинта, 2011. - 133 с.

10. Chan, E. Algorithmic Trading: Winning Strategies and Their Rationale / E.Chan. - New Jersey: Wiley,

2013. - 224 p.

1. Shvetsov, Ya.A. Analysis of efficiency in use of methods of parallel computations at mathematical processing of stock market economic information / Ya.A.Shvetsov, V.I.Averchenkov // Integration Role of Science, Innovation and Technology in Economic Development of Countries: Proceedings of the Inter. Scientific-pract. Conf. - Dushanbe: TTU, 2016. - pp. 689.

2. Lauricella, Т. How a Trading Algorithm Went Awry / Tom Lauricella // The Wall Street Journal. -2010, 2 October.

3. Economy Updating Based on Technological Innovations / A.N.Asaul, B.M.Karpov, V.B.Perevyazkin, M.K.Starovoitov. - S-Pb.: IPEV, 2008. - pp. 606.

4. Kinds of Investments and Their Classification. -Access Mode: http://pamm-capital.com (address date обращения: 09.08.2016).

5. Feledy, Z. FIXimulator: A Financial Information eXchange Protocol Compliant Sell Side Trading Application / Z. Feledy. - Harvard University, 2009. - 188 p.

6. Shvetsov, Ya.A. Efficiency analysis of parallel computation method use at mathematical processing of stock market economic information / Ya.A.Shvetsov // Youth and the XXI-st Century -2015: Transactions of the V-th Inter. Youth Scientific Conf. : in 3 Vol. / South-Western State University. - Kursk: University. kn., 2015. - Vol. 2. - pp. 393.

7. Greshilov, A. A. Mathematical methods for forecast formation / A.A.Greshilov, V.A.Skakun, A.A.Skakun. - M.: Radio and Communication, 1997. - pp. 112.

8. Bulashev, S.V. Statistics for Traders / S.V.Bulashev. - M.: Sputnik+, 2003. - pp. 245.

9. Lisiev, G.A. Technologies in Decision-Making Support/ G.A.Lisiev, I.V.Popova. - M.: Flinta, 2011. - pp. 133.

10. Chan, E. Algorithmic Trading: Winning Strategies and Their Rationale / E.Chan. - New Jersey: Wiley, 2013. - 224 p.

Статья поступила в редколлегию 27.10.2016. Рецензент: д.псих. н., профессор Брянского государственного технического университета

Спасенников В. В.

Сведения об авторах:

Швецов Ярослав Александрович, аспирант кафедры «Компьютерные технологии и системы» Брянского государственного технического университета, тел.: 8-953-289-97-64, e-mail: yshvetsovl49l @yandex.ru.

Аверченков Владимир Иванович, д.т.н, профессор и зав. кафедрой «Компьютерные технологии и системы» Брянского государственного технического университета, тел.:(4832) 56-05-33, e-mail: aver@tu-bryansk.ru.

Shvetsov Yaroslav Alexandrovich, Post graduate student of the Dep. "Computer Technologies and Systems", Bryansk State Technical University, Phone: 8953-289-97-64, e-mail: yshvetsov1491@yandex.ru.

Averchenkov Vladimir Ivanovich, D. Eng., Prof. and Head of the Dep. "Computer Technologies and Systems", Bryansk State Technical University, Phone:(4832) 56-05-33, e-mail: aver@tu-bryansk.ru.