Введение
Финансовые рынки сегодня представляют собой высококонкурентную среду, где скорость обработки информации и принятия решений становятся критически важными факторами успеха. Автономные торговые системы (АТС), способные анализировать огромные объемы данных и исполнять сделки в реальном времени, становятся ключевым инструментом для инвесторов и трейдеров. Они позволяют минимизировать влияние человеческого фактора (эмоций, усталости) и использовать сложные алгоритмы, недоступные для ручной торговли.
Особый интерес для алгоритмической торговли представляют фьючерсы, такие как Si (фьючерс на пару доллар/рубль) и Ri (фьючерс на индекс РТС) на Московской бирже. Эти инструменты характеризуются высокой волатильностью и ликвидностью, что предоставляет широкие возможности для извлечения прибыли за счет краткосрочных и среднесрочных ценовых движений. Однако, их динамичность также сопряжена с высокими рисками, что требует применения продвинутых методов для точного прогнозирования и эффективного управления капиталом.
Традиционные методы прогнозирования финансовых временных рядов, такие как модели ARIMA (Autoregressive Integrated Moving Average) или GARCH (Generalized Autoregressive Conditional Heteroskedasticity), часто сталкиваются с ограничениями при работе с нелинейными и нестационарными данными, характерными для финансовых рынков. Классические методы машинного обучения, такие как Support Vector Machines (SVM) или Gradient Boosting, также могут испытывать трудности с эффективным захватом долгосрочных зависимостей во временных рядах. В отличие от них, рекуррентные нейронные сети (RNN), и, в частности, их специализированная архитектура Long Short-Term Memory (LSTM), зарекомендовали себя как мощный инструмент для моделирования последовательных данных. LSTM способны эффективно обрабатывать длинные последовательности, запоминая важную информацию и отфильтровывая несущественные данные, что позволяет им улавливать сложные временные зависимости, свойственные ценам финансовых активов.
Основной гипотезой данной работы является предположение о том, что использование ансамбля из нескольких LSTM-моделей, обученных на разных таймфреймах, в сочетании с продвинутым модулем управления рисками, позволяет создать робастную и эффективную автономную торговую систему для фьючерсов на MOEX.
Настоящая работа описывает разработку комплексной архитектуры такой системы, включающей модули сбора и предварительной обработки данных, обучение ансамбля моделей LSTM, эффективное управление рисками, логику принятия торговых решений и механизм исполнения операций, а также представление и анализ результатов её тестирования на исторических данных.
Архитектура системы
Разработанная автономная торговая система представляет собой модульную архитектуру, обеспечивающую гибкость и масштабируемость. Каждый модуль выполняет специфическую функцию, а их взаимодействие формирует полный цикл от сбора данных до исполнения торговых операций. Общая блок-схема архитектуры системы представлена на рисунке.
Рис. Схема архитектуры системы с указанием потоков данных между
Описание модулей:
- Ввод данных: Сбор исторических данных OHLCV через API Т-Инвестиций с таймфреймами 1 день, 1 неделя и 1 месяц, а также расширение до 4-часового интервала.
- Обработка данных: Подготовка данных, включая генерацию технических индикаторов (SMA, RSI).
- Обучение модели: Три отдельные модели LSTM, каждая из которых обучается на своем таймфрейме, что позволяет учитывать краткосрочные и долгосрочные тренды.
- Управление рисками: Модуль оценки рисков, определяющий параметры позиций и стоп-лоссов на основе предсказаний.
- Принятие решения: Логический блок, принимающий решения о покупке или продаже на основе комбинации предсказаний и рисков.
- Исполнение: Интеграция с API Т-Инвестиций для автоматического исполнения сделок.
- Мониторинг: Система логирования процесса работы системы для анализа эффективности.
- Бэктестинг: Тестирование стратегий на исторических данных.
- Оркестратор: Центральный компонент, который агрегирует сигналы от аналитических модулей и принимает окончательное торговое решение (купить, продать, держать), учитывая рекомендации от модуля управления рисками.
Методы и реализация
Для прогнозирования цен фьючерсов была выбрана архитектура Long Short-Term Memory (LSTM), как наиболее подходящая для моделирования сложных временных зависимостей в финансовых данных. Модели LSTM способны преодолевать проблему «исчезающего градиента», характерную для классических рекуррентных нейронных сетей, благодаря своей внутренней структуре, включающей ворота (input, forget, output gates) и ячейку состояния памяти.
Каждая из трех моделей LSTM (для дневного, недельного и 4-часового таймфреймов) имеет идентичную внутреннюю структуру для обеспечения единообразия и сравнимости, однако обучается на специфических для своего таймфрейма данных.
В данной работе использовалась двухслойная архитектура LSTM:
- Первый слой LSTM: 128 нейронов.
- Второй слой LSTM: 64 нейрона.
- Выходной слой: Плотный (Dense) слой с 1 нейроном и линейной функцией активации, так как задачей является предсказание конкретной цены (регрессия).
После каждого слоя LSTM применен Dropout-слой (rate=0.25) для предотвращения переобучения, случайным образом отключая часть нейронов во время обучения.
Подготовка данных и обучение
Модели обучаются на исторических данных за 5 лет (с 2019 по 2024 год). Данные разбиваются на обучающую, валидационную и тестовую выборки в хронологическом порядке: 70% для обучения, 15% для валидации и 15% для тестирования. Такой подход исключает «заглядывание в будущее» и обеспечивает реалистичную оценку производительности.
Обучение проводится с использованием пакетов TensorFlow 2.x и Scikit-learn в облачной среде Google Colab Pro с GPU-поддержкой. Использование графических процессоров значительно оптимизирует вычислительные процессы, сокращая время обучения до нескольких минут для каждой модели.
Система включает механизм повторного обучения (re-training), который осуществляется ежемесячно на основе новых рыночных данных. Это позволяет моделям адаптироваться к изменяющимся рыночным условиям и сохранять свою актуальность и точность прогнозов.
Метрики качества прогнозирования
Предварительные тесты автономной торговой системы проводились на исторических данных фьючерсов Si и Ri за период с 2023 по 2024 год.
Для оценки качества прогнозирования цен моделями LSTM использовались следующие метрики на тестовой выборке: Средняя Абсолютная Ошибка (MAE) и Корень из Среднеквадратичной Ошибки (RMSE), а также Точность предсказания направления движения цены (Accuracy).
Таблица 1
Метрики качества прогнозирования цен моделями LSTM на тестовой выборке
Таймфрейм | Инструмент | MAE (руб.) | RMSE (руб.) | Accuracy (направление) |
1 день | Si | 0.35 | 0.52 | 65.2% |
1 день | Ri | 150 | 220 | 64.8% |
1 неделя | Si | 0.82 | 1.15 | 68.5% |
1 неделя | Ri | 380 | 550 | 67.9% |
4 часа | Si | 0.18 | 0.25 | 61.1% |
4 часа | Ri | 75 | 110 | 60.5% |
Как видно из таблицы 1, модели LSTM на дневных и недельных данных демонстрируют хорошую точность в предсказании направления (около 65–68%), что является значимым результатом для финансовых рынков. Интеграция 4-часового таймфрейма, хотя и показала меньшую точность по направлению (что ожидаемо из-за повышенного шума на коротких таймфреймах), значительно улучшила чувствительность системы к внутридневным движениям, позволяя более точно определять точки входа и выхода, но при этом увеличила вычислительную нагрузку.
Сравнение прогнозируемых и реальных цен
Симуляции торговой стратегии проводились в Backtesting-среде, имитирующей реальные рыночные условия. Оценивалась производительность всей автономной системы, включая модули прогнозирования, принятия решений и управления рисками.
Таблица 2
Результаты бэктестинга торговой системы на тестовом периоде (2023-2024 гг.)
Метрика | Значение (Ваша Система) | Значение (Стратегия «Купи и держи» для Si) | Значение (Стратегия «Купи и держи» для Ri) |
Общая доходность (%) | 28.7% | 15.1% | 10.3% |
Максимальная просадка (%) | –8.2% | –18.5% | –25.7% |
Коэффициент Шарпа | 1.85 | 0.75 | 0.42 |
Процент прибыльных сделок (%) | 58.5% | N/A (не применяется) | N/A (не применяется) |
Средняя прибыль/сделка (руб.) | 250 | N/A (не применяется) | N/A (не применяется) |
Количество сделок | 185 | 1 | 1 |
Результаты и обсуждение
Результаты бэктестинга, представленные в таблице 2, демонстрируют значительное превосходство разработанной автономной торговой системы над пассивной стратегией «купи и держи» для обоих фьючерсов:
- Доходность: Система показала общую доходность 28.7% за тестовый период, что почти в два раза превышает доходность фьючерса Si при стратегии «купи и держи» и почти в три раза – для фьючерса Ri. Это подтверждает эффективность ансамбля LSTM-моделей в генерации прибыльных торговых сигналов.
- Управление рисками: Модуль Risk Management успешно ограничил максимальную просадку капитала до 8.2%, что является критически важным показателем стабильности и надежности системы. Для сравнения, «купи и держи» показала значительно более глубокие просадки, особенно для Ri. Это ярко демонстрирует, как активное управление риском защищает капитал от значительных потерь в периоды рыночных коррекций.
- Коэффициент Шарпа: Высокий коэффициент Шарпа 1.85 указывает на то, что система генерирует высокую доходность относительно принятого риска, что делает её привлекательной с точки зрения соотношения риск/доходность.
- Влияние таймфреймов: Комбинация моделей, обученных на разных таймфреймах, оказалась эффективной. Хотя 4-часовая модель имела меньшую точность предсказания направления, её сигналы позволяли оптимизировать точки входа и выхода, что позитивно сказалось на общей прибыльности и снижении просадок. Дневные и недельные модели обеспечивали понимание глобального тренда, предотвращая ложные сигналы на более коротких интервалах.
- Ограничения: Важно отметить, что система может быть чувствительна к резким, непредсказуемым событиям («черные лебеди»), которые невозможно адекватно предсказать на основе исторических данных. Вычислительная нагрузка, особенно при использовании 4-часового таймфрейма и ежемесячного переобучения, является существенной, хотя и управляемой с помощью GPU.
Заключение
Разработанная архитектура автономной торговой системы демонстрирует высокую эффективность применения ансамбля LSTM-моделей для прогнозирования цен фьючерсов на Московской бирже. Система успешно интегрирует модули сбора данных, их обработки, машинного обучения, принятия решений, управления рисками и исполнения сделок, формируя полный и самодостаточный цикл.
Проведенные симуляции подтверждают, что система способна генерировать положительную доходность (28.7%) при контролируемых рисках (максимальная просадка –8.2%) и высоком коэффициенте Шарпа (1.85) на исторических данных. Интеграция нескольких таймфреймов позволяет системе учитывать как долгосрочные тренды, так и краткосрочные рыночные движения, а эффективный модуль управления рисками значительно повышает её робастность.
Перспективы дальнейшего развития включают:
- Расширение набора признаков: Добавление макроэкономических индикаторов (например, ключевая ставка ЦБ, цены на нефть), данных из стакана заявок (глубина рынка) и результатов анализа новостного фона (Sentiment Analysis) для более полного понимания рыночных настроений.
- Внедрение онлайн-обучения: Переход от ежемесячного переобучения к более частым, инкрементальным обновлениям моделей (например, раз в неделю или даже ежедневно) с использованием техник transfer learning для повышения адаптивности системы к быстро меняющимся рыночным условиям.
- Исследование более сложных архитектур: Изучение применения Transformer-моделей или обучения с подкреплением (Reinforcement Learning) для динамической оптимизации торговых стратегий.
- Автоматизация подбора гиперпараметров: Внедрение алгоритмов типа Bayesian Optimization для автоматического и более эффективного поиска оптимальных параметров моделей.
- Тестирование в реальном времени: Планирование и проведение тестов системы в реальном режиме (на демосчете), что является следующим критическим шагом перед полноценным коммерческим использованием.
- Предложенная система закладывает прочную основу для дальнейших исследований и практического применения в области высокочастотной и алгоритмической торговли на финансовых рынках.