Details

Title: Разработка серверной части веб-приложения для тестирования торговых стратегий на архивных данных: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators: Стариков Андрей Олегович
Scientific adviser: Маслаков Алексей Павлович
Other creators: Локшина Екатерина Геннадиевна
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2021
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: серверная часть; гибкая архитектура; трейдинг; http; rest api; стратегии; json; проверка гипотез; автоматизация; python; django; алгоритмическая торговля; server side; flexible architecture; trading; strategies; hypothesis testing; automation; algorithmic trading
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2021/vr/vr21-1050
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\13275

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

С помощью компьютерных технологий происходит автоматизация процесса тестирования стратегий, что в итоге позволяет проверять торговые гипотезы и предположения гораздо быстрее, а также анализировать комплексно анализировать результаты. В данной выпускной квалификационной работе рассматривается разработка серверной части веб-приложения для тестирования торговых стратегий на архивных данных. Анализируются статьи профильной области и существующие решения. Реализуются гибкие подходы к построению архитектуры серверного приложения, а также выбираются наиболее подходящие инструменты разработки. Основой для серверной части является язык Python с веб-фреймворком Django. С целью возможности универсального взаимодействия с серверным приложением строится программный интерфейс, который реализует обмен данными по протоколу HTTP с использованием REST API. Данный API реализуется с помощью фреймворка Django Rest Framework для языка Python. В результате было разработано серверное приложение для тестирования торговых стратегий на архивных данных. Также серверная часть была протестирована и показала корректную работу во всех сценариях использования.

With the help of computer technologies, the process of testing strategies is being automated, which ultimately allows you to test trading hypotheses and assumptions much faster, as well as analyze the results in a comprehensive manner. In this final qualifying work, the development of the server side of a web application for testing trading strategies on archived data is considered. The articles of the specialized field and existing solutions are analyzed. Flexible approaches to building the architecture of the server application are implemented, and the most appropriate development tools are selected. The back end is based on Python with the Django web framework. To enable universal interaction with the server application, a programming interface is built that implements data exchange via the HTTP protocol using the REST API. This API is implemented using the Django Rest Framework for the Python language. As a result, a server application was developed for testing trading strategies on archived data. Also, the server side was tested and showed correct operation in all scenarios of use.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • Введение
  • Глава 1. Обзор предметной области
    • 1.1. Сравнение с существующими решениями
    • 1.2. Обзор статей и литературы
      • 1.2.1. Научные статьи
      • 1.2.2. Литература
  • Глава 2. Выбор технических инструментов
    • 2.1. Тип программного продукта
      • 2.1.1. Веб-приложение
      • 2.1.2. Автономное приложение
    • 2.2. Язык программирования
      • 2.2.1. Язык высокого уровня – Python
      • 2.2.2. Выбор подхода к реализации
      • 2.2.3. Выбор веб-фреймворка
    • 2.3. СУБД
      • 2.3.1. NoSQL подход
      • 2.3.2. SQL подход
  • Глава 3. Архитектура
    • 3.1. Паттерны проектирования
      • 3.1.1. MVС
      • 3.1.2. MVP
      • 3.1.3. Django MVC
    • 3.2. Архитектура веб-приложения
      • 3.2.1. Взаимодействие по REST API
    • 3.3. Архитектура серверной части
      • 3.3.1. Django Rest Framework
      • 3.3.2. Django Apps
      • 3.3.3. Backtrader
      • 3.3.4. Tinkoff
  • Глава 4. Реализация серверной части
    • 4.1. Настройка окружения
    • 4.2. Структура проекта
      • 4.2.1. Структура Django приложений
    • 4.3. Создание базы данных
    • 4.4. Реализация REST API
      • 4.4.1. Описание конечных точек API
      • 4.4.2. Структура JSON
  • Глава 5. Тестирование серверной части
    • 5.1. Модульные тесты
    • 5.2. Интеграционные тесты
    • 5.2.1. Сценарии тестирования
    • 5.3. Ручное тестирование
      • 5.3.1. Django Rest Framework
      • 5.3.2. Postman
  • Заключение
  • Литература
  • Приложение. Вложенные JSON-файлы в запросах и ответах.

Usage statistics

stat Access count: 12
Last 30 days: 1
Detailed usage statistics