-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5ad2ead
commit 4b3f7c1
Showing
1 changed file
with
43 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,43 @@ | ||
# инференс модели | ||
# Прогнозирование цены закрытия индекса МосБиржи | ||
Наша модель прогнозирует цену закрытия индекса МосБиржи на текущий день, основываясь на данных, известных при открытии биржи и статей с новостных источников. Это может быть полезно проп-трейдерам/equity-тредерам: | ||
* Так как динамика индекса МосБиржи показывает динамику всего Российского фондового рынка, на основании поведения индекса можно сделать предположение о поведении акций - основных компонентов индекса (Лукойл/Газпром/Сбер и т. д.). | ||
* Есть фонды, составы портфелей которых реплицируют индекс МосБиржи (практически 1:1). Соответственно, зная утром, где будет цена, вечером можно открыть короткие/длинные позиции для заработка на изменении значения индекса. | ||
|
||
## Анализ временного ряда | ||
Для бейзлайна и грамотного построения признакового пространства сначала анализировался сам временной ряд. | ||
<p align="center"> | ||
<img src="https://github.com/neirosetochka/MOEX-news-prediction/assets/72963340/0ad145a6-3c18-4947-a88c-f1ed91dfdb63" width=70%> | ||
</p> | ||
Затем строилась модель Тейла-Вейджа, которая использовалась для сравнения качества прогнозирования. | ||
<p float="left"> | ||
<img src="https://github.com/neirosetochka/MOEX-news-prediction/assets/72963340/6a0748ca-116e-4cc7-a6f4-cee44ccb2631" width=50% /> | ||
<img src="https://github.com/neirosetochka/MOEX-news-prediction/assets/72963340/046f38eb-1c25-424f-b43f-c33b6feabdcf" width=40% /> | ||
</p> | ||
|
||
## Признаки | ||
Наше признаковое пространство состоит из следующих компонент: | ||
* данные предыдущего дня (close, divisor, capitalization); | ||
* временные данные (день, месяц, день недели); | ||
* новости (политика, финансы, экономика). | ||
|
||
## Представление состояния на текущий день | ||
Каждый день должен характеризоваться «состоянием мира» на данный момент: то есть, мы должны иметь вектор, агрегирующий информацию о новостях сегодняшего дня и всех предыдущих (он также должен легко обновляться при появлении новой статьи). | ||
Поэтому мы: | ||
1. Получили векторное представление всех статей с помощью BERT | ||
2. С помощью PCA понизили размерность этих представлений. | ||
3. Каждый день представили средним арифметическим получившихся на шаге 2 представлений. | ||
4. Для каждого дня получили его представление с учетом предыдущей истории с помощью скользящего среднего: $h_t = \alpha * h_{t-1} + (1 - \alpha) * v_t$\ | ||
Здесь $v_t$ - представление текущего дня на шаге 3; $\alpha$ - гиперпараметр. | ||
|
||
Признавое описание объектов затем подается CatBoostRegressor. | ||
## Результаты | ||
Модель хорошо уловила тенденцию цены индекса: | ||
<p align="center"> | ||
<img src="https://github.com/neirosetochka/MOEX-news-prediction/assets/72963340/afeb6cf7-911c-4102-91c1-ab85c2a4c116" width=80%> | ||
</p> | ||
|
||
## Дизайн | ||
Минималистичный интерфейс позволяет по введенным данным предсказать цену закрытия: | ||
<p align="center"> | ||
<img src="https://github.com/neirosetochka/MOEX-news-prediction/assets/72963340/cb1ce6f3-eb74-4e98-b8d7-9a0f08dfb900" width=80%> | ||
</p> |