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) |