УДК 004.5
А. Г. Финогеев, Р. М. Овечкин
ЧЕЛОВЕКО-МАШИННОЕ ВЗАИМОДЕЙСТВИЕ В СИСТЕМЕ МОНИТОРИНГА И ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ В ОБЛАСТИ ТОРГОВЛИ КРЕДИТНЫМИ ДЕРИВАТИВАМИ
Аннотация. Представлено описание решений, моделей и методов для создания инструментов доступа к многомерным данным в области торговли кредитными деривативами и последующего их анализа для людей, не являющихся техническими специалистами в области баз данных, благодаря интуитивно понятным пользовательским интерфейсам и алгоритмам, автоматизирующим низкоуровневые операции с данными, позволяя абстрагироваться от них. Ключевые слова: мониторинг, система поддержки принятия решений, пользовательский интерфейс, хеджирование, кредитный дериватив.
Abstract. The article describes solutions, models and algorithms providing access and analysis of multidimensional data structures in the scope of credit derivatives trading, intended for people without any technical skills in databases. The concept is based on implementation of intuitive measuring interfaces and algorithms, automating low-level data operations and allowing to abstract away from them.
Key words: monitoring, decision support system, user interface, hedging, credit derivative.
Введение
Кредитные операции - самая доходная статья банковского бизнеса. Управление рисками при торговле производными кредитными продуктами позволяет банку защититься от неблагоприятных изменений цен на рынке акций, процентных ставок и т.п. Для быстрого и верного принятия управленческого решения требуется проанализировать достаточный объем информации, адаптированной для понимания, т.е. правильно обработанной специализированной системой мониторинга и поддержки принятия решений [1]. Для некоторых областей, например бюджетирования и планирования, имеется довольно много хорошо проработанных программных решений от таких производителей, как SAP, Oracle, PeopleSoft [2, 3]. Однако все еще есть области, в которых автоматизация процесса анализа и принятия управленческих решений требует усовершенствований. Одной из таких областей и является управление рисками при торговле производными кредитными продуктами - кредитными деривативами.
Кредитные деривативы позволяют отделить кредитный риск от всех других рисков, присущих конкретному инструменту, и перенести такой риск от продавца риска (приобретателя кредитной защиты) к покупателю риска (продавцу кредитной защиты). Основной набор таких инструментов - это кредитные дефолтные свопы (CDS), опционы, фьючерсы и т.д.
Обычно целью покупки дериватива является не получение базового актива, а хеджирование (страхование, снижение риска от потерь) ценового или валютного риска во времени или получение спекулятивной прибыли от изменения цены базового актива. Операции на рынке осуществляются биржевыми торговцами - трейдерами, функции которых заключаются в анализе текущей ситуации на рынке и заключении торговых сделок.
В данной работе приводится описание разрабатываемой специализированной системы анализа рыночных сделок (САРС), которая позволяет пользователям, не имеющим достаточной квалификации, выполнять операции с большими объемами многомерных данных и использовать инструментарий интеллектуального анализа данных. Система обеспечивает поддержку принятия решений, наглядность, гибкость и высокую производительность работы специалистам в области биржевого трейдинга без участия технических специалистов.
1. Структура распределенной системы анализа трейдерских сделок
Система представляет собой Интернет портал, посредством которого приложения, выполняемые на стороне клиента, организуют взаимодействие с серверной частью. Функциональная (структурная) схема системы на высоком уровне представлена на рис. 1.
Рис. 1. Структурная схема компонентов САРС
Зарегистрированный трейдер работает с порталом через клиентскую прикладную программу, пользовательский интерфейс которой включает ряд инструментов (описываемых ниже) для удобной и наглядной работы с данными.
Серверная часть, получая запросы от программ-клиентов, производит необходимые операции с данными и передает требуемую информацию. Серверная логика разработана на платформе Java Enterprise Edition (язык программирования Java) с использованием технологий Spring и ORM Hibernate. Hibernate - библиотека для языка программирования Java, предназначенная для решения задач объектно-реляционного проецирования (object-relational mapping - ORM). Hibernate решает задачу связи классов Java с таблицами ба-
зы данных, осуществляет автоматическое обновление структуры таблиц, построение запросов и обработки полученных данных [4].
В качестве серверной платформы был выбран JBoss Application server -Java Enterprise Edition сервер приложений с открытым исходным кодом, разработанный одноименной компанией. Достаточно хорошая реализация делает его конкурентом для аналогичных проприетарных программных решений, таких как IBM WebSphere или Oracle WebLogic.
Клиентское приложение обменивается информацией с сервером по протоколам HTTPS (шифрованный HTTP) и AMF (Adobe Media Format). AMF - это специальный протокол, используемый для обмена данными и вызова удаленных серверных процедур c клиентского приложения, разработанного на платформа Adobe Flex [5]. Flex является высокоэффективной средой разработки с открытым кодом для создания динамичных мобильных, настольных и веб-приложений. Среда Flex позволяет разрабатывать мобильные и веб-приложения с использованием базы типовых кодов, что значительно сокращает время разработки приложений.
Данный подход позволяет без лишних затрат вычислительных ресурсов обрабатывать большие объемы данных, используя многофункциональный и «дружественный» пользовательский интерфейс.
2. Процесс обработки информации
Понятие «ситуация на рынке» выражается совокупностью данных из различных источников информации, таких как курсы валют, котировки акций на фондовых рынках, открытые позиции других трейдеров и т.д. За временную единицу мониторинга обычно принимается один банковский день. Сделки представляют собой покупку/продажу дериватива определенного типа (облигаций, кредитных дефолтных свопов и т.п). В процессе сделок в зависимости от типа продукта требуется вести мониторинг изменений около 300 свойств, некоторые из которых представлены сложными структурами данных. В конце каждого рабочего банковского дня на корпоративных серверах банков появляются официальные данные обо всех сделках, произведенных в этот день. Сервис импорта собирает предоставленную всеми банками-партнерами информацию с их серверов, обрабатывает, сортирует и передает во внутреннее временное хранилище. Процесс обычно проходит в течение нескольких часов в ночное время, так как разные банки делают нужную информацию доступной на своих серверах в разное время. В некоторых банках информация предварительно проверяется специальными людьми.
Процесс уменьшения избыточности информации в базе данных называется нормализацией. Приведение данных в нормализованный вид позволяет: обеспечить быстрый доступ к данным в таблицах, исключить ненужное повторение данных, которое может являться причиной ошибок при вводе и нерационального использования памяти сервера [6].
Утром до начала рабочего дня запускается сервис оптимизации, который преобразует собранную предыдущим сервисом денормализованную информацию из временного хранилища в структурированный нормализованный вид и пополняет внутреннюю базу данных. Таким образом, к началу рабочего дня внутренняя база данных системы содержит проиндексированную информацию обо всех торговых сделках за предыдущий интервал времени, например за рабочий день, в оптимизированном и готовом к работе виде.
Рассмотрим основные инструменты разработанной системы, позволяющие трейдерам принимать решения о сделках, анализируя наиболее важную информацию, выбранную из огромного массива данных и представленную в удобном для восприятия и анализа виде. Приложение состоит из нескольких модулей: модуль визуализации отчета о совершенных сделках, модуль создания и редактирования режимов агрегации, модуль определения подмножества данных.
3. Модуль визуализации отчета о совершенных сделках
Данный модуль является ключевым для трейдера, он позволяет пользователю просматривать информацию о нужных сделках в структурированном и удобном для восприятия виде, в виде гипертаблицы. Гипертаблица представляет собой новый нестандартный элемент пользовательского интерфейса. Сочетает в себе функциональность таблицы с древовидной структурой и включает элементы управления для просмотра изменений значений, отображаемых в ячейках, во времени. Гипертаблица является способом наглядной визуализации гиперкуба данных, в котором данные сгруппированы по заданным параметрам и уровням агрегации. Она предоставляет возможность ориентироваться в многоуровневой и многомерной древовидной структуре данных в реальном времени. Пример фрагмента таблицы представлен на рис. 2.
Анализ совершенных сделок по кредитным деривативам
Визуашзация состояния Текущая дата: 12.04.2011 V рынка Редактирование режимов аггрегации Определение Подмножества
Текшая валюта торговли: гипы продуктов:
V аггрегации ) Ешї V { подмножества ) 0 Кредитные дефолтные С80ПЫ (С05) □ Индексы □ Облегации Ц Опционы | Загрузать данные |
Режим сегрегации: ПоднвожестВо данных- 1 Экспорт отчета |
\ Сгоир5Мос1е1 / VII ТейОайїеНВ V Очистка
-
Группа Тип продукта График ц енообр. Лата срока расч. Индекс сделки ДРС ЦВО ЕжеднеВ. Д/Р
Ш Альянс РОСНО 234364.23 0 -56? -3467
а ТРИНФИКО 3560364.00 0 463 6789
а Русь-Капитал 2747004.00 0 -676 -тоо
а 7500364.67 0 264 5779
в СОБ 7500364.67 0 345 3005
£N№56 04.05.2017 С06900204966 500364.00 0 23 789
RSNOЗ¿5 30 03.20Н С04556?89655 34 364.00 0 43 -123
\ №Н004 0i.07.2016 С06978904966 560364 67 0 56 67
\ ЙиСАРОб ГЗ.02.2013 С03450000886 74 7004.00 0 -67 -887
\ £N№56 0i.0s.20l? С06900204966 500364.00 0 24 345
Альянс РоЬно 234364.23 0 -567 -346?
3 ТРИНФИКО \ 3560364 00 0 463 6789
ш Русь-Ка питал. 274 7004.00 0 -676 -88900
7500364.67 0 264 57?9
< \ >
Статус
Рис. 2. Экран пользовательского интерфейса модуля визуализации отчета о совершенных сделках
Отличительной особенностью гипертаблицы является то, что число строк в таблице - величина не статичная, сами строки по характеру и функциональности неравнозначны, так как некоторые из них являются группирующими. Группирующие или агрегационные строки являются узловыми и показывают суммарную информацию по соответствующим колонкам. В свою
очередь, группирующие строки также могут принадлежать группирующим строкам верхних уровней агрегации. Выпадающие списки (рис. 2 - список 1 и 2) позволяют выбрать режим агрегации данных и подмножество выборки соответственно. Элементы в выпадающих списках являются метками для заранее создаваемых пользователем наборов параметров, редактируемых при помощи отдельных модулей.
С агрегационными строками связана специальная кнопка, которая работает аналогично узловому элементу древовидного списка - позволяет скрыть или показать содержимое выбранной группы. Актуальное число строк гипертаблицы динамично и варьируется в зависимости от состояния группирующих строк. Еще одно ключевое свойство гипертаблицы - это возможность быстрого просмотра и анализа изменения величин во времени. При загрузке данных в таблицу с сервера приходит информация о значениях выбранных колонок данных для всех строк и для каждого торгового дня из выбранного диапазона времени. Временной диапазон определяется при задании подмножества данных.
Гипертаблица позволяет в реальном времени посмотреть график изменения любой выбранной величины за нужный период времени (рис. 3). Передвигая ползунок на временной шкале, можно видеть изменения значений всех остальных ячеек таблицы, тем самым анализируя интересующие области согласно графику.
Изменение величины во времени
Группа тип лллЯ/иктл Графи1 йРС цво пкикльныи Д/ о
Альянс РОСНО 4 23436423 -567 -3467
£ ТРИНФИКО 3560364 00 463 6789
19 Русь-Капитал л/ 774 7004 00 -676 -89900
г Знергокапитс * 750036 4 6 7 264 5779
в С05 | 560364.67 I 7500364 67 345 3005
ЕЫЙ4В6 500364 00 23 789
ЙЬЫ034 ■ мпшшшмшнН Ш11Ш1|||1Ш1Ш1|||||||||||||||||||1Ш1Ш1|| 34364 00 1,3 -123 |
ЫРН004 04 07.2016 С06978904 966 Г 560364 6^ 56 67
РиСАР 06 13 022013 СО 3450000886 74 7004^ ) -67 -887
ЕЫЙ456 04. 05.2017 С06900204 966 500364 00 24 345
Альянс РОСНО 23436423 -567 -3467
а ТРИНФИКО 3560364.00 463 6789
±) Русь-Капитал 274 7004 00 ■ 676 -88900
Эиергон о ои/пи 7500364 67 264 5779 ,
Статус
Рис. 3. Просмотр изменения выбранной величины во времени
Кроме гипертаблицы, на экран выводится панель инструментов, при помощи которой задаются параметры загрузки и визуализации данных. Также пользователю предоставляется возможность поиска в таблице и другие инструменты для работы с данными. Режим и параметры многоуровневой агрегации (группировки) данных, в соответствии с которыми гипертаблица визуализирует информацию, задается пользователем при помощи специального инструмента на отдельном экране приложения. При выборе режима агрегации задается вид гипертаблицы, определяются видимые столбцы значений, количество и характер уровней группировки данных, а также цветовые обозначения.
4. Модуль создания и редактирования режимов агрегации
Для того чтобы добавить новый режим агрегации, которым в дальнейшем будет определяться вид и содержание таблицы данных о биржевых сделках, пользователю необходимо воспользоваться инструментами, предоставленными этим модулем, определить набор параметров режима агрегации и сохранить его под определенным названием, чтобы в дальнейшем можно было воспользоваться им для отображения гипертаблицы (рис. 4).
Рис. 4. Экран пользовательского интерфейса модуля создания и редактирования режима агрегации
При конфигурировании режима отображения данных пользователю в начале работы следует определить колонки значений, которые будут показаны в гипертаблице. В первом списке имеются все доступные для добавления колонки. Этот список определяется характеристиками, хранящимися в базе данных по каждой торговой сделке из банковских книг, а также значениями, вычисляемыми на основе этих характеристик. Во втором списке отображаются выбранные пользователем колонки, значения которых пользователь счел нужными для просмотра и анализа. Именно эти значения будут отображаться при просмотре гипертаблицы, и именно по ним будет производиться группирование записей.
Полезной является возможность многоуровневой группировки значений и возможность дальнейшего отображения древовидной структуры этих данных с помощью гипертаблицы.
Для задания уровня агрегации необходимо выбрать колонку значений (отметив ее во втором списке), по которой будут группироваться строки. Эти строки могут содержать подгруппы, сгруппированные по другим, нужным пользователю критериям, если будет добавлен следующий уровень агрегации, который в свою очередь может также содержать подгруппы, если будет добавлен еще один, низлежащий уровень агрегации и т.д.
Все вложенные уровни в гипертаблице отображаются в виде дополнительных группирующих строк, содержащих суммарные значения соответ-
ствующих колонок строк нижних уровней агрегации. Для каждого уровня агрегации имеется возможность задать цветовой индикатор для еще большей наглядности и облегчения работы с таблицей. Строки таблицы, соответствующие определенному уровню, будут окрашены в заданные цвета.
Все эти инструменты дают дополнительные возможности и удобство просмотра и анализа информации. При этом пользователь, не являясь специалистом в области баз данных и информационных технологий, может без особого труда выполнять все необходимые действия с большими массивами данными, оперируя понятиями только той области, специалистом которой он является.
5. Модуль определения подмножества данных
При всем многообразии доступной для просмотра информации необходим инструмент, позволяющий пользователю выбирать именно те данные, которые необходимы для анализа конкретного случая, чтобы не переводить внимание на нерелевантные в данный момент записи.
Условия, по которым определяется подмножество данных, интересующих пользователя, могут быть достаточно сложными. В реляционных базах данных для этих целей используют многоуровневые запросы и срезы данных (это фильтрующие элементы управления, которые ограничивают данные, отображаемые в сводных таблицах и сводных диаграммах).
Данный модуль дает возможность пользователям с экономическим образованием, не являющимся специалистами в области баз данных и информационных технологий, создавать запросы на выбор данных, оперируя только понятиями предметной области - биржевого трединга.
Модуль представляет собой конструктор, позволяющий задавать неограниченное количество гибких запросов выборки данных с разными условиями и критериями. Форма пользовательского интерфейса модуля (рис. 5) состоит из конструктора условий выборки данных, наглядной интерпретации результата и выбора временного диапазона.
Конструктор условий выборки данных содержит компоненты, определяющие условия, по которым во время загрузки данных будут проверяться все строки заданного временного диапазона на предмет выборки для анализа или исключения из рассмотрения. Компонент пользовательского интерфейса, определяющий каждое условие, включает: флаг «NOT» для возможности отрицания условия; поля названия колонки, значение которой будет проверяться; оператор проверки условия (доступны все операторы сравнения и некоторые дополнительные, например «В списке»); поле со значением, с которым будет сравниваться значение колонки при помощи оператора сравнения.
Значение колонки может быть непосредственным, введенным в текстовое поле, либо ссылкой на значение другой колонки. Дополнительно имеются кнопки удаления условия - «*», добавление нового условия - «+», и группировки условий аналогично взятию выражения в скобки - кнопка «( )». При объединении условий появляется компонент для установки логического оператора «И», «ИЛИ», «НЕ ИЛИ».
Составленное условие выборки вместе с условием выбора временного диапазона передается с клиента на сервер в виде сериализованной (кодиро-
ванной последовательности байт) структуры объектов Action Script 3 по протоколу AMF и затем конвертируется в Java-объекты. На сервере по структуре объектов строится сложный запрос на HQL - Hibernate Query Language (язык запросов библиотеки Hibernate). HQL-запрос является более универсальным, в отличие от SQL-запроса, не зависит от используемой базы данных и оперирует объектами, а не реляционными сущностями. Затем с использованием библиотеки Hibernate и при помощи драйвера базы данных и драйвера SQL-диалекта генерируется многоуровневый запрос к базе данных на совместимом с ней языке. Такая абстрагированность позволяет скрыть от пользователя все низкоуровневые операции с данными и работать только гибким и понятным конструктором.
Рис. 5. Экран пользовательского интерфейса модуля определения подмножества данных
Заключение
Разрабатываемая система позиционируется как наиболее специализированная для области торговли кредитными деривативами. Она предоставляет инструменты, облегчающие доступ к данным и последующий анализ и ориентирована на самих трейдеров, давая им возможность работать с системой без помощи дополнительных технических специалистов, благодаря ин-
туитивно понятным «дружественным» пользовательским интерфейсам и алгоритмам, автоматизирующим низкоуровневые операции с данными, позволяя абстрагироваться от них.
В системе были разработаны и кратко описаны в статье: модуль визуализации отчета о совершенных сделках, модуль создания и редактирования режимов агрегации, модуль определения подмножества данных. Далее планируется разработка модуля конструирования сценариев поведения рынка и серверного приложения симуляции поведения рынка по заданным сценариям. Эти инструменты позволят трейдерам проводить эксперименты, проверять собственные идеи и гипотезы без каких-либо материальных затрат. Система представляет собой веб-портал и может использоваться как частными трейдерами-одиночками, так и профессиональными аналитиками, работающими в интересах крупных коммерческих банков.
Список литературы
1. Шишкин, А. И. Сущность, задачи и принципы мониторинга / А. И. Шишкин // Экономический рост в регионах России : материалы рабочего совещания 9 февраля 2003 г. - URL: http://www.aspe.spb.ru/Workshop/Shishkin.pdf
2. Information Technology for Management, Transforming Organizations in the Digital Economy / Turban et al. - Massachusetts : John Wiley & Sons, Inc., 2008. - P. 300343.
3. Лаврушин, О. И. Банковское дело: современная система кредитования : учебное пособие / О. И. Лаврушин, О. Н. Афанасьева, С. Л. Корниенко ; под ред. засл. деят. науки РФ, д-ра экон. наук, проф. О. И. Лаврушина. - 3-е изд., доп. -М. : КНОРУС, 2007. - 264 с.
4. Christian Bauer. Hibernate in Action / Christian Bauer, Gavin King Manning. -Publications Co, 2004.
5. Al Hilwa, Randy Perry Adobe Flex in the Enterprise: The Case for More Usable Software Copyright 2010 IDC. - URL: http://www.adobe.com/enterprise/pdf/idc.pdf.
6. Когаловский, М. Р. Энциклопедия технологий баз данных / М. Р. Когалов-ский. - М. : Финансы и статистика, 2002. - 800 с.
Финогеев Алексей Германович доктор технических наук, профессор, кафедра систем автоматизированного проектирования, Пензенский государственный университет
E-mail: bam@pnzgu.ru
Овечкин Роман Михайлович аспирант, Пензенский государственный университет
E-mail: bam@pnzgu.ru
Finogeev Aleksey Germanovich Doctor of engineering sciences, professor, sub-department of CAD systems,
Penza State University
Ovechkin Roman Mikhaylovich Postgraduate student,
Penza State University
УДК 004.5 Финогеев, А. Г.
Человеко-машинное взаимодействие в системе мониторинга и поддержки принятия решений в области торговли кредитными деривативами / А. Г. Финогеев, Р. М. Овечкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2011. - № 4 (20). - С. 106-115.