DSTNet: Dynamic Spectral Trajectory Network for Causal Multi-Horizon Financial Forecasting
Organizations: Department of Computer Science and Engineering, Indian Institute of Technology Jodhpur, Jodhpur, Rajasthan 342030, India · School of Computing and Data Sciences, FLAME University, Pune Maharashtra, India
Abstract
Wavelet-based financial forecasters typically use the transform only to denoise, or reduce it to a single spectral snapshot at the forecast origin, and the convolution that produces the coefficients is usually bilateral, so it can read past the forecast origin. DSTNet instead retains the recent evolution of filter-bank magnitudes as a causal Dynamic Spectral Trajectory, built from seven trailing technical indicators over a twenty-day lookback with a one-sided Morlet-derived filter bank and an explicit burn-in for the left-boundary transient. A factorized Scale-Temporal Spectral Transformer attends along the time and filter-bank axes separately, a learned gate fuses the spectral branch with a CNN-BiLSTM, and horizon-specific gates emit one, three, five, and ten day forecasts in a single pass. We evaluate seven equity indices and gold under a common expanding-window protocol and an untouched one-year hold-out, against nine learned baselines and a random-walk persistence benchmark. Under MAE and MAPE, persistence is the strongest of the ten fixed competitors in 29 of the 32 series-horizon cells and DSTNet is the only model below it in every cell, by 0.7 to 0.9 percent at one day and 3.4 to 4.5 percent at ten days. At one day, paired testing favours DSTNet against the weaker learned baselines but is inconclusive against persistence and the strongest learned forecasters. A downstream allocation diagnostic does not support an equity-timing advantage on any of the seven indices.
Figures & tables
| Component | Hyperparameter | Value |
| Residual denoiser | wavelet, level | Symlet-4, |
| threshold rule | MAD soft ( 1 ) | |
| Indicators ( ) | set | RSI-10, Stoch %K, CCI-14, OBV, ATR-14, Williams %R, ROC-12 |
| Standardisation | method | train-fold Z-score |
| FIR kernel | source, | Morlet-derived, |
| FIR scale parameters | set |
| Model | KOSPI | Nikkei 225 | S&P 500 | DJI | DAX | NASDAQ | NYSE | Gold |
| LSTM | 3.65*** | 4.43*** | 4.24*** | 2.43** | 3.57*** | 3.43*** | 4.18*** | 3.45*** |
| BiLSTM | 2.70*** | 2.73*** | 3.29*** | 2.18** | 2.44** | 2.87*** | 2.80*** | 1.97** |
| CNN-BiLSTM | 2.05** | 1.80* | 1.82* | 1.35 | 1.73* | 1.67* | 1.83* | 1.23 |
| XGBoost | 3.90*** | 3.09*** | 2.81*** | 3.20*** | 2.67*** | 4.83*** | 3.38*** | 2.26** |
| DLinear | 1.68* | 1.19 | 1.61 | 1.11 | 1.35 | 0.96 | 0.99 | 1.21 |
| N-BEATS | 1.56 | 1.50 | 1.94* | 1.61 | 1.93* | 1.33 | 1.44 | 1.61 |
| Metric | Mean (%) | Median CV (%) | Max CV (%) | Seed-mean wins | All-seed wins | Seed-run wins |
| MAE | +2.48 | 0.98 | 10.60 | 26/32 | 23/32 | 87/96 |
| MAPE | +2.43 | 0.81 | 10.05 | 26/32 | 24/32 | 88/96 |
| RMSE | +2.82 | 0.59 | 9.69 | 25/32 | 23/32 | 84/96 |
| Series | MAPE low-vol | MAPE high-vol | DAcal low-vol | DAcal high-vol | DAcal up | DAcal down | (pp) |
| KOSPI | 0.616 | 0.925 | 48.72 | 56.78 | 16.38 | 88.24 | |
| S&P 500 | 0.485 | 0.660 | 44.63 | 44.63 | 2.22 | 98.13 | |
| Nikkei 225 | 0.803 | 0.943 | 52.54 | 50.00 | 51.61 | 50.89 | |
| DJI | 0.397 | 0.565 | 38.02 | 46.28 | 9.79 | 88.89 | |
| DAX | 0.458 | 0.624 | 52.03 | 47.97 | 21.80 | 83.19 | |
| NASDAQ | 0.624 | 0.951 | 38.84 | 51.24 | 14.49 | 85.58 |
| Panel A: S&P 500 | Panel B: Gold | |||
| Variant | H=1 | H=10 | H=1 | H=10 |
| DSTNet full | 26.66 [23.52, 30.64] | 91.94 [76.91, 110.95] | 11.95 [10.65, 13.78] | 48.04 [41.53, 58.61] |
| (a) Without burn-in exclusion | 26.89 [23.69, 30.58] | 93.13 [79.84, 113.18] | 12.03 [10.64, 13.83] | 48.78 [41.13, 60.00] |
| (b) Joint STST | 26.66 [23.68, 30.46] | 92.62 [77.99, 110.46] | 11.90 [10.59, 13.77] | 47.79 [41.41, 57.44] |
| (c) No-DST (static snapshot) | 27.98 [24.61, 32.82] | 99.81 [84.85, 123.05] | 12.42 [11.16, 14.32] | 51.15 [42.83, 62.86] |
| (d) No-VAF (mean fusion) | 27.61 [24.61, 32.24] | 95.06 [82.07, 117.78] | 12.27 [10.85, 14.09] | 49.26 [42.10, 60.03] |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | KOSPI | Nikkei 225 | S&P 500 | DJI | DAX | NASDAQ | NYSE | Gold |
| LSTM | 46.38 | 48.98 | 52.87 | 56.16 | 51.45 | 53.43 | 45.91 | 49.55 |
| BiLSTM | 47.69 | 49.69 | 52.82 | 56.53 | 51.28 | 54.99 | 46.33 | 51.39 |
| CNN-BiLSTM | 48.45 | 51.56 | 54.62 | 56.98 | 52.06 | 55.11 | 47.02 | 52.04 |
| XGBoost | 46.70 | 49.58 | 52.63 | 56.97 | 51.15 | 54.12 | 46.44 | 50.92 |
| DLinear | 48.65 | 51.80 | 55.14 | 57.81 | 53.45 | 55.66 | 47.29 | 52.76 |
| N-BEATS | 48.40 | 50.67 | 54.48 | 57.54 | 52.32 | 56.17 | 47.54 | 51.37 |
| Series | Mean | |||||||
| KOSPI | 3 | 3 | 3 | 2 | 76.02 | 77.72 | 81.13 | 78.29 |
| S&P 500 | 3 | 2 | 2 | 2 | 82.85 | 83.10 | 84.87 | 83.61 |
| Nikkei 225 | 3 | 4 | 4 | 3 | 77.92 | 78.99 | 73.77 | 76.89 |
| DJI | 3 | 2 | 4 | 2 | 79.59 | 79.58 | 77.61 | 78.93 |
| DAX | 2 | 2 | 2 | 2 | 86.03 | 83.67 | 84.05 | 84.58 |
| NASDAQ | 1 | 1 | 1 | 1 | 85.79 | 76.46 | 88.91 | 83.72 |
| Series | ||||
| KOSPI | 20.17 0.72 | 35.17 3.69 | 46.01 4.88 | 66.04 5.35 |
| Nikkei 225 | 300.99 0.22 | 516.20 1.43 | 682.22 0.46 | 924.19 1.58 |
| S&P 500 | 26.82 0.14 | 48.32 0.17 | 61.27 0.39 | 91.43 1.07 |
| DJI | 174.18 1.04 | 329.09 3.14 | 420.07 3.41 | 619.99 1.84 |
| DAX | 88.95 0.25 | 159.15 0.38 | 217.07 2.25 | 314.20 3.05 |
| NASDAQ | 114.47 0.39 | 208.46 10.93 | 274.12 23.94 | 366.24 3.60 |
| Series | ||||
| KOSPI | 0.786 0.027 | 1.373 0.138 | 1.802 0.180 | 2.575 0.196 |
| Nikkei 225 | 0.874 0.001 | 1.490 0.005 | 1.958 0.002 | 2.641 0.005 |
| S&P 500 | 0.576 0.003 | 1.041 0.004 | 1.325 0.009 | 1.970 0.023 |
| DJI | 0.483 0.003 | 0.913 0.008 | 1.169 0.008 | 1.717 0.004 |
| DAX | 0.541 0.001 | 0.971 0.002 | 1.318 0.009 | 1.899 0.008 |
| NASDAQ | 0.788 0.003 | 1.440 0.070 | 1.893 0.154 | 2.533 0.025 |
| Series | ||||
| KOSPI | 26.76 0.78 | 45.64 4.42 | 57.96 5.60 | 82.05 5.92 |
| Nikkei 225 | 384.05 0.05 | 661.63 0.38 | 852.16 1.12 | 1140.73 1.79 |
| S&P 500 | 33.90 0.07 | 59.95 0.17 | 77.61 0.29 | 111.79 0.54 |
| DJI | 223.58 0.44 | 406.47 2.47 | 519.45 3.50 | 767.55 1.56 |
| DAX | 114.96 0.10 | 201.80 0.84 | 268.77 1.84 | 379.93 3.88 |
| NASDAQ | 146.81 0.72 | 257.07 10.95 | 337.41 25.85 | 448.04 2.55 |
| Variant | Mean MAE degradation (%) |
| DSTNet full (factorized) | 0.00 (reference) |
| (a) Without burn-in exclusion | +0.92 |
| (b) Joint STST | +0.05 |
| (c) No-DST (static snapshot) | +5.79 |
| (d) No-VAF (mean fusion) | +2.94 |
| Panel A: KOSPI | Panel B: Nikkei 225 | Panel C: DJI | ||||
| Variant | H=1 | H=10 | H=1 | H=10 | H=1 | H=10 |
| DSTNet full | 19.78 [17.45, 23.11] | 63.08 [52.64, 75.78] | 300.74 [271.14, 349.52] | 922.44 [791.03, 1101.35] | 173.14 [151.94, 198.38] | 620.80 [520.96, 751.92] |
| (a) Without burn-in exclusion | 20.09 [17.68, 23.39] | 63.52 [54.98, 78.52] | 302.02 [268.84, 347.81] | 926.32 [794.39, 1103.50] | 173.83 [154.98, 202.31] | 630.48 [534.29, 763.76] |
| (b) Joint STST | 19.73 [17.53, 22.54] | 63.44 [54.51, 76.11] | 300.61 [267.98, 347.30] | 920.07 [765.86, 1106.02] | 172.40 [153.66, 202.11] | 621.41 [538.19, 745.48] |
| (c) No-DST (static snapshot) | 20.57 [18.31, 23.59] | 67.58 [56.42, 82.86] | 308.76 [273.34, 355.87] | 979.92 [833.01, 1202.23] | 180.09 [158.67, 210.16] | 670.08 [561.06, 800.12] |
| (d) No-VAF (mean fusion) | 20.26 [17.93, 23.06] | 65.01 [54.69, 77.50] | 306.50 [273.22, 352.18] | 949.03 [812.06, 1145.93] | 177.39 [156.05, 206.98] | 643.43 [538.82, 796.62] |