Подготовка датасета на Python для обучения модели

5 000 руб. за проект
31 января 2025, 21:36 • 4 отклика • 21 просмотр
"""
Техническое задание на подготовку 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
  • Добавление временных признаков: дня недели и месяца
  1. Нормализация:
  • Отдельная обработка для временных меток и целевой переменной
  • Применение выбранного метода (MinMax/Standard) к числовым колонкам
  1. Целевая переменная:
  • Создание колонки 'target' как процентного изменения цены
    в следующий 5-минутный интервал
  1. Разделение данных:
  • Train: все данные до TEST_START
  • Test: данные от TEST_START
  1. Визуализация
4.1. Статистический анализ:
  • Вывод df.describe() после обработки
  • Гистограммы распределения ключевых параметров
4.2. Графики:
  • Динамика цен закрытия с выделением тестового периода
  • Скользящее среднее цены + volatility за 1 час
  • Свечные графики для аномальных дней
4.3. Корреляционный анализ:
  • Тепловая карта корреляций между фичами
  • Отдельная визуализация корреляций с целевой переменной
  1. Требования к коду
  • Использование pandas для обработки данных
  • Визуализация с matplotlib/seaborn
  • Инкапсуляция логики в функциях с документацией
  • Логирование ключевых этапов
  • Сохранение обработанных данных в parquet-файлы
  1. Выходные данные
  • Обучен и возвращен подготовленный DataFrame
  • Сохранение графиков в /visualizations/
  • Экспорт статистик в отчет.txt




Файлы