Organizations: Department of Automation, Tsinghua University, Beijing, 100084, China · School of Software, Tsinghua University, Beijing, 100084, China · School of Computer Science, Northwestern Polytechnical University, Xi’an, 710129, China · Inspur Yunzhou Industrial Internet Co. Ltd, Jinan, 250101, China
Financial time-series forecasting must capture price dynamics across heterogeneous assets while incorporating news available at prediction time. We introduce DualCast, a dual-path framework that extends a frozen language model with a discrete financial vocabulary. Each log-return patch is represented by a learned summary token and three residual shape tokens, preserving local drift and volatility while allowing shape patterns to be shared across assets. To improve codebook utilization, we develop adaptive frequency-equalizing residual vector quantization, which rebalances overloaded codewords without compromising reconstruction accuracy. The fast path trains only the new financial-token embeddings and output heads on a frozen Qwen3-8B backbone. A toggleable LoRA adapter enables a slow path that conditions on the fast forecast and news available at the forecast origin to produce a revised prediction. The reviser is initialized by supervised fine-tuning and further optimized with a return-space group relative policy optimization objective that rewards improvements over the fast forecast. In zero-shot evaluations covering equities and energy prices at five-minute, daily, and weekly resolutions, the slow path achieves the lowest mean absolute percentage error among the compared methods in 8 of 12 dataset-horizon settings, including every longest-horizon setting. News ablations indicate additional gains in most tested settings, although their magnitude varies across markets. DualCast thus combines a fast numerical forecaster with an optional text-conditioned revision mechanism.
Figures & tables
Figure 1: Overview of DualCast . The scale–shape tokenizer separates scale statistics from residual shape patterns and maps both to a hierarchical financial-token sequence. Fast mode predicts future financial tokens using the shared frozen backbone. Slow mode activates a LoRA adapter and uses causally available text together with the fast forecast to produce a news-conditioned revision. The adapter is initialized by supervised fine-tuning and subsequently optimized with the return-space GRPO objective described in Section 3 .
Dataset
Market / freq.
Modality
MTBench-short [ 4 ]
US eq., 5-min
price only
SP500 [ 30 ]
US eq., daily
price + news
HS300 [ 30 ]
CN eq., daily
price + news
Energy [ 16 ]
US gas, weekly
price + news
Table 1: Evaluation datasets, covering markets, sampling frequencies, and input modalities. All datasets are evaluated zero-shot at horizons H∈{16,32,64} .
Component
Params
Trained
Qwen3-8B backbone
8.19 B
frozen
+ Financial tokens ( 4,097 ; embed + head)
33.6 M
Stage 1
+ LoRA adapter ( q,v ; r=32 )
15.3 M
Stage 2
Total trainable
48.9 M
0.60%
Table 2: Parameter-efficient training footprint of DualCast . The 8.2B backbone remains frozen; 48.9M parameters (0.60%) are trained across the two stages.
MTBench (5-min)
SP500
HS300
Energy
Model
16
32
64
16
32
64
16
32
64
16
32
64
Chronos-2
1.51
1.77
2.07
4.98
6.82
11.12
5.84
7.13
9.50
7.11
10.47
13.56
TimesFM-2.5
1.47
1.73
2.04
5.03
7.01
11.25
6.10
7.21
9.74
7.09
10.43
13.65
Timer
1.59
1.90
2.25
7.04
9.61
15.17
6.38
7.77
10.63
7.76
10.70
13.91
Time-MoE
1.57
1.90
2.31
6.55
9.05
14.23
6.06
8.25
11.09
7.45
10.62
14.05
Moirai-2.0
1.46
1.72
2.03
5.03
7.09
11.29
6.17
7.20
9.49
7.13
10.20
13.59
Table 3: Forecasting MAPE (%, ↓ ) across markets and frequencies. MTBench-short is five-minute and evaluated with price only; SP500 / HS300 are daily, and Energy is weekly. DualCast uses no dataset-specific fine-tuning. Best per column in bold .
Dataset
Mode
H=16
32
64
MTBench
Fast
1.49
1.76
2.05
SFT
1.45
1.69
1.96
Slow
1.45
1.68
1.96
SP500
Fast
6.23
9.03
15.26
SFT
5.68
7.87
14.03
Slow
4.81
6.45
9.80
Table 4: Ablation of the three DualCast modes on identical windows. MAPE (%, ↓ ); best per row group in bold . MTBench-short is five-minute and price-only; SP500 / HS300 are daily, and Energy is weekly.
MAPE (%, ↓ )
Directional acc. ( ↑ )
Dataset
News
H=16
32
64
H=16
32
64
Energy
removed
7.30
10.37
13.48
0.49
0.42
0.45
real
7.31
10.32
13.27
0.55
0.54
0.51
SP500
removed
5.67
7.55
10.64
0.51
0.52
0.48
real
5.63
7.49
10.56
0.53
0.55
0.50
HS300
removed
6.41
7.91
10.04
0.53
0.57
0.54
Table 5: News ablation: point error (MAPE, %, ↓ ) and directional accuracy ( ↑ ) of the Slow reviser with real news vs. with news removed, on identical date-aligned windows. Better of the two conditions per column in bold .
Figure 2: Representative Fast–SFT–Slow forecasts on identical windows. Gray denotes the observed history, black the realized future, blue the fast Stage-1 forecast, green the SFT reviser, and orange the RL-tuned slow reviser. The MTBench example shows a small refinement when the fast estimate is already reasonable; the SP500 example shows the two refinement stages correcting a larger fast-mode deviation. These cases are illustrative; aggregate improvements are reported in Table 4 .
Mode
Latency (s)
Avg Generated tokens
Fast
0.37
16
Slow
5.85
199
Table 6: Cost of deliberation: per-forecast latency (median) and number of generated tokens on SP500 (single H800, batch 1, greedy decoding). The fast path decodes only the forecast tokens; the slow path additionally generates a reasoning trace and regenerates the forecast.
Figure 3: Additional SP500 revision examples. The slow path (orange) conditions on the fast forecast (blue) and causally available text. In both examples it removes a substantial portion of the fast path’s scale or local-trajectory error, although it does not reproduce every short-term fluctuation in the realized path (black). These examples complement the paired aggregate news ablation in Table 5 .
Figure 4: Representative slow-path forecasts (orange dashed) against the realized future (black) following the observed history (gray); the dotted vertical line marks the forecast origin. The three examples cover five-minute MTBench and daily SP500 and HS300 data.