VolaTTM

VolaTTM

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 and public research article.

Model description

Property Value
Base model 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, 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..

The twelve input channels, in order, are:

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:

pip install "granite-tsfm==0.3.6" "torch>=2.10,<2.11"
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. 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.

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:

@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.

Downloads last month
44
Safetensors
Model size
800k params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AurelPx/VolaTTM

Finetuned
(7)
this model

Space using AurelPx/VolaTTM 1

Paper for AurelPx/VolaTTM

Evaluation results

  • Macro RMSE at 1 session on VOLARE realized-variance archives
    self-reported
    0.085
  • Macro QLIKE at 1 session on VOLARE realized-variance archives
    self-reported
    0.215
  • Macro RMSE at 5 sessions on VOLARE realized-variance archives
    self-reported
    0.100
  • Macro QLIKE at 5 sessions on VOLARE realized-variance archives
    self-reported
    0.311
  • Macro RMSE at 22 sessions on VOLARE realized-variance archives
    self-reported
    0.103
  • Macro QLIKE at 22 sessions on VOLARE realized-variance archives
    self-reported
    0.347