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

Весь код доступен здесь: https://github.com/Pran-Ker/Stock-Analyst

1. Введение

1.1 Цель

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

1.2 Предполагаемая аудитория и рекомендации по чтению

Предполагаемая аудитория — разработчики, менеджеры проектов, специалисты по маркетингу, программисты, тестировщики и составители документации.

SRS организована таким образом, чтобы руководитель проекта и сотрудники отдела маркетинга могли понять общую идею из 2.Общего описания. Для технических целей (для тестировщиков и программистов) подробности кода будут в файле 4. Системные функции.

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

1.3 Объем продукта

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

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

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

1.4 Ссылки

2. Общее описание

2.1 Функции продукта

Программное обеспечение направлено на достижение:

  1. Самооптимизирующийся алгоритм прогнозирования фондового рынка
  2. Web Scraping для сбора данных, связанных с каждой компанией
  3. Отображение соответствующей информации
  4. Предоставление графиков фондового рынка
  5. Взаимодействие с пользователем через поиск и комментирование

2.2 Классы пользователей и характеристики

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

Использование для большинства пользователей будет каждые пару часов ежедневно. В противном случае это может быть одноразовая вещь.

2.3 Ограничения дизайна и реализации

План реализации:

3.Требования к внешнему интерфейсу

3.1 Пользовательские интерфейсы

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

3.2 Аппаратные интерфейсы

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

3.3 Программные интерфейсы

3.4 Коммуникационные интерфейсы

Веб-сайт будет иметь DNS, который будет основан на HTTPS для обеспечения безопасности.

4. Особенности системы

Программное обеспечение должно обеспечивать все указанные ниже функции.

4.1 Описание и приоритет

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

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

4.2 Функциональные требования

  • Самооптимизирующийся алгоритм прогнозирования фондового рынка
  • Алгоритм, основанный на анализе настроений, который понимает, будет ли рынок расти или нет.
  • Web Scraping для сбора данных, связанных с каждой компанией
  • Соберите информацию для переоценки акций.
  • Отображение соответствующей информации
  • Цены на акции актуальны.
  • Предоставление графиков фондового рынка
  • Таблицы и графики о различных компаниях.
  • Взаимодействие с пользователем через поиск и комментирование
  • Позволяет взаимодействие с пользователем.

4.3 Цели тестирования

  • Прослеживаемость между требованиями, тестами, дефектами, исполнениями
  • Определите многократно используемые предварительные условия и свяжите их с тестами
  • Организуйте тесты в папках и наборах тестов
  • Планы тестирования для отслеживания прогресса
  • Тестовые среды
  • BDD — Написание сценариев Cucumber в Jira
  • Интегрируется со средами автоматизации тестирования (Selenium, JUnit, Nunit, Robot, …)
  • Встроенный REST-API.
  • Интеграция CI (Bamboo, Jenkins)
  • Встроенные отчеты
  • Он широко используется глобальными 500 компаниями, потому что он объединяет подробные отчеты, а также предлагает исправления уязвимостей или ошибок.

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

4.4 Конфигурация инструмента тестирования

  1. Настройка среды, в которой была разработана веб-страница. Например, React, Angular, Vue, Jira и т. д.
  2. Установка количества пользователей, которые будут его использовать.
  3. Установите минимальный уровень безопасности, потому что у нас нет конфиденциальных данных.
  4. Введите SaaS (программное обеспечение как услуга), если оно используется на веб-странице.
  5. Введите PaaS (продукт как услуга), если он используется на веб-странице. Здесь мы выбрали Twitter, потому что наш сервис использует Twitter для очистки твитов.
  6. Установите языки, используемые в кодах. Мы использовали питон.

5. Проект

5.1 Минимально жизнеспособный продукт:

5.2 Окончательный результат:

5.3 Тестирование:

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

6. Другие нефункциональные требования

6.1 Требования к производительности

Использование облака AWS для обучения модели — гораздо лучшая альтернатива. Причина этого заключается в том, что можно обучить гораздо более надежные модели ML, поскольку они не ограничены вычислением количества.

6.2 Требования безопасности

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

6.3 Требования безопасности

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

6.4 Атрибуты качества программного обеспечения

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

6.5 Бизнес-правила

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