From 4b3f7c1ae91982071d79e16dcbfba8eed7b53d1d Mon Sep 17 00:00:00 2001 From: neirosetochka <72963340+neirosetochka@users.noreply.github.com> Date: Wed, 29 May 2024 02:16:54 +0300 Subject: [PATCH] Add files via upload --- README.md | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2413f31..13508fd 100644 --- a/README.md +++ b/README.md @@ -1 +1,43 @@ -# инференс модели +# Прогнозирование цены закрытия индекса МосБиржи +Наша модель прогнозирует цену закрытия индекса МосБиржи на текущий день, основываясь на данных, известных при открытии биржи и статей с новостных источников. Это может быть полезно проп-трейдерам/equity-тредерам: +* Так как динамика индекса МосБиржи показывает динамику всего Российского фондового рынка, на основании поведения индекса можно сделать предположение о поведении акций - основных компонентов индекса (Лукойл/Газпром/Сбер и т. д.). +* Есть фонды, составы портфелей которых реплицируют индекс МосБиржи (практически 1:1). Соответственно, зная утром, где будет цена, вечером можно открыть короткие/длинные позиции для заработка на изменении значения индекса. + +## Анализ временного ряда +Для бейзлайна и грамотного построения признакового пространства сначала анализировался сам временной ряд. +
+ +
+Затем строилась модель Тейла-Вейджа, которая использовалась для сравнения качества прогнозирования. ++ + +
+ +## Признаки +Наше признаковое пространство состоит из следующих компонент: +* данные предыдущего дня (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. +## Результаты +Модель хорошо уловила тенденцию цены индекса: ++ +
+ +## Дизайн +Минималистичный интерфейс позволяет по введенным данным предсказать цену закрытия: ++ +