Capstone Project: инвестиции и торговля
1 min read
Обзор проекта:
Этот проект посвящен идее использования ИИ для прогнозирования тенденций движения акций на разных временных отрезках. Он сочетает в себе методы загрузки и изучения данных с разных тикеров, чтобы получить представление о том, насколько хорошо цена акции будет работать в будущем. Для этого он использует несколько ML-моделей для прогнозирования.
Программа состоит из нескольких классов Python и записной книжки Jupter, которая разделена на три основных раздела:
Подготовить данные
(Скачать и очистить и вычислить функции)
Наборы данных анализа
(Предоставляет статистические числа и визуализации для изучения набора данных)
Прогнозирование
(Выполняет прогнозы через KI)
В записной книжке есть виджеты, которые позволяют пользователю установить список символов тикера, статистические значения, диапазон загрузки исторических данных и временные рамки, в которые должно произойти прогнозирование.
Во время реализации этой программы я собирался использовать yfinance API, который предоставляет ежедневные исторические данные для большого количества тикеров. К сожалению, со 2 июля 2021 года API сталкивается с некоторыми проблемами, поэтому
Я решил загрузить файлы CSV с тикеров Nvidia и Daimler AG с 22.02.2010 по 5 июля 2021 года.
После того, как API снова будет в сети, записная книжка должна автоматически использовать
этого.
По умолчанию программа предоставляет прогнозы на 7, 14 и 30 дней.
На основе данной архитектуры классы можно использовать для создания веб-приложений или мобильных приложений позже.
Предварительная обработка данных:
Для поиска данных программа использует «yfinance API». Он запрашивает информацию об акциях от Yahoo. Для начала пользователь добавляет символы тикера в поле формы и указывает временной диапазон для загрузки исторических данных.
API возвращает фрейм данных, который состоит из даты в виде индекса, «цены открытия», «минимальной цены», «максимальной цены», «цены закрытия» и «объема» торгуемых акций.
Кроме того, пользователь может настроить несколько окон прогнозов и настроить некоторые статистические скользящие индикаторы, которые являются частью столбцов функций, с помощью которых KI изучает.
Всего в процессе обработки данных программа предоставляет семь различных индикаторов:
Стандартное отклонение прокатки
Простая скользящая средняя (два)
Верхняя-нижняя полоса Боллинджера
Ежедневные возвраты
Накопленная доходность
Индекс относительной силы (RSI)
Однако, прежде чем приступить к вычислению перечисленных выше функций, я выполняю несколько задач по очистке данных, чтобы предоставить набор данных, который лучше подходит для анализа и визуализации.
Обычно API предоставляет данные только за торговые дни. Это означает, что если бы вы визуализировали тренд акций, были бы некоторые пробелы. Из-за этого я собираюсь выбрать первый и последний индексы даты загруженного набора данных и создать новый фрейм данных со всем диапазоном дат, поэтому выходные и праздничные дни также включены. Затем я присоединяю данный набор данных к новому фрейму данных и использую метод фронтальной заливки для получения непрерывных данных.