File size: 8,202 Bytes
f56cebe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d469ad3
 
 
f56cebe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
---
license: apache-2.0
library_name: granite-tsfm
pipeline_tag: time-series-forecasting
base_model: ibm-granite/granite-timeseries-ttm-r2
tags:
  - time-series
  - forecasting
  - volatility
  - quantitative-finance
  - tinytimemixer
  - granite-tsfm
  - foundation-models
  - arxiv:2401.03955
  - arxiv:2602.19732
  - arxiv:2607.05291
model-index:
  - name: VolaTTM
    results:
      - task:
          type: time-series-forecasting
          name: Realized volatility forecasting
        dataset:
          name: VOLARE realized-variance archives
          type: external
        metrics:
          - type: rmse
            name: Macro RMSE at 1 session
            value: 0.085053
          - type: qlike
            name: Macro QLIKE at 1 session
            value: 0.214835
          - type: rmse
            name: Macro RMSE at 5 sessions
            value: 0.099955
          - type: qlike
            name: Macro QLIKE at 5 sessions
            value: 0.310544
          - type: rmse
            name: Macro RMSE at 22 sessions
            value: 0.102618
          - type: qlike
            name: Macro QLIKE at 22 sessions
            value: 0.346820
---

# VolaTTM

![VolaTTM](volattm-hero.png)

VolaTTM is a compact time series foundation model adapted for cross-asset
realized-volatility forecasting. It is a single fine-tuned IBM Granite Tiny Time
Mixer R2.1 model. It is not an ensemble and does not use a mixture-of-experts
architecture.

Resources: [source and audit](https://github.com/Aurelien7877/volattm) and
[public research article](https://huggingface.co/spaces/AurelPx/volattm-article).

## Model description

| Property | Value |
|---|---|
| Base model | [`ibm-granite/granite-timeseries-ttm-r2`](https://huggingface.co/ibm-granite/granite-timeseries-ttm-r2) |
| Base branch selected during training | `512-48-ft-l1-r2.1` |
| Parameters | approximately 805,000 |
| Input context | 512 observed trading sessions |
| Output used | first 22 forecast steps |
| Reported horizons | 1, 5, and 22 sessions |
| Target channel | log 5-minute realized variance |
| Input channels | 12 |
| Evaluation period | 2025-01-01 to 2026-06-30 |

The model enables TTM's forecast-channel-mixing decoder and predicts the target
channel from the twelve-channel end-of-day context.

## Data

Fine-tuning used official realized-variance archives from
[VOLARE](https://volare.unime.it/), downloaded on 2026-07-13. The files contain
158,887 daily observations for 40 equities, 5 foreign-exchange rates, and 5
futures through 2026-06-30. The prediction target is `rv5`, realized variance
computed from 5-minute returns.

The VOLARE data are not included in this model repository. Raw archives,
processed tables, row-level predictions, and data caches are intentionally
excluded. Users must obtain the archives from VOLARE and follow the provider's
usage terms. The data construction is described by
[Cipollini et al.](https://arxiv.org/abs/2602.19732).

The twelve input channels, in order, are:

```text
log_rv5
log_rv5_ss
log_rk
log_bv5
jump_share
downside_share
log_rq5
intraday_return
overnight_return
log_range
log_volume
log_trades
```

All channels are observable after the forecast-origin session closes. This is
an end-of-day model and should not be interpreted as an intraday nowcaster.

## Training

Eligible training targets end before 2024-01-01. Calendar year 2024 is used for
early stopping and seed selection. The final checkpoint is seed 17 at epoch 3.
The 2025 to June 2026 period is used only for evaluation of the released run.

The objective is a weighted combination of Smooth L1 loss and QLIKE in
log-variance space over the 22-step path. Training uses AdamW, OneCycle
scheduling, gradient clipping, mixed precision, asset-balanced sampling, and
three random seeds. The TTM configuration retains internal standard scaling.

## Evaluation results

HAR-RV and Log-HAR are direct horizon models re-estimated at every forecast
origin on a rolling 1,000-session window. Scores are macro averages across 50
assets. MAE and RMSE are measured on annualized volatility. QLIKE is measured on
variance. Lower values are better.

| Horizon | Model | MAE | RMSE | QLIKE |
|---:|---|---:|---:|---:|
| 1 | HAR-RV | 0.05164 | 0.08592 | 0.22188 |
| 1 | Log-HAR | **0.04958** | 0.08610 | 0.23887 |
| 1 | **VolaTTM** | 0.05192 | **0.08505** | **0.21483** |
| 5 | HAR-RV | 0.06134 | 0.10099 | 0.33504 |
| 5 | Log-HAR | **0.05832** | 0.10030 | 0.36285 |
| 5 | **VolaTTM** | 0.06173 | **0.09996** | **0.31054** |
| 22 | HAR-RV | 0.06686 | 0.10678 | 0.39199 |
| 22 | Log-HAR | **0.06433** | 0.10644 | 0.43810 |
| 22 | **VolaTTM** | 0.06466 | **0.10262** | **0.34682** |

VolaTTM improves macro RMSE and QLIKE at all three horizons. It does not improve
MAE relative to Log-HAR. Against Log-HAR, VolaTTM has lower QLIKE on 50 of 50
assets at one session, 49 of 50 at five sessions, and 47 of 50 at 22 sessions.

## Loading the checkpoint

Install the same major model implementation used for training:

```bash
pip install "granite-tsfm==0.3.6" "torch>=2.10,<2.11"
```

```python
import torch
from tsfm_public.models.tinytimemixer import TinyTimeMixerForPrediction

model = TinyTimeMixerForPrediction.from_pretrained("AurelPx/VolaTTM")
model.eval()

# Shape: batch, 512 sessions, 12 channels in the documented order.
past_values = torch.as_tensor(features, dtype=torch.float32)
freq_token = torch.full((past_values.shape[0],), 8, dtype=torch.long)

with torch.inference_mode():
    log_variance_path = model(
        past_values=past_values,
        freq_token=freq_token,
        return_loss=False,
    ).prediction_outputs[..., 0]

annualized_volatility = torch.sqrt(252.0 * torch.exp(log_variance_path))
forecasts = annualized_volatility[:, [0, 4, 21]]
```

`features` must be reconstructed with the transformations documented in the
[source repository](https://github.com/Aurelien7877/volattm). A different channel
order or target scale is not compatible with this checkpoint.

## Intended use

The model is intended for research on end-of-day volatility forecasting,
time-series foundation-model adaptation, and econometric benchmarking. It is
not designed for order execution, automated risk limits, or investment advice.

## Limitations

- The test period is isolated from checkpoint selection, but it is not a fully
  project-blind holdout. Earlier proxy-based experiments had identified 2026 as
  a difficult regime before this model was trained.
- The fixed VOLARE universe can contain selection and survivorship effects.
- Trading calendars differ across asset classes.
- Diebold-Mariano p-values are not corrected for multiple testing.
- Forecast accuracy has not been translated into a transaction-cost-aware
  strategy or economic utility result.
- Future data may differ materially from the evaluation period.

The full protocol and leakage assessment are documented in the
[audit](https://github.com/Aurelien7877/volattm/blob/main/AUDIT.md).

## Base-model and data attribution

VolaTTM is an independent research fine-tune and is not an IBM product. The
base TTM checkpoint is released by IBM under Apache 2.0. The IBM model card lists
the base pretraining sources and does not list VOLARE.

Please cite the original model and data work when using this checkpoint:

```bibtex
@inproceedings{ekambaram2024tinytimemixers,
  title     = {Tiny Time Mixers: Fast Pre-trained Models for Enhanced Zero/Few-Shot Forecasting of Multivariate Time Series},
  author    = {Ekambaram, Vijay and Jati, Arindam and Dayama, Pankaj and Mukherjee, Sumanta and Nguyen, Nam H. and Gifford, Wesley M. and Reddy, Chandra and Kalagnanam, Jayant},
  booktitle = {Advances in Neural Information Processing Systems},
  year      = {2024}
}

@article{cipollini2026volare,
  title   = {VOLatility Archive for Realized Estimates},
  author  = {Cipollini, Fabrizio and Cruciani, Giulia and Gallo, Giampiero M. and Insana, Alessandra and Otranto, Edoardo and Spagnolo, Fabio},
  journal = {arXiv preprint arXiv:2602.19732},
  year    = {2026}
}
```

## License

The fine-tuned weights and project code are released under Apache 2.0. VOLARE
data are not redistributed and remain subject to the source provider's terms.