• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2025/2026

Машинное обучение для фондового рынка

Статус: Маго-лего
Когда читается: 3 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 3
Контактные часы: 28

Программа дисциплины

Аннотация

Курс посвящен разработке и тестированию автоматизированных торговых систем для фондового рынка: от базового количественного анализа и проверки статистических гипотез до построения продвинутых прогнозных моделей с использованием машинного и глубокого обучения. Программа курса охватывает весь технологический цикл: от работы с финансовыми данными через API и построения простых стратегий до создания комплексных решений на основе нейронных сетей (LSTM, Transformers, GNN), оптимизации портфеля, управления рисками и промышленного развертывания (MLOps). Особое внимание на семинарах, составляющих практическую часть курса, уделяется применению методов в условиях реального рынка (real market), включая особенности высокочастотной торговли (HFT), поведенческие факторы и работу с цифровыми активами (DeFi).
Цель освоения дисциплины

Цель освоения дисциплины

  • Владеть математическими и статистическими методами анализа финансовых временных рядов, включая модели доходностей, автокорреляций и волатильности (ARCH/GARCH), а также понимать их применимость и ограничения на реальных рынках.
  • Уметь строить воспроизводимые пайплайны работы с финансовыми данными (OHLCV, L1/L2 order book, тиковые и внешние данные): сбор через API, очистка, ресемплинг, синхронизация и корректная подготовка данных.
  • Уметь формализовывать торговые идеи в виде алгоритмических стратегий (trend-following, mean-reversion, statistical arbitrage), реализовывать корректный бэктестинг с учётом транзакционных издержек, а также выявлять основные источники статистических смещений (look-ahead bias и survivorship bias).
  • Владеть методами валидации и оптимизации стратегий и моделей для временных рядов: Out-of-Sample тестирование, Walk-Forward оптимизация, rolling-window схемы и анализ устойчивости параметров.
  • Уметь производить feature engineering и обучать классические и ансамблевые ML-модели (линейные модели, SVM, Random Forest, Gradient Boosting) для финансовых задач с контролем переобучения и интерпретацией результатов (feature importance, SHAP).
  • Владеть методами глубокого обучения для финансовых временных рядов, включая RNN/LSTM/GRU, CNN, Transformer и графовые нейронные сети (GNN), и интегрировать их предсказания в торговые стратегии.
  • Уметь применять методы обучения с подкреплением (DQN, PPO) для формализации и решения торговых задач с учётом ограничений по риску и капиталу.
  • Владеть методами количественного риск-менеджмента и портфельной оптимизации (VaR/CVaR, стресс-тестирование, volatility targeting, модель Марковица, модель Блэка–Литтермана).
  • Иметь практические навыки промышленного внедрения торговых ML-систем: воспроизводимость экспериментов, MLOps, мониторинг качества и стабильности моделей, а также понимание регуляторных и комплаенс-ограничений.
Планируемые результаты обучения

Планируемые результаты обучения

  • Слушатели научатся рассчитывать лог-доходности, находить скользящую волатильность, определять автокорреляционную функцию.
  • Слушатели научатся загружать финансовые данные через API, выполнять ресемплинг, очистку и синхронизацию OHLCV-данных для нескольких активов.
  • Студенты напишут универсальный скрипт для сбора данных через API.
  • Слушатели научатся реализовывать и сравнивать трендовую (на пересечении EMA) и контртрендовую (на Z-score) стратегию с использованием vectorbt.
  • Слушатели научатся работать с минутными данными и стаканом, строить сигнал на дисбалансе объема.
  • Слушатели научатся определять спред и строить графики для пар акций, а также проводить тест на коинтеграцию.
  • Слушатели научатся реализовывать Walk-Forward валидацию на Python для стратегии из темы 3.
  • Слушатели научатся проводить глубокую очистку финансовых данных и создавать комплексный датасет из 20+ признаков.
  • Студенты обучат и интерпретируют модель.
  • Слушатели научатся применять SVM для фильтрации шумовых сигналов.
  • Слушатели научатся строить и настраивать ансамблевую модель для прогноза направленности рынка на часовом таймфрейме.
  • Слушатели научатся проводить fine-tuning модели BERT для классификации тональности заголовков новостей.
  • Студенты интегрируют семантический сигнал в торговую стратегию с помощью API-ключа.
  • Слушатели научатся рассчитывать VaR/CVaR для портфеля.
  • Слушатели научатся прогнозировать доходность и волатильность с помощью ARIMA и GARCH.
  • Студенты используют предсказанную волатильность для масштабирования позиции (Volatility Targeting).
  • Слушатели научатся строить, обучать и валидировать LSTM-модель для прогноза лог-нормализованной цены, студенты сравнят её с результатами Gradient Boosting.
  • Слушатели научатся строить CNN для классификации свечных паттернов. Также студенты создадут гибридную CNN-LSTM модель.
  • Слушатели научатся строить граф корреляций между акциями из индекса S&P 500 с использованием NetworkX и библиотек для анализа временных рядов.
  • Студенты обучат модель GraphSAGE или GAT на PyTorch Geometric для задачи многоклассового прогноза (Long/Short/Flat) и интегрируют предсказания GNN-модели в торговую стратегию парного или статистического арбитража.
  • Слушатели научатся создавать торговую среду (Trading Gym).
  • Студенты обучат агента DQN для тестирования краткосрочной торговой стратегии, сравнят работу RL-агента с простой стратегией SMA или «sell/hold» и визуализируют кривую equity, сигналы агента и оценят риск стратегии.
  • Слушатели научатся оптимизировать портфель с помощью модуля PyPortfolioOpt в Python.
  • Слушатели научатся собирать Docker-образ с торговой моделью.
  • Студенты настроят пайплайн мониторинга с использованием MLflow и проведут презентацию и обсуждение итоговых проектов студентов.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в алгоритмическую торговлю и статистические закономерности
  • Финансовые данные: структура, типы, источники
  • Основы построения торговых стратегий. Тренд и Mean-Reversion
  • Краткосрочная торговля (дейтрейдинг) и микроструктура рынка
  • Спреды, арбитраж и управление капиталом
  • Бэктестинг, Walk-Forward оптимизация и валидация стратегий
  • Машинное обучение для финансов: базовые модели и предобработка данных
  • Классические ML-модели: от SVM до кластеризации
  • Ансамбли моделей в трейдинге: Random Forest и Gradient Boosting
  • Анализ тональности (Sentiment Analysis) и альтернативные данные
  • Поведенческие финансы, риск-менеджмент и психометрия
  • Классические модели временных рядов: ARIMA, GARCH и их расширения
  • Нейронные сети для временных рядов: RNN, LSTM, GRU
  • Сверточные и гибридные архитектуры. Attention и Transformers
  • Графовые нейронные сети (GNN) в финансовой аналитике
  • Reinforcement Learning (RL) в трейдинге
  • Оптимизация портфеля: от Марковица до Блэка-Литтермана
  • Промышленное внедрение, MLOps и тренды алготрейдинга
Элементы контроля

Элементы контроля

  • неблокирующий ДЗ_1
    Название: Реализация базовой алгоритмической торговой стратегии на языке Python. Студентам необходимо выбрать два ликвидных актива с российского или американского рынка (например, SBER + GAZP или AAPL + MSFT) и реализовать трендовую (пересечение двух EMA) или контртрендовую (на основе Z-score) стратегию на языке Python. После написания кода стратегии необходимо произвести бэктест и Walk-forward оптимизацию стратегии с помощью библиотеки vectorbt, рассчитать метрики (Sharpe, Sortino, max drawdown, Calmar) и построить кривую equity. В конце работы студентам необходимо сформировать отчет о реализации разработанной торговой стратегии и пример ее работы для рассмотренной пары активов, после чего необходимо загрузить свой Jupyter notebook вместе с отчетом на репозиторий GitHub.
  • неблокирующий ДЗ_2
    Название: Построение модели машинного обучения для предсказания направления движения цены акций на американском или российском рынках. Студентам необходимо выбрать один ликвидный актив американской (например, AAPL, MSFT, SPY) или российской биржи (например, SBER, GAZP, IMOEX), сформировать датасет с минимум 20 техническими признаками (лаги лог-доходностей, rolling статистики, стандартное отклонение, Z-score нормализация и др.), добавить альтернативный сигнал на основе анализа тональности финансовых новостей (FinBERT, DistilBERT), сформулировать либо задачу предсказания направления следующего дневного движения (up/down), либо регрессию для предсказания лог-доходности. Для полученной модели произвести временную валидацию модели и построить SHAP-визуализацию значимости отобранных признаков.
  • неблокирующий ДЗ_3
    Название: Гибридная модель глубокого обучения для прогнозирования волатильности с интеграцией поведенческих факторов и риск-менеджмента. Студентам необходимо выбрать один ликвидный актив (например, индекс S&P 500, MOEX или крипто-пару BTC/USDT), собрать минутные данные для расчёта волатильности за период не менее года с использованием API (yfinance, MOEX ISS или ccxt), рассчитать историческую волатильность, подготовить последовательные признаки, реализовать базовую модель GARCH для прогнозирования волатильности, построить гибридную DL-архитектуру (LSTM или GRU, плюс CNN-LSTM или Transformer для паттернов), интегрировать поведенческие факторы через кластеризацию рыночных режимов (K-means или DBSCAN), провести временную Walk-Forward валидацию, оценить финансовые метрики Sharpe и Sortino, применить прогнозы для расчёта VaR/CVaR (исторический или Монте-Карло). Полученную реализацию и расчеты метрик необходимо в виде Jupyter-ноутбука загрузить на GitHub-репозиторий.
  • неблокирующий Итоговый проект
    Название: Разработка RL-модели для дельта-нейтральной торговли в DeFi на основе ML и нейронных сетей. Студентам необходимо выбрать 2–4 ликвидных DeFi-актива или пары (например, ETH/USDT, BTC/ETH в Uniswap или аналогичных пулах на Ethereum), собрать данные (OHLCV, liquidity depth, смарт-контракт метрики) за период не менее 2–3 лет через API (web3.py для Ethereum, или ccxt для CEX-аналогов как Binance для симуляции), рассчитать дельту и волатильность, добавить признаки (технические индикаторы, сентимент из новостей), построить ML-модель для предсказания волатильности или спредов (LSTM/GRU или Transformer с Walk-Forward валидацией), формализовать задачу: определить состояние как комбинацию текущих цен, дельты и ликвидности; действия как ребалансировку позиций для поддержания дельта-нейтральности (покупка/продажа для хеджирования), обучить RL-агента, интегрировать поведенческие факторы (симуляция искажений по Prospect Theory или кластеризация профилей), провести бэктестинг и стресс-тестирование с сравнением метрик (Sharpe, Sortino, VaR, total return) c базовой торговой моделью, в которой позиция ребалансируется по фиксированному порогу без учёта прогнозов или поведенческих корректировок. Полученные результаты метрик, сравнения показателей двух систем, а также готовый Jupyter-ноутбук с воспроизводимым кодом необходимо загрузить на репозиторий GitHub.
  • неблокирующий Финальный тест
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 3rd module
    0.16 * ДЗ_1 + 0.16 * ДЗ_2 + 0.16 * ДЗ_3 + 0.42 * Итоговый проект + 0.1 * Финальный тест
Список литературы

Список литературы

Рекомендуемая основная литература

  • Deepti Gupta. (2018). Applied Analytics Through Case Studies Using SAS and R : Implementing Predictive Models and Machine Learning Techniques. Apress.

Рекомендуемая дополнительная литература

  • Ian Goodfellow, Yoshua Bengio, & Aaron Courville. (2016). Deep Learning. The MIT Press.

Авторы

  • Ахмедова Гюнай Интигам кызы