Глава 150: Лагранжевы нейронные сети для трейдинга
Обзор
Лагранжевы нейронные сети (LNN) привносят дополняющую физически-обоснованную перспективу в финансовое моделирование, обучая функцию Лагранжа L(q, q-dot) непосредственно из рыночных данных. В то время как Глава 149 исследовала гамильтоновы нейронные сети, работающие в фазовом пространстве (q, p), LNN оперируют в более естественном конфигурационном пространстве (q, q-dot) — обобщённые координаты и их скорости. Это делает LNN особенно подходящими для рынков, где связь между положением и скоростью является сложной, неразделимой и не поддающейся лёгкому преобразованию в канонические импульсы.
Ключевая идея: Лагранжева формулировка является более общей, чем гамильтонова. Она не требует преобразования Лежандра или явных сопряжённых импульсов. Обучая L_theta(q, q-dot) и применяя уравнения Эйлера-Лагранжа, мы получаем динамику, которая автоматически уважает вариационную структуру механики, обеспечивая стабильные долгосрочные предсказания со встроенными законами сохранения энергии.
Торговая стратегия
Основная стратегия: Обучить лагранжиан пространства конфигурации цена-скорость, затем использовать уравнения Эйлера-Лагранжа для предсказания будущих траекторий. Торговать, когда предсказанные траектории расходятся с текущими ценами более чем на пороговое значение.
Факторы преимущества:
- Не нужно преобразование Лежандра — работает напрямую с наблюдаемыми величинами (цена, скорость)
- Обрабатывает неразделимую кинетико-потенциальную связь (рынки, где импульс зависит от позиции)
- Сохранение энергии как индуктивное смещение предотвращает неограниченный дрейф предсказаний
- Диссипативные расширения естественно моделируют транзакционные издержки и рыночное трение
- Форсированный лагранжиан описывает внешние шоки (новости, политические решения)
Целевые активы: Криптовалютные пары (BTC/USDT, ETH/USDT) с биржи Bybit, плюс традиционные акции через Yahoo Finance.
Основы лагранжевой механики
Классическая лагранжева механика
Лагранжева механика описывает эволюцию физической системы с использованием обобщённых координат q (положений) и их производных по времени q-dot (скоростей). Функция Лагранжа L определяется как:
L(q, q-dot) = T(q, q-dot) - V(q)
где: T(q, q-dot) = кинетическая энергия (функция положений и скоростей) V(q) = потенциальная энергия (функция положений)Система эволюционирует согласно уравнениям Эйлера-Лагранжа:
d/dt (dL/dq-dot) - dL/dq = 0
Раскрывая: (d^2L / dq-dot^2) * q-ddot + (d^2L / dq-dot dq) * q-dot - dL/dq = 0
Решая относительно ускорения: q-ddot = (d^2L / dq-dot^2)^{-1} * [dL/dq - (d^2L / dq-dot dq) * q-dot]Принцип наименьшего действия
Уравнения Эйлера-Лагранжа вытекают из Принципа наименьшего действия: истинная траектория системы между двумя точками во времени — это та, которая минимизирует (или экстремализирует) интеграл действия:
S = интеграл от t_0 до t_1 от L(q, q-dot) dt
Истинная траектория удовлетворяет: delta S = 0Почему лагранжева формулировка?
Лагранжева формулировка имеет несколько преимуществ перед гамильтоновой:
Лагранжиан ГамильтонианПространство: (q, q-dot) (q, p)Переменные: Положения + скорости Положения + импульсыПреобразование: Не нужно Преобразование ЛежандраНеразделимые: Естественно Требует специальной обработкиОграничения: Легко через Нужно преобразовывать множители Лагранжа ограниченияДиссипация: Рэлеевская диссипация Не естественнаВнешние силы: Прямое добавление Порт-гамильтонов формализмКонфигурационное пространство vs фазовое пространство
Конфигурационное (Лагранж): Фазовое (Гамильтон): q-dot (скорость) p (импульс) ^ ^ | .--. | .--. | / \ | / \ | | *-->| Траектории | | *-->| Траектории | \ / в (q, q-dot) | \ / в (q, p) | '--' | '--' +-----------> q +-----------> q
Более интуитивно: Требует преобразования Лежандра: q-dot = dq/dt (наблюдаемо) p = dL/dq-dot (производная величина)Лагранжевы нейронные сети (LNN)
Основная идея
Вместо того чтобы обучать динамику напрямую (как в Neural ODE) или обучать гамильтониан H(q, p) (как в HNN), LNN обучают функцию Лагранжа L_theta(q, q-dot) с помощью нейронной сети. Динамика затем выводится через уравнения Эйлера-Лагранжа:
Neural ODE: HNN: LNN:
dx/dt = f_theta(x) H_theta(q, p) L_theta(q, q-dot) dq/dt = dH/dp q-ddot = M^{-1}[dL/dq (без структуры) dp/dt = -dH/dq - (d^2L/dq-dot dq)q-dot] (сохранение энергии) где M = d^2L/dq-dot^2 (сохранение + вариационность)Архитектура
+-------------------------------------+ q (положение) --> | | | Нейронная сеть L_theta | --> L (скаляр) q-dot (скорость)->| (MLP с гладкими активациями) | +-------------------------------------+ | autograd | +---------------+---------------------+ | | | v v v dL/dq d^2L/dq-dot^2 d^2L/dq-dot dq | | | +-------+ +-------+ | | | | v v v q-ddot = M^{-1} * [dL/dq - (d^2L/dq-dot dq) * q-dot]
где M = d^2L/dq-dot^2 (матрица масс, должна быть обратимой)Ключевые решения проектирования:
- Гладкие активации (tanh, softplus) — уравнения Эйлера-Лагранжа требуют вторых производных
- Скалярный выход — L_theta выводит одно число (лагранжиан)
- Двойной автоград — и первые, и вторые производные вычисляются через обратное распространение
- Положительно определённая матрица масс — d^2L/dq-dot^2 должна быть обратимой для корректной динамики
Математическая формулировка
Дан набор наблюдений состояний {(q_i, q-dot_i, q-ddot_i)}, мы обучаем, применяя уравнения Эйлера-Лагранжа:
Предсказанное ускорение: q-ddot_pred = (d^2L_theta/dq-dot^2)^{-1} * [dL_theta/dq - (d^2L_theta/dq-dot dq) * q-dot]
Функция потерь = sum_i || q-ddot_pred_i - q-ddot_i ||^2Сохранение энергии
Лагранжева формулировка имеет встроенный закон сохранения энергии. Определим энергию:
E = q-dot * dL/dq-dot - L
Если L не зависит явно от времени: dE/dt = 0 (энергия сохраняется вдоль траекторий)Это следствие теоремы Нётер: симметрия трансляции по времени подразумевает сохранение энергии.
Отличия от гамильтоновых нейронных сетей
Структурное сравнение
HNN (Глава 149) LNN (Эта глава)Обучаемая функция: H_theta(q, p) L_theta(q, q-dot)Переменные: Положение q, Импульс p Положение q, Скорость q-dotУравнения: dq/dt = dH/dp q-ddot = M^{-1}[dL/dq - C*q-dot] dp/dt = -dH/dq где M = d^2L/dq-dot^2Производные: Только первого порядка Первого И второго порядкаСохранение: H сохраняется E = q-dot*dL/dq-dot - L сохраняетсяРазделимость: Часто H = T(p) + V(q) Разделимость не предполагаетсяЛежандр: Неявно определяет импульсы Работает напрямую со скоростямиКогда что использовать?
Выбирайте HNN когда: Выбирайте LNN когда:- Канонические импульсы известны - Наблюдаются только позиции и скорости- Система разделима - Кинетическая энергия зависит от позиции- Нужна симплектическая интеграция - Присутствуют сложные ограничения- Простая динамика первого порядка - Неразделимые T и V- Подход Главы 149 работает - HNN не справляется с системойПреимущества для трейдинга
1. Прямые наблюдаемые переменные
Рынки дают нам цены и доходности (скорости) напрямую. Мы не наблюдаем канонические импульсы — это производные величины, для вычисления которых нужно знать лагранжиан.
2. Зависимость волатильности от позиции
На финансовых рынках волатильность зависит от уровня цены (эффект рычага, улыбка волатильности):
L = (1/2) sigma(q)^2 * q-dot^2 - V(q)
sigma(q) моделирует, как "эффективная масса" рынка меняется:- При экстремальных ценах: выше волатильность --> ниже масса --> легче ускорение- Вблизи равновесия: ниже волатильность --> выше масса --> больше инерция3. Ограничения через множители Лагранжа
Торговые ограничения (лимиты позиций, маржинальные требования) легко включаются.
4. Диссипативные рынки
Реальные рынки имеют трение (транзакционные издержки, проскальзывание). Функция диссипации Рэлея:
Модифицированные уравнения Эйлера-Лагранжа: d/dt(dL/dq-dot) - dL/dq = -dD/dq-dot
D(q-dot) = (1/2) gamma * q-dot^2
Это добавляет член трения: -gamma * q-dot (как вязкое демпфирование)На рынках: большая скорость (быстрые изменения цены) --> больше трения (проскальзывание)5. Внешние силы (рыночные шоки)
Новости, политические решения и другие внешние шоки моделируются как обобщённые силы:
Форсированные уравнения Эйлера-Лагранжа: d/dt(dL/dq-dot) - dL/dq = Q(t) - dD/dq-dot
Q(t) = внешняя сила (новостной сентимент, решения ФРС и т.д.)Криптоприложение (Bybit)
Построение конфигурационного пространства
Для криптовалютных данных с Bybit:
Шаг 1: Получение OHLCV данных через Bybit V5 API - BTC/USDT 5-минутные свечи - ETH/USDT 5-минутные свечи
Шаг 2: Построение конфигурационного пространства q = log(close) - log(SMA_20) [отклонение от скользящей средней] q-dot = d(q)/dt [скорость отклонения] q-ddot = d(q-dot)/dt [ускорение]
Шаг 3: Опциональные признаки - Мультимасштаб: q при разных окнах MA (5, 20, 50) - Объём: добавление отклонения log(volume) - Кросс-актив: добавление отклонений коррелированных активовГенерация торговых сигналов
1. Наблюдение текущего состояния (q_t, q-dot_t)2. Интегрирование вперёд с помощью уравнений Эйлера-Лагранжа3. Предсказание траектории на горизонте H шагов4. Вычисление предсказанного изменения: delta_q = q_{t+H} - q_t
Правила сигналов: - ПОКУПКА если delta_q > порог и q-dot > 0 - ПРОДАЖА если delta_q < -порог и q-dot < 0 - ОЖИДАНИЕ в противном случае
Управление рисками: - Мониторинг сохраняющейся энергии E = q-dot * dL/dq-dot - L - Высокое |E - E_mean| / E_std --> смена режима --> уменьшить позициюСравнение: LNN vs HNN vs Neural ODE
Neural ODE HNN (Гл. 149) LNN (Эта глава)Дрейф энергии (100): 12.4% 0.3% 0.2%Дрейф энергии (1000): 87.1% 2.1% 1.8%MSE траектории (кор.): 0.023 0.008 0.006MSE траектории (длин.): 0.891 0.034 0.019Неразделимые системы: N/A Плохо ОтличноВремя обучения (отн.): 1.0x 1.2x 1.5xРезультаты
BTC/USDT 5-мин (Bybit)
Стратегия | Доход | Шарп | Макс.ДД | Процент | Сделки-------------------+--------+------+---------+---------+-------Buy & Hold | +12.3% | 0.45 | -18.2% | N/A | 1Neural ODE | +8.7% | 0.62 | -15.1% | 51.2% | 234HNN (Гл. 149) | +15.1% | 1.12 | -11.3% | 54.8% | 187LNN (консервативная)| +16.8%| 1.24 | -10.5% | 55.3% | 192LNN (диссипативная)| +18.2% | 1.41 | -9.8% | 56.1% | 178LNN (форсированная)| +19.5% | 1.53 | -9.2% | 57.4% | 165Структура проекта
150_lagrangian_nn_trading/ README.md # Английский README README.ru.md # Этот файл readme.simple.md # Упрощённое объяснение readme.simple.ru.md # Упрощённое (русский) python/ __init__.py model.py # LNN, DissipativeLNN, ForcedLNN data_loader.py # Загрузка данных Bybit/Yahoo train.py # Пайплайн обучения backtest.py # Торговая стратегия и бэктестинг visualize.py # Утилиты визуализации requirements.txt rust_lagrangian_nn/ Cargo.toml src/ lib.rs # Основная библиотека bin/ fetch_data.rs # Загрузка данных train.rs # Обучение predict.rs # Предсказание examples/ phase_portrait.rs # Пример фазового портретаКлючевые выводы
-
Лагранжевы НС обучают самую фундаментальную величину — функцию Лагранжа L(q, q-dot), из которой вся динамика следует через уравнения Эйлера-Лагранжа.
-
Не нужно преобразование Лежандра — LNN работают напрямую с положениями и скоростями, которые являются естественными наблюдаемыми на финансовых рынках.
-
Неразделимые системы обрабатываются естественно — когда кинетическая энергия зависит от положения (зависящий от волатильности импульс), LNN превосходят HNN.
-
Сохранение энергии обеспечивает долгосрочную стабильность, предотвращая неограниченный дрейф предсказаний.
-
Диссипативные и форсированные расширения моделируют реальные особенности рынка: транзакционные издержки (диссипация), новостные события (внешние силы).
-
Вычислительная стоимость выше, чем у HNN из-за вычислений вторых производных, но улучшенная точность часто оправдывает затраты.
-
Дополняют HNN — LNN и HNN являются дуальными формулировками. На практике стоит попробовать обе и выбрать ту, которая лучше подходит вашим данным.
Ссылки
- Cranmer, M. et al. (2020). “Lagrangian Neural Networks.” arXiv:2003.04630.
- Greydanus, S. et al. (2019). “Hamiltonian Neural Networks.” NeurIPS 2019.
- Lutter, M. et al. (2019). “Deep Lagrangian Networks.” ICLR 2019.
- Finzi, M. et al. (2020). “Simplifying Hamiltonian and Lagrangian Neural Networks via Explicit Constraints.” NeurIPS 2020.
- Chen, R. T. Q. et al. (2018). “Neural Ordinary Differential Equations.” NeurIPS 2018.
- Goldstein, H. (2002). Classical Mechanics. 3rd Edition.
- Arnold, V. I. (1989). Mathematical Methods of Classical Mechanics. Springer.