Интеграционная система управления биржевыми торговыми роботами
|
ВВЕДЕНИЕ 14
ГЛАВА 1. АНАЛИЗ ТЕХНОЛОГИЙ И РЕШЕНИЙ ДЛЯ ТЕСТИРОВАНИЯ
ТОРГОВЫХ СИСТЕМ 17
1.1. Платформы для создания приложений с графическим интерфейсом ... 17
1.2. Примеры приложений с графическим интерфейсом в финансовом
секторе 19
1.3. Анализ приложений, способных подключаться ко множеству сервисов 24
ГЛАВА 2. РАЗРАБОТКА ПАНЕЛИ УПРАВЛЕНИЯ 28
2.1. Архитектура разрабатываемого решения 28
2.2. Выбор технологий для разработки 30
2.3. Архитектура панели управления 32
2.4. Реализация компонентов Vue 36
Компоненты, отвечающие за отрисовку экранов 36
Компоненты, выполняющие декоративную роль 42
Компоненты, отвечающие за работу со сложными объектами 43
Компоненты декомпозиции логики 47
2.5. Глобальные хранилища Pinia 51
ГЛАВА 3. АПРОБАЦИЯ ПАНЕЛИ УПРАВЛЕНИЯ 53
3.1. Публикация приложения внутри локальной сети 53
3.2. Апробация панели управления 54
ГЛАВА 4. ФИНАНСОВЫЙ МЕНЕДЖМЕНТ, РЕСУРСОЭФФЕКТИВНОСТЬ
И РЕСУРСОСБЕРЕЖЕНИЕ 62
4.1. Потенциальные потребители результатов исследования 62
4.2. Анализ конкурентных технических решений 63
4.3. SWOT-анализ 64
4.4. Планирование работ по научно-техническому исследованию 69
4.4.1. Структура работ в рамках научного исследования 69
4.4.2. Определение трудоемкости выполнения работ 70
4.4.3. Разработка графика проведения научного исследования 71
4.5. Бюджет научно-технического исследования (НТИ) 74
4.5.1. Расчет материальных затрат НТИ 75
4.5.2. Расчет затрат на специальное оборудование для научных работ .... 76
4.5.3. Основная заработная плата исполнителя темы 76
4.5.4. Расчет дополнительной заработной платы 79
4.5.5. Отчисления во внебюджетные фонды 80
4.5.6. Накладные расходы 81
4.5.7. Формирование бюджета затрат научно-исследовательского проекта 81
4.6. Определение ресурсной (ресурсосберегающей), финансовой, бюджетной, социальной и экономической эффективности исследования .. 82
ГЛАВА 5. СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 85
Введение 85
5.1. Правовые и организационные вопросы обеспечения безопасности 86
5.1.1. Специальные правовые нормы трудового законодательства 86
5.1.2. Организационные мероприятия при компоновке рабочей зоны 86
5.2. Производственная безопасность 87
5.2.1. Физические статические перегрузки, связанные с рабочей позой .. 88
5.2.2. Отсутствие или недостаток необходимого искусственного
освещения 88
5.2.3. Производственные факторы, связанные с электромагнитными
полями постоянного характера, связанного с повышенным образованием электростатических зарядов 90
5.2.4. Производственные факторы, связанные с электрическим током,
вызываемым разницей электрических потенциалов, под действие которого попадает работающий включая действие высоковольтного разряда 90
5.3. Экологическая безопасность 91
5.4. Безопасность в чрезвычайных ситуациях 92
Выводы по разделу 93
ЗАКЛЮЧЕНИЕ 95
ПЕРЕЧЕНЬ ИНФОРМАЦИОННЫХ ИСТОЧНИКОВ 96
ПРИЛОЖЕНИЕ A 99
ГЛАВА 1. АНАЛИЗ ТЕХНОЛОГИЙ И РЕШЕНИЙ ДЛЯ ТЕСТИРОВАНИЯ
ТОРГОВЫХ СИСТЕМ 17
1.1. Платформы для создания приложений с графическим интерфейсом ... 17
1.2. Примеры приложений с графическим интерфейсом в финансовом
секторе 19
1.3. Анализ приложений, способных подключаться ко множеству сервисов 24
ГЛАВА 2. РАЗРАБОТКА ПАНЕЛИ УПРАВЛЕНИЯ 28
2.1. Архитектура разрабатываемого решения 28
2.2. Выбор технологий для разработки 30
2.3. Архитектура панели управления 32
2.4. Реализация компонентов Vue 36
Компоненты, отвечающие за отрисовку экранов 36
Компоненты, выполняющие декоративную роль 42
Компоненты, отвечающие за работу со сложными объектами 43
Компоненты декомпозиции логики 47
2.5. Глобальные хранилища Pinia 51
ГЛАВА 3. АПРОБАЦИЯ ПАНЕЛИ УПРАВЛЕНИЯ 53
3.1. Публикация приложения внутри локальной сети 53
3.2. Апробация панели управления 54
ГЛАВА 4. ФИНАНСОВЫЙ МЕНЕДЖМЕНТ, РЕСУРСОЭФФЕКТИВНОСТЬ
И РЕСУРСОСБЕРЕЖЕНИЕ 62
4.1. Потенциальные потребители результатов исследования 62
4.2. Анализ конкурентных технических решений 63
4.3. SWOT-анализ 64
4.4. Планирование работ по научно-техническому исследованию 69
4.4.1. Структура работ в рамках научного исследования 69
4.4.2. Определение трудоемкости выполнения работ 70
4.4.3. Разработка графика проведения научного исследования 71
4.5. Бюджет научно-технического исследования (НТИ) 74
4.5.1. Расчет материальных затрат НТИ 75
4.5.2. Расчет затрат на специальное оборудование для научных работ .... 76
4.5.3. Основная заработная плата исполнителя темы 76
4.5.4. Расчет дополнительной заработной платы 79
4.5.5. Отчисления во внебюджетные фонды 80
4.5.6. Накладные расходы 81
4.5.7. Формирование бюджета затрат научно-исследовательского проекта 81
4.6. Определение ресурсной (ресурсосберегающей), финансовой, бюджетной, социальной и экономической эффективности исследования .. 82
ГЛАВА 5. СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 85
Введение 85
5.1. Правовые и организационные вопросы обеспечения безопасности 86
5.1.1. Специальные правовые нормы трудового законодательства 86
5.1.2. Организационные мероприятия при компоновке рабочей зоны 86
5.2. Производственная безопасность 87
5.2.1. Физические статические перегрузки, связанные с рабочей позой .. 88
5.2.2. Отсутствие или недостаток необходимого искусственного
освещения 88
5.2.3. Производственные факторы, связанные с электромагнитными
полями постоянного характера, связанного с повышенным образованием электростатических зарядов 90
5.2.4. Производственные факторы, связанные с электрическим током,
вызываемым разницей электрических потенциалов, под действие которого попадает работающий включая действие высоковольтного разряда 90
5.3. Экологическая безопасность 91
5.4. Безопасность в чрезвычайных ситуациях 92
Выводы по разделу 93
ЗАКЛЮЧЕНИЕ 95
ПЕРЕЧЕНЬ ИНФОРМАЦИОННЫХ ИСТОЧНИКОВ 96
ПРИЛОЖЕНИЕ A 99
ООО «Центр разработки для обнаружения ошибок» - это компания, которая проводит тестирование биржевых информационных систем для выявления их уязвимостей. Сейчас тема разработки программного обеспечения для симуляции клиентской активности в торговых системах очень актуальна. Об этом говорит опыт работы с крупными клиентами.
Для торговых систем, которые работают с финансами, жизненно важно проводить тестирование, так как потенциальные ошибки могут стать причиной необоснованных убытков со стороны их клиентов. А владельцы системы будут вынуждены возмещать такие потери.
В мае 2012 года произошел крупнейший сбой на бирже NASDAQ [22]. Причиной этому стал возникший в огромном масштабе единовременный спрос на акции компании Facebook. Ситуация усугубилась стремительным ростом продаж купленных акций инвесторами, которые не дождались желаемых показателей роста стоимости этих акций. Эти факторы в совокупности привели к созданию серьезной нагрузки на бирже и к большим финансовым потерям со стороны многих клиентов, что в итоге негативно сказалось на этой бирже.
Для предотвращения подобных случаев, необходимо создавать имитацию сложных ситуаций, таких как ошибки брокеров , загрузка биржи и технические неисправности. Так как требуется большой прирост нагрузки, то вручную настраивать каждый процесс симуляции активности будет слишком сложно и дорого. В связи с указанными выше причинами создание панели для централизованного управления множеством роботов является актуальной задачей и требует решения в задачах реализации симуляции активности на основе программных роботов.
Цель исследования: анализ и выбор технологий для реализации приложения с графическим интерфейсом, способного управлять множеством роботов для симуляции пользовательской активности, а также анализ процессов интерфейсного взаимодействия и их реализация в программном продукте в виде интерфейсного модуля.
Разработанные программные компоненты включают в себя панель управления для централизованного управления роботами и торговых роботов, симулирующих действия пользователей в различных сценариях. В рамках данной работы акцент сделан на разработку панели управления, способной подсоединяться и управлять роботами централизованно.
Задачи исследования:
• изучение способов создания графических интерфейсов в целом и для предприятий, связанных с цифровыми финансами, в частности;
• анализ процессов интерфейсного взаимодействия в приложениях со способностью подключаться ко множеству серверов;
• разработка программного обеспечения, способного управлять множеством роботов для симуляции пользовательской активности;
• апробация приложения в сценарии подключения робота и запуска алгоритма, поддерживаемого этим роботом, а также в сценарии подключения нескольких роботов и одновременного запуска поддерживаемого ими алгоритма.
Разработанная информационная система тестирования биржевой нагрузки состоит из неограниченного числа запущенных копий роботов, симулирующих торговую активность клиентов определенной биржи, и панели управления, которая объединяет информацию обо всех роботах и отдает команды для выполнения различных действий. Работа Николая Дорофеева посвящена разработке программных роботов для тестирования. В этой работе рассмотрены вопросы построения архитектуры приложения с графическим интерфейсом, которое способно динамически подсоединяться к неограниченному числу серверных приложений (роботов) и взаимодействовать с ними, используя преимущества единой центральной точки взаимодействия, чем является панель управления.
Роботы разработаны таким образом, что могут дополняться новыми алгоритмами, поэтому им необходим интерфейс для запусков алгоритмов, спроектированный таким образом, чтобы он генерировался динамически в зависимости от описания, предоставленного роботом. Созданный интерфейс также объединяет роботов, поддерживающих один и тот же тип алгоритма. Это дает возможность осуществить одновременный запуск этого алгоритма группой роботов.
В ходе работы была разработана архитектура программного комплекса для тестирования торговых систем и архитектура панели управления, в частности. Был реализован ряд компонентов графического интерфейса, которые поддерживают методы, использующие программный интерфейс робота.
Для торговых систем, которые работают с финансами, жизненно важно проводить тестирование, так как потенциальные ошибки могут стать причиной необоснованных убытков со стороны их клиентов. А владельцы системы будут вынуждены возмещать такие потери.
В мае 2012 года произошел крупнейший сбой на бирже NASDAQ [22]. Причиной этому стал возникший в огромном масштабе единовременный спрос на акции компании Facebook. Ситуация усугубилась стремительным ростом продаж купленных акций инвесторами, которые не дождались желаемых показателей роста стоимости этих акций. Эти факторы в совокупности привели к созданию серьезной нагрузки на бирже и к большим финансовым потерям со стороны многих клиентов, что в итоге негативно сказалось на этой бирже.
Для предотвращения подобных случаев, необходимо создавать имитацию сложных ситуаций, таких как ошибки брокеров , загрузка биржи и технические неисправности. Так как требуется большой прирост нагрузки, то вручную настраивать каждый процесс симуляции активности будет слишком сложно и дорого. В связи с указанными выше причинами создание панели для централизованного управления множеством роботов является актуальной задачей и требует решения в задачах реализации симуляции активности на основе программных роботов.
Цель исследования: анализ и выбор технологий для реализации приложения с графическим интерфейсом, способного управлять множеством роботов для симуляции пользовательской активности, а также анализ процессов интерфейсного взаимодействия и их реализация в программном продукте в виде интерфейсного модуля.
Разработанные программные компоненты включают в себя панель управления для централизованного управления роботами и торговых роботов, симулирующих действия пользователей в различных сценариях. В рамках данной работы акцент сделан на разработку панели управления, способной подсоединяться и управлять роботами централизованно.
Задачи исследования:
• изучение способов создания графических интерфейсов в целом и для предприятий, связанных с цифровыми финансами, в частности;
• анализ процессов интерфейсного взаимодействия в приложениях со способностью подключаться ко множеству серверов;
• разработка программного обеспечения, способного управлять множеством роботов для симуляции пользовательской активности;
• апробация приложения в сценарии подключения робота и запуска алгоритма, поддерживаемого этим роботом, а также в сценарии подключения нескольких роботов и одновременного запуска поддерживаемого ими алгоритма.
Разработанная информационная система тестирования биржевой нагрузки состоит из неограниченного числа запущенных копий роботов, симулирующих торговую активность клиентов определенной биржи, и панели управления, которая объединяет информацию обо всех роботах и отдает команды для выполнения различных действий. Работа Николая Дорофеева посвящена разработке программных роботов для тестирования. В этой работе рассмотрены вопросы построения архитектуры приложения с графическим интерфейсом, которое способно динамически подсоединяться к неограниченному числу серверных приложений (роботов) и взаимодействовать с ними, используя преимущества единой центральной точки взаимодействия, чем является панель управления.
Роботы разработаны таким образом, что могут дополняться новыми алгоритмами, поэтому им необходим интерфейс для запусков алгоритмов, спроектированный таким образом, чтобы он генерировался динамически в зависимости от описания, предоставленного роботом. Созданный интерфейс также объединяет роботов, поддерживающих один и тот же тип алгоритма. Это дает возможность осуществить одновременный запуск этого алгоритма группой роботов.
В ходе работы была разработана архитектура программного комплекса для тестирования торговых систем и архитектура панели управления, в частности. Был реализован ряд компонентов графического интерфейса, которые поддерживают методы, использующие программный интерфейс робота.
В результате выполнения выпускной квалификационной работы была разработана панель управления, которая способна подключаться к роботам, которые созданы по прототипу роботов Николая Дорофеева в рамках его выпускной квалификационной работы.
Панель управления способна отображать подключенных роботов, их портфели ценных бумаг, операции и отправленные торговые поручения, а также алгоритмы. Запуск алгоритмов поддерживается как для одного робота, так и для всех роботов, поддерживающих его одновременно. Также поддерживается импорт и экспорт файлов конфигураций роботов в формате JSON. Все взаимодействия с роботами происходят через предоставленный API интерфейс. Логи роботов отображаются в реальном времени при помощи WebSocket.
Корректность работы приложения проверялась вручную путем запуска панели управления в режиме разработчика. Для проверки данных в процессе работы приложения использовались инструменты разработчика для фреймворка Vue в виде дополнения для браузера.
Апробация в сценариях подключения одного и нескольких роботов, а также в сценариях запуска алгоритмов, поддерживаемых одним и несколькими роботами прошла успешно. В работе производственной версии панели управления ошибок найдено не было.
Панель управления способна отображать подключенных роботов, их портфели ценных бумаг, операции и отправленные торговые поручения, а также алгоритмы. Запуск алгоритмов поддерживается как для одного робота, так и для всех роботов, поддерживающих его одновременно. Также поддерживается импорт и экспорт файлов конфигураций роботов в формате JSON. Все взаимодействия с роботами происходят через предоставленный API интерфейс. Логи роботов отображаются в реальном времени при помощи WebSocket.
Корректность работы приложения проверялась вручную путем запуска панели управления в режиме разработчика. Для проверки данных в процессе работы приложения использовались инструменты разработчика для фреймворка Vue в виде дополнения для браузера.
Апробация в сценариях подключения одного и нескольких роботов, а также в сценариях запуска алгоритмов, поддерживаемых одним и несколькими роботами прошла успешно. В работе производственной версии панели управления ошибок найдено не было.



