Chronos-2 LoRA β€” Poland day-ahead electricity prices

LoRA adapter for 24-hour-ahead hourly day-ahead (DA) electricity price forecasting in Poland (ENTSO-E bidding zone PL). Fine-tuned on top of amazon/chronos-2 using ENTSO-E price history. Weather covariates were not used during training but can be supplied at inference.

Intended use

  • Univariate DA price forecasting for the Polish bidding zone (PL)
  • Load with the Chronos-2 pipeline (PEFT LoRA adapter, not a standalone full model)
  • Optional Open-Meteo weather covariates at inference via predict_df
  • Research and prototyping β€” not financial or trading advice

Usage

Install dependencies:

pip install chronos-forecasting peft torch

Load the adapter (Chronos merges the LoRA weights automatically):

from chronos import Chronos2Pipeline
import numpy as np

pipeline = Chronos2Pipeline.from_pretrained("albertooooz/chronos-2-lora-pl-day-ahead")

# Univariate context: shape (n_series, n_variates, history_length)
context = np.array(your_hourly_prices, dtype=np.float64).reshape(1, 1, -1)
forecast = pipeline.predict(inputs=context, prediction_length=24)

Training data

Field Value
Source ENTSO-E Transparency Platform (day-ahead prices)
Zone PL
Frequency 1h (resampled from 15min where needed)
Train rows 85,523
Date range 2015-01-04 β†’ 2025-07-31
Holdout Last 12 months excluded from training (benchmark eval window)
Weather at train none

Training hyperparameters

Parameter Value
Fine-tuning mode lora
LoRA rank (r) 8
LoRA alpha 16
Learning rate 1e-05
Steps 1000
Batch size 64
Context length 2048
Prediction length 24
Hardware RunPod CUDA (PyTorch 2.4.1+cu124)

Target modules: self_attention.q/k/v/o, output_patch_embedding.output_layer.

Evaluation

Walk-forward backtest on the held-out 12 months: 2 random origin days per calendar month, horizon 24h, random_seed=42, 1h frequency β€” same protocol as benchmark v1.

Model Covariates Zeroshot MASE LoRA MASE Ξ” MASE
chronos-2-small actual_weather 0.814 0.609 +25.1%
chronos-2-small none 0.843 0.632 +25.0%
chronos-2 actual_weather 0.779 0.578 +25.8%
chronos-2 none 0.824 0.614 +25.5%

Metrics: MASE (primary), MAE. MASE scale uses in-sample seasonal naive on context up to each origin.

See eval_results.json in this repository for structured metrics.

Limitations

  • Trained only on Polish (PL) day-ahead prices; do not expect strong transfer to other zones or markets without retraining
  • Does not model fundamental drivers (fuel, outages, cross-border flows) beyond price history (and optional weather at inference)
  • Outputs are probabilistic point/quantile forecasts β€” validate before production use
  • Not a substitute for professional energy market forecasting or risk management

Base model

This is a LoRA adapter β€” load it together with amazon/chronos-2. If you use this adapter in research, cite the Chronos-2 foundation model.

Model card contact

albertooooz

Downloads last month
5
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for albertooooz/chronos-2-lora-pl-day-ahead

Base model

amazon/chronos-2
Adapter
(3)
this model