A decomposition-integration framework coupling singular spectrum analysis with a volatility-adaptive LSTM for stock price forecasting
Organizations: School of Science, University of Science and Technology Liaoning, Anshan, 114051, Liaoning, PR China
Abstract
Financial time series exhibit multi-scale, high-noise, and non-stationary volatility dynamics. Decomposition--integration frameworks built on complete ensemble empirical mode decomposition with adaptive noise (CEEMDAN) have advanced this field, yet existing CEEMDAN hybrids remain unstable: high-frequency mode mixing contaminates downstream predictors, and the heterogeneous volatility of decomposed components is not matched by any volatility-adaptive mechanism. To address these gaps, this paper proposes CEEMDAN-SE-SSA-VMGL. CEEMDAN adaptively decomposes the original series, and sample-entropy-driven K-means clustering groups the intrinsic mode functions into high-, mid-, and low-frequency and residual components. Singular spectrum analysis (SSA) is then applied to the high-frequency group, whose singular-value decomposition of the trajectory matrix and principal-component reconstruction decouple intertwined pseudo-oscillatory modes and alleviate mode mixing. We further design a plug-and-play robust LSTM variant, the volatility-modulated GARCH-LSTM (VMGL), which embeds a differentiable GARCH(1,1) layer inside the LSTM cell as a risk gate; the estimated conditional volatility multiplicatively scales the forget-gate activation, letting memory decay adapt to the instantaneous volatility while remaining fully end-to-end trainable. Component predictions are linearly combined. On five US and Chinese financial series (CSI 300, CSI 500, AAPL, GOOGL, S&P 500), the proposed model is compared with eleven benchmark architectures, lowering the forecasting error by 9% to 24% relative to the best benchmark and by 60% to 70% relative to a standard LSTM. Diebold--Mariano and model-confidence-set (MCS) tests confirm the statistical significance and stability of the gains, spectral analyses verify the SSA denoising efficacy, and backtesting demonstrates the framework's economic utility.
Figures & tables
| Metric | CSI300 | CSI500 | AAPL | GOOGL | S&P500 |
| Sample Count | 3401 | 3401 | 3522 | 3521 | 3521 |
| Mean | 3493.11 | 5403.82 | 52.59 | 52.68 | 221.78 |
| Min | 2086.97 | 2749.13 | 9.47 | 72.26 | |
| Max | 5807.72 | 11545.89 | 195.83 | 148.41 | 465.31 |
| 25% | 2850.30 | 4368.61 | 10.07 | 20.50 | 124.00 |
| 50% | 3463.64 | 5549.67 | 23.66 | 39.58 | 193.95 |
| Metric | CSI300 | CSI500 | AAPL | GOOGL | S&P500 |
| Sample Count | 3401 | 3401 | 3522 | 3521 | 3521 |
| ARCH LM Statistic | 361.789 | 527.848 | 1047.014 | 95.469 | 1354.502 |
| ARCH LM p-value | *** | *** | *** | *** | *** |
| Ljung–Box Statistic | 859.26 | 1451.08 | 3135.80 | 155.02 | 4571.61 |
| Ljung–Box p-value | *** | *** | *** | *** | *** |
| Heteroscedasticity | Yes | Yes | Yes | Yes | Yes |
| IMF | CSI 300 | CSI 500 | AAPL | GOOGL | S&P 500 |
| IMF1 | 1.846552 ∗ | 1.781471 ∗ | 2.022148 ∗ | 1.962428 ∗ | 2.019072 ∗ |
| IMF2 | 2.092127 ∗ | 2.007787 ∗ | 2.061346 ∗ | 2.039358 ∗ | 2.062140 ∗ |
| IMF3 | 0.639570 ∗∗ | 0.580142 ∗∗ | 0.587209 ∗∗ | 0.551567 ∗∗ | 0.633861 ∗∗ |
| IMF4 | 0.521673 ∗∗ | 0.303984 ∗∗ | 0.276680 ∗∗∗ | 0.306324 ∗∗ | 0.357532 ∗∗ |
| IMF5 | 0.293600 ∗∗∗ | 0.144551 ∗∗∗ | 0.107043 ∗∗∗ | 0.178634 ∗∗∗ | 0.158862 ∗∗∗ |
| IMF6 | 0.090415 ∗∗∗ | 0.116054 ∗∗∗ | 0.064036 ∗∗∗ | 0.127954 ∗∗∗ | 0.101392 ∗∗∗ |
| Component | CSI 300 | CSI 500 | AAPL | GOOGL | S&P 500 |
| HF | 1.765321 | 1.708424 | 1.121385 | 1.169481 | 1.441444 |
| MF | 0.606492 | 0.472504 | 0.587209 | 0.471241 | 0.559882 |
| LF | 0.054099 | 0.040794 | 0.075098 | 0.029009 | 0.046345 |
| Res | 0.001972 | 0.001048 | 0.000993 | 0.001269 | 0.001341 |
| Group | CSI 300 | CSI 500 | AAPL | GOOGL | S&P 500 |
| HF | 24.02 | 19.25 | 23.70 | 23.21 | 23.63 |
| MF | 15.46 | 12.84 | 16.47 | 16.35 | 13.07 |
| LF | 0.05 | 0.08 | 0.54 | 0.05 | 0.02 |
| Res | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| Metric | Model | CSI300 | CSI500 | AAPL | GOOGL | S&P500 |
| RMSE | LSTM | 36.35 | 50.99 | 2.8464 | 2.6203 | 4.2406 |
| VMGL | 33.69 | 49.88 | 2.3481 | 2.3308 | 3.5458 | |
| EMD-SE-LSTM | 55.94 | 32.29 | 1.9680 | 2.3258 | 2.0771 | |
| EMD-SE-VMGL | 25.98 | 27.13 | 1.9512 | 2.1187 | 1.9009 | |
| EEMD-SE-LSTM | 60.58 | 127.11 | 3.3011 | 2.6965 | 6.9613 | |
| EEMD-SE-VMGL | 23.87 | 40.94 | 1.8358 | 1.5530 | 2.7535 |
| Dataset | Variance_Before | Variance_After | Variance_Change(%) | ACF1_Before | ACF1_After | ACF1_Change |
| CSI300 | 968.1809 | 491.2525 | -49.26 | 0.0517 | 0.3543 | 0.3026 |
| CSI500 | 3343.4916 | 1794.3963 | -46.33 | 0.0846 | 0.3747 | 0.2901 |
| AAPL | 0.9611 | 0.4482 | -53.37 | 0.1234 | 0.4409 | 0.3174 |
| GOOGL | 0.6352 | 0.2902 | -54.31 | 0.0867 | 0.4434 | 0.3567 |
| S&P500 | 3.3180 | 1.4070 | -57.60 | 0.0968 | 0.4940 | 0.3972 |
| Model | S&P500 | AAPL | CSI300 | CSI500 | GOOGL | |||||
| Stat. | p-value | Stat. | p-value | Stat. | p-value | Stat. | p-value | Stat. | p-value | |
| LSTM | -10.67*** | 0.0000 | -9.36*** | 0.0000 | -10.33*** | 0.0000 | -8.91*** | 0.0000 | -6.92*** | 0.0000 |
| VMGL | -11.70*** | 0.0000 | -8.88*** | 0.0000 | -9.46*** | 0.0000 | -8.96*** | 0.0000 | -6.06*** | 0.0000 |
| EMD-SE-LSTM | -7.74*** | 0.0000 | -10.26*** | 0.0000 | -17.73*** | 0.0000 | -6.81*** | 0.0000 | -9.19*** | 0.0000 |
| EMD-SE-VMGL | -4.49*** | 0.0000 | -9.92*** | 0.0000 | -9.99*** | 0.0000 | -5.83*** | 0.0000 | -7.77*** | 0.0000 |
| EEMD-SE-LSTM | -11.33*** | 0.0000 | -11.64*** | 0.0000 | -9.31*** | 0.0000 | -9.95*** | 0.0000 | -10.22*** | 0.0000 |
| Model | S&P500 | AAPL | CSI300 | CSI500 | GOOGL | |||||
| LSTM | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| VMGL | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| EMD-SE-LSTM | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| EMD-SE-VMGL | 0.0010 | 0.0010 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| EEMD-SE-LSTM | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| Dataset | Metric | ||||
| CSI 300 | 0.996932 | 0.997338 | 0.997163 | 0.997034 | |
| RMSE | 12.7805 | 11.9096 | 12.1404 | 12.2485 | |
| MAE | 10.3809 | 9.6850 | 9.9169 | 9.9396 | |
| MAPE (%) | 0.2714 | 0.2534 | 0.2591 | 0.2607 | |
| CSI 500 | 0.996156 | 0.996237 | 0.995996 | 0.995863 | |
| RMSE | 20.0087 | 19.9813 | 20.6772 | 20.8890 |
| Model | CSI 300 | CSI 500 | AAPL | GOOGL | S&P 500 |
| LSTM | 100.4 | 98.4 | 27.6 | 75.7 | 104.0 |
| VMGL | 72.1 | 91.0 | 64.2 | 77.6 | 95.5 |
| EMD-SE-LSTM | 599.9 | 658.4 | 686.5 | 653.2 | 597.6 |
| EMD-SE-VMGL | 763.9 | 831.4 | 752.5 | 801.2 | 775.8 |
| EEMD-SE-LSTM | 699.4 | 732.5 | 675.1 | 634.0 | 682.0 |
| EEMD-SE-VMGL | 852.4 | 898.2 | 767.5 | 793.8 | 768.5 |
| Strategy | CSI300 | CSI500 | AAPL | GOOGL | S&P500 |
| Buy-and-Hold | |||||
| Buy-and-Hold | 0.0959 | 0.0633 | 0.1205 | 0.0924 | 0.1083 |
| Prediction-driven directional strategy | |||||
| CEEMDAN-SE-SSA-VMGL | 0.5357 | 0.6065 | 0.6630 | 0.6214 | 0.6612 |
| CEEMDAN-SE-SSA-LSTM | 0.5153 | 0.5783 | 0.6115 | 0.5931 | 0.6193 |
| VMD-SE-VMGL | 0.4411 | 0.4228 | 0.5986 | 0.5366 | 0.5035 |
Time Series Forecasting
Time series forecasting predicts future values from ordered observations using statistical, neural, and probabilistic models to support decisions under uncertainty.
See all 839 papers