Соберите данные
Загрузите историю SBER с Мосбиржи через MOEX ISS API или экспортируйте из Quik в CSV. Нужна минимум 5 лет дневных данных (OHLCV): open, high, low, close, volume. Проверьте, нет ли пропусков и дублей.
Подготовьте признаки
Напишите скрипт на Python, который из цены вычисляет: RSI, MACD, скользящие средние (20, 50, 200 дней), волатильность (20-дневная), лаги цены (вчера, неделю назад). Нормализуйте (приведите к диапазону 0–1) чтобы модель не переоценивала большие числа.
Разделите выборку
70% данных (например, 2018–2022) используйте на обучение, 15% (2023) на валидацию, 15% (2024–2025) на тест. Walk-forward validation: обучайте на растущем окне (месяц за месяцем), тестируйте на свежих неделях.
Обучите модель
Начните с логистической регрессии или случайного леса (Random Forest) — они быстрые. Если MAE на тесте > ±10 ₽, добавьте LSTM (долгую краткосрочную память). Используйте PyTorch или Hugging Face для удобства. Избегайте переобучения: если точность на обучении 95%, но на тесте 55%, нужна регуляризация.
Внедрите и мониторьте
Запустите модель на свежих данных (она не должна трогать будущее). Каждый день записывайте предсказание и реальную цену, считайте MAE скользящей (за последние 20 дней). Если ошибка растёт, пересчитайте модель на свежем окне либо добавьте признаки (например, волатильность).