Universal Differential Equations for Stable Multi-Step Volatility Time Series Forecasting

Authors: Prasanna Devadiga, Kishan Gurumurthy, Kshitij Mohan

TMLR 2025 | Venue PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We present a systematic study of Universal Differential Equations for financial volatility forecasting, a domain characterized by regime shifts, heavy tails, and jump discontinuities. ... Across market regimes, they outperform both continuous-time baselines and discrete-time models, achieving higher accuracy and greater long-horizon stability while remaining interpretable. ... We evaluate our UDE-based volatility forecasting framework using rigorous rolling walk-forward validation across diverse financial assets. Our experimental design tests model robustness across varying market dynamics, volatility regimes, and stress periods spanning nearly two decades.
Researcher Affiliation Industry Prasanna Devadiga EMAIL TIFIN; Kishan Gurumurthy EMAIL TIFIN; Kshitij Mohan EMAIL TIFIN
Pseudocode No The paper describes mathematical formulations of models and the experimental procedure but does not include any explicitly labeled pseudocode or algorithm blocks.
Open Source Code No The paper does not contain any explicit statements about releasing source code or links to code repositories.
Open Datasets Yes Second, open data (from yfinance) enables reproducible research without computational burden. ... Daily prices are obtained from Yahoo Finance, and volatility is estimated using the Garman Klass range-based estimator.
Dataset Splits Yes Rolling window configuration. We use the following strictly temporal configuration: Train: 63 trading days (≈ 3 months) Validation: 20 days Test: 30 days Stride: 30 days between consecutive window start dates ... All predictions are made using strictly autoregressive rollout with no future data leakage. ... To predict log-volatility at t + 20 starting from time t: 1. Input: observed log-volatilities up to t, exogenous features up to t − 1 (e.g., r^2_{t-1}) 2. Predict x̂t+1 using the ODE integrated from t to t + 1 3. Predict x̂t+2 using x̂t+1 as input (not ground truth xt+1) 4. Continue rolling forward: x̂t+3 from x̂t+2, ..., x̂t+20 from x̂t+19
Hardware Specification No GPU was optional; CPU results were consistent modulo runtime.
Software Dependencies Yes Core libraries: Neuromancer for ODE integration, systems, and losses; NumPy 1.26, SciPy 1.11, Pandas 2.0, Matplotlib 3.8; GARCH-family models (GARCH, FIGARCH) were estimated using the arch Python library.
Experiment Setup Yes Unless stated otherwise, we use: Seeds: 42, 43, 44 (results aggregated across all 3 seeds and 10 assets) Horizon in loss: nsteps = 20 Batch size: 50 Networks: Small MLP modulators with GELU activations Hidden sizes tested: [64,64], [64,64,64], [64,64,64,64], [16,16],[32,32] Selected: [64,64] (no further improvement with deeper architectures) Optimizer: Adam with learning rate 1 × 10−3 Epochs: 50 (with early stopping on validation loss) ODE Integrator: RK4 with fixed step size Constraints: Softplus for mean-reversion rate (κ+ > 0), bounded shifts for long-run level (θeff)