Подготовка датасета на Python для обучения модели
5 000 руб. за проект
"""
Техническое задание на подготовку DataFrame для прогнозирования цены акций
1. Цель
Создать модуль на Python для подготовки DataFrame из временных рядов MOEX ALGOPACK
для обучения ML-модели прогнозирования цены акций на следующий 5-минутный интервал.
2. Входные данные
- Источники:
* SuperCandles (tradeStats, ObStats, Stats) для тикеров из заданного списка
* Индекс IMOEX
* Средний курс RUB/CNY
- Формат: 5-минутные временные ряды
- Период данных: задается в коде (по умолчанию 2020-01-01 - 2023-12-31)
3. Требования к реализации
3.1. Конфигурационные параметры
```python
TICKERS = ['GAZP', 'SBER', 'LKOH'] # Список тикеров
REMOVE_COLS = [ # Колонки для удаления
'irrelevant_column1',
'market_cap'
]
TEST_START = '2023-01-01' # Начало тестового периода
NORMALIZATION_METHOD = 'standard' # Стандартизация (z-score)
3.2. Этапы обработки данных
Техническое задание на подготовку DataFrame для прогнозирования цены акций
1. Цель
Создать модуль на Python для подготовки DataFrame из временных рядов MOEX ALGOPACK
для обучения ML-модели прогнозирования цены акций на следующий 5-минутный интервал.
2. Входные данные
- Источники:
* SuperCandles (tradeStats, ObStats, Stats) для тикеров из заданного списка
* Индекс IMOEX
* Средний курс RUB/CNY
- Формат: 5-минутные временные ряды
- Период данных: задается в коде (по умолчанию 2020-01-01 - 2023-12-31)
3. Требования к реализации
3.1. Конфигурационные параметры
```python
TICKERS = ['GAZP', 'SBER', 'LKOH'] # Список тикеров
REMOVE_COLS = [ # Колонки для удаления
'irrelevant_column1',
'market_cap'
]
TEST_START = '2023-01-01' # Начало тестового периода
NORMALIZATION_METHOD = 'standard' # Стандартизация (z-score)
3.2. Этапы обработки данных
- Загрузка данных:
- Получение SuperCandles для каждого тикера через API ALGOPACK
- Загрузка IMOEX и RUB/CNY из отдельных CSV/API
- Объединение данных по временной метке
- Предобработка:
- Удаление колонок из REMOVE_COLS
- Обработка пропусков:
- Интерполяция линейной для числовых данных
- Удаление строк с остающимися NaN
- Добавление временных признаков: дня недели и месяца
- Нормализация:
- Отдельная обработка для временных меток и целевой переменной
- Применение выбранного метода (MinMax/Standard) к числовым колонкам
- Целевая переменная:
- Создание колонки 'target' как процентного изменения цены
в следующий 5-минутный интервал
- Разделение данных:
- Train: все данные до TEST_START
- Test: данные от TEST_START
- Визуализация
- Вывод df.describe() после обработки
- Гистограммы распределения ключевых параметров
- Динамика цен закрытия с выделением тестового периода
- Скользящее среднее цены + volatility за 1 час
- Свечные графики для аномальных дней
- Тепловая карта корреляций между фичами
- Отдельная визуализация корреляций с целевой переменной
- Требования к коду
- Использование pandas для обработки данных
- Визуализация с matplotlib/seaborn
- Инкапсуляция логики в функциях с документацией
- Логирование ключевых этапов
- Сохранение обработанных данных в parquet-файлы
- Выходные данные
- Обучен и возвращен подготовленный DataFrame
- Сохранение графиков в /visualizations/
- Экспорт статистик в отчет.txt
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.