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