🔍 Поиск работ

Торговый робот с возможностью интеграции в различные биржевые информационные системы

Работа №205110

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы100
Год сдачи2022
Стоимость4350 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
17
Не подходит работа?

Узнай цену на написание


Введение 13
ГЛАВА 1. АНАЛИЗ ТЕХНОЛОГИЙ И РЕШЕНИЙ ДЛЯ ТЕСТИРОВАНИЯ
ТОРГОВЫХ СИСТЕМ 16
1.1. Виды тестирования торговых систем 16
1.2. Имеющаяся инфраструктура для тестирования торговых систем 17
1.3. Сравнение торговых роботов для тестирования с торговыми роботами
для трейдинга 20
1.4. Торговые алгоритмы для тестирования системы 22
«Нарезание» 22
«Молоток» 23
«Паникующий продавец/покупатель» 24
«Расслоение» 25
«Переполнение» 26
ГЛАВА 2. СОЗДАНИЕ АРХИТЕКТУРЫ И РАЗРАБОТКА РОБОТА 28
2.1. Архитектура разрабатываемого решения 28
2.2. Выбор технологий для разработки 32
2.3. Архитектура робота 34
2.4. Структура проекта 46
Основные файлы робота (lib) 48
Файлы реализации робота (src) 54
Настройки робота (config.ts) 55
2.5. Программные интерфейсы робота 57
ГЛАВА 3. АПРОБАЦИЯ РОБОТОВ 60
3.1. Создание собственной реализации робота 60
3.2. Инициализация и подготовка к работе 64
3.3. Использование робота для симуляции пользовательской активности . 66
ГЛАВА 4 Финансовый менеджмент, ресурсоэффективность и ресурсосбережение 69
4.1 Потенциальные потребители результатов исследования 70
4.2 Анализ конкурентных технических решений 70
4.3 SWOT-анализ 72
4.4 Планирование работ по научно-техническому исследованию 76
4.4.1 Структура работ в рамках научного исследования 76
4.5 Бюджет научно-технического исследования (НТИ) 80
4.5.1 Расчет материальных затрат НТИ 81
4.5.2 Расчет затрат на специальное оборудование для научных работ 81
4.5.3 Основная заработная плата исполнителя темы 82
4.5.4 Дополнительная заработная плата и отчисления во внебюджетные
фонды 84
4.5.5 Накладные расходы 85
4.5.6 Формирование бюджета затрат научно-исследовательского проекта 85
4.6 Определение ресурсной (ресурсосберегающей), финансовой, бюджетной, социальной и экономической эффективности исследования .. 86
ГЛАВА 5 СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 87
Введение 87
5.1 Правовые и организационные вопросы обеспечения безопасности 88
5.1.1 Специальные правовые нормы трудового законодательства 88
5.1.2 Организационные мероприятия при компоновке рабочей зоны 89
5.2 Производственная безопасность 89
5.2.1 Умственное перенапряжение, в том числе вызванное
информационной нагрузкой 90
5.2.2 Отсутствие или недостаток необходимого естественного освещения 91
5.2.3 Производственные факторы, связанные с электрическим током,
вызываемым разницей электрических потенциалов, под действие которого попадает работающий 92
5.3 Экологическая безопасность 93
5.3.1 Утилизация отходов электрооборудования 93
5.3.2 Углеродный след от использования электроэнергии 93
5.4 Безопасность в чрезвычайных ситуациях 94
Выводы 95
Заключение 97
Перечень информационных источников 99


Компания ООО «Центр разработки для обнаружения ошибок» сотрудничает со многими биржами и проводит тестирование их систем на корректность работы. В результате анализа ошибок разных бирж потребность разработки специальных торговых роботов, симулирующих поведение реальных людей на рынке, с целью обнаружить уязвимости в торговой системе является особенно актуальной. Программные компоненты, разработанные в процессе, планируется в будущем встроить в микросервисный фреймворк th2, основанный на технологиях Docker и Kubernetes.
Необходимо отметить, что тестирование торговых систем - это необходимое мероприятие для их владельцев. Ведь когда система работает с финансами, ошибки могут привести к огромным убыткам как со стороны владельцев системы, так и со стороны их клиентов.
К примеру, в мае 2012 года на фоне первичного размещения акций компании Facebook на бирже NASDAQ [17] произошел сбой систем. На ценные бумаги крупной IT корпорации возник огромный единовременный спрос. Более того, из-за стратегических ошибок компании, размещающей акции, многие инвесторы стали сразу продавать купленные акции, не увидев желаемых темпов роста. Всё это создало серьезную нагрузку на системы и привело к финансовым потерям со стороны многих клиентов и, как следствие, к судебным искам в сторону биржи.
Для предотвращения подобных случаев, необходимо при тестировании биржи иметь возможность перевести систему в определенное состояние. Так как состояние торговых систем в значительной мере зависит от поведения ее участников, для задания различных состояний требуется симулировать поведение большого количества пользователей.
Цель исследования: анализ и выбор алгоритмов и разработка на их основе программных компонентов для симуляции действий пользователей в торговой системе для приведения ее в необходимое для тестирования состояние.
Разработанные программные компоненты включают в себя торговых роботов, симулирующих действия пользователей в различных сценариях, и панель управления для централизованного управления этими роботами. В рамках данной работы акцент сделан на серверное приложение, симулирующее клиентов биржи. Разработка панели управления, способной подсоединяться и управлять роботами централизовано, рассмотрена в выпускной квалификационной работе Надежды Хромовой.
Задачи исследования:
• изучение процесса, специфики и технологий тестирования торговых систем;
• анализ алгоритмов для симуляции пользовательской активности в торговой системе;
• разработка программного обеспечения, симулирующего клиентскую активность в торговой системе;
• апробация приложения в сценарии управления им при помощи программных интерфейсов.
Система состоит из неограниченного числа запущенных копий роботов, симулирующих торговую активность клиентов определенной биржи, и панели управления, которая объединяет информацию обо всех роботах и отдает команды для выполнения различных действий.
Роботы должны обладать следующими свойствами:
• подключение к различным торговым системам;
• наличие возможности встраивания собственных алгоритмов.
• реализация на основе технологий, полностью совместимых с th2 [11].
Причина в возможности подключения к различным торговым системам следующая: предприятие занимается тестированием различных торговых систем, и для каждой системы предусмотрен свой способ взаимодействия. Необходимо предусмотреть, чтобы изменения робота для тестирования новой системы проходило с минимальными затратами труда.
Необходимость встраивания собственных алгоритмов объясняется тем, что тестирования может проводиться по множеству различных сценариев. Количество этих сценариев потенциально не ограничено и должны быть возможность их расширения.
В ходе работы были рассмотрены технологии и публикации Exactpro [9] [12], ведущей компании, специализирующейся на тестировании торговых систем. Были рассмотрены различные виды тестирования и шаблоны поведения людей на бирже, которые могут привести к проблемам в системе.
Была разработана архитектура программного комплекса для тестирования торговых систем и архитектура торговых роботов, в частности. Были спроектированы шаблонные абстрактные классы для удобного изменения робота под собственные нужды. Реализованы программные интерфейсы для возможности управления роботом при помощи другого приложения.
Также был рассмотрен процесс от изменения функционала робота под собственные цели до развертывания роботов в производственной системе и использования его через предоставленные программные интерфейсы.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе работы над ВКР был создан прототип торгового робота, который можно интегрировать в торговые системы через API интерфейсы и позволяющий реализовывать шаблоны поведения пользователей через вызов алгоритмов для создания различных ситуаций на бирже. Робот реализует функционал отправки торговых поручений, получения и хранения различной мета информации (например, операции со счетом или информация о ценных бумагах). Также робот предоставляет интерфейсы для управления из другого приложения, что позволит создать панель управления, оперирующую со множеством роботов.
При разработке корректность реализованных функций проверялась через специальный сценарий, вызывающий методы приложения и выводящий результаты в консоль. Качество исполнения программных интерфейсов робота было опробовано через клиент Postman. Все результаты работы соответствуют ожиданиям, ошибок не выявлено.
Одна запущенная копия робота не окажет значительного влияния на систему. Однако, множество роботов с одновременно запущенным алгоритмом способны выявить проблемы системы. При централизованном управлении роботы уже смогут создавать интересные торговые ситуации и серьезные нагрузки. Postman может быть использован только для управления одной копией робота, что противоречит идее проекта. Поэтому рекомендуется использовать специальные инструменты, такие как панель управления, созданная Надеждой Хромовой в рамках ее выпускной квалификационной работы.
Роботов рекомендуется запускать, используя инструменты для автоматического запуска множества копий программ (например, docker-compose или Kubernetes). У каждой копии необходимо только сменить настройки, отвечающие за связь с определенным аккаунтом торговой системы. Таким образом, каждый робот будет представлять собой симулятор отдельного пользователя с отдельным счетом.
На данном этапе роботы пригодны для апробации в условиях реальных производственных задач. Для этого только необходимо получить доступ к API интерфейсам торговой системы и реализовать собственные настройки робота.


1. About | Node.js [Электронный ресурс] // Режим доступа: https: //nodej s. org/en/about/
2. ASP.NET | Open-source web framework for .NET [Электронный
ресурс] // Режим доступа: https://dotnet.microsoft.com/en-
us/apps/aspnet
3. Documentation | NestJS - A progressive Node.js framework [Электронный ресурс] // Режим доступа:https://docs.nestjs.com/
4. Express - Node.js web application framework [Электронный ресурс] // Режим доступа:https://expressjs.com/
5. Fastify, Fast and low overhead web framework, for Node.js [Электронный ресурс] // Режим доступа:https://www.fastify.io/
6. Introduction | Socket.IO [Электронный ресурс] // Режим доступа: https://socket.io/docs/v4/
7. Prisma Documentation | Concepts, Guides, and Reference [Электронный ресурс] // Режим доступа:https://www.prisma.io/docs/
8. QUIK — ARQA Technologies [Электронный ресурс] // Режим доступа:https: //arqatech.com/ru/products/quik/
9. Reference test harness for algorithmic trading platforms | EXACTPRO
[Электронный ресурс] // Режим доступа:
https://exactpro.com/ideas/research-papers/reference-test-harness-algorithmic-trading-platforms
10.Sequelize | Feature-rich ORM for modern TypeScript & JavaScript [Электронный ресурс] // Режим доступа:https://sequelize.org/
11.SQLite Home Page [Электронный ресурс] // Режим доступа: https://www.sqlite.org/index.html
12. th2 - Test Automation Framework for Financial Markets | EXACTPRO [Электронный ресурс] // Режим доступа:https://exactpro.com/test-tools/th2
13. TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms. [Электронный ресурс] // Режим доступа:https://typeorm.io/
14. TypeScript: JavaScript With Syntax For Types. [Электронный ресурс] // Режим доступа:https://www.typescriptlang.org/
15. What are microservices? [Электронный ресурс] // Режим доступа: https://microservices.io/
16. День, который вошел в историю. Прошло 10 лет после Flash Crash
[Электронный ресурс] // Режим доступа: https://bcs-
express.ru/novosti-i-analitika/den-kotoryi-voshel-v-istoriiu-proshlo-10-let-posle-flash-crash
17. Первые итоги IPO Facebook: страхи, надежды и большой скандал | Forbes.ru[Электронный ресурс] // Режим доступа: https://www.forbes.ru/tehno/82475-pervye-dni-posle-ipo-facebook-strahi-i-nadezhdy


Работу высылаем на протяжении 30 минут после оплаты.




©2026 Cервис помощи студентам в выполнении работ