- Требования: предполагается, что у вас установлен jupyter-notebook, python3.6 (или выше), pip 0.1 pip3 install -r requirements.txt
- Для получения данных, требуется зарегистрироваться на сайте financialmodelingprep.com (пакет Starter) и получить токен. Технически, возможно обойтись пакетом Free, "растянув" загрузку на несколько дней, чтобоы уложиться в лимиты, но этот вариант не описан в настоящей инструкции.
- Переименуйте файл config.py.sample в config.py. Отредактируйте его, вписав свой токен.
- Переименуйте шаблон базы данных invest.db.sample (например в invest.db)
- Любым редактором Sqlite (например DB Browser for SQLite) отредактируйте таблицу FRS, добавив историю ставок ФРС США. Это единственные данные, которые требуется вносить вручную, но они имеют очень большое значение для качества работы модели.
- Получение истории цен. В качестве источника данных используется yahoo finance.В jupyter-notebook откройте файл GetData.ipynb. Отредактируйте переменные first_year (первый год - обычно 2000), last_year (последний год - обычно текущий), base (имя базы данных из п.3). Также можно отредактировать зачение переменных SP_SYMBOLS и OLD_SP - по-умолчанию они содержат список акций, которые были исключены из индекса S&P 500 (для получения истории) и акций, которые сейчас включены в индекс. Вы можете определить для себя другие критерии для выбора акций. Выполните все ячейки. Получение цен занимает несколько часов.
- Получение истории выплаты дивидендов. В качестве источника данных используется yahoo finance.В jupyter-notebook откройте файл GetDividents.ipynb. Внесите изменения аналогично п.5. Выполните все ячейки.
- Получение истории финансовых показателей. В качестве источника данных используется financialmodelingprep. В jupyter-notebook откройте файл GetFinancial.ipynb. Внесите изменения аналогично п.5. Выполните все ячейки.
- Получение сектора и индустрии. В качестве источника данных используется yahoo finance.В jupyter-notebook откройте файл GetSectorsAndIdustries.ipynb. Внесите изменения аналогично п.5. Выполните все ячейки.
- Получение истории цен фьючерсов на comodities (товары широкого потребления).В качестве источника данных используется yahoo finance. В jupyter-notebook откройте файл GetComodity.ipynb. Внесите изменения аналогично п.5. Выполните все ячейки.
- Создание учебного набора данных (training dataset). В jupyter-notebook откройте файл GetComodity.ipynb. Важные замечания: 1. Последний год в обучающей выборке, должен быть на 1 меньше чем последний год в базе, а первый год в выборке должен быть на 1 больше чем первый год в базе. 2. В связи с тем, что финансовые показатели за прошедший год, публикуются в первые 3 месяца текущего года, граница принятия решения должна быть смещена как минимум на 1 апреля. Т.е. 2020 год в нашем случае начинается 1.04.2020 и заканчивается 31.03.2021. Пример: для прогнозирования данных в 2021-м году, необходимо готовить обучающую выборку не раньше 1 апреля, при этом использовать диапазон 2001-2019 годы. Значения для годов в обучающей выборке задаются в переменных first_year и last_year. Месяц и день границы принятия решения в переменных edge_month и edge_day. После выполнения всех ячеек, набор данных будет сохранен в файл y_train.csv
- Обучение модели. Выполните все ячейки в файле Train.ipynb. Модель будет сохранена в файл model.cbm
- Создание датасета для прогнозирования. Откройте файл CreatePredictDataset.ipynb. Измените значение переменной year на последний полный год. Т.е. в 2021 году, установите значение в 2020. Выполните все ячейки. Данные будут сохранены в файл y_test.csv
- Прогнозироание. Выполните все ячейки файла Predict.ipynb. Вы получите список из 7 наиболее перспективных акций года.
-
Notifications
You must be signed in to change notification settings - Fork 0
Insaned79/gradientindex
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published