predictive
Seasonal Time Series
Advanced
SARIMA

SARIMA

Extends ARIMA with seasonal components to model and forecast time series with recurring periodic patterns.

Overview

SARIMA (Seasonal ARIMA) extends the ARIMA framework by adding seasonal autoregressive and moving average terms to capture periodic patterns in time series data. In trading, seasonal patterns appear in many forms: day-of-week effects, monthly return anomalies, quarterly earnings cycles, and annual commodity demand cycles. SARIMA provides a principled statistical framework to model and forecast these patterns simultaneously with the non-seasonal dynamics.

How it looks on a chart

Illustration only — synthetic data generated for visual reference.

Beginner

SARIMA is an upgraded version of ARIMA that specifically looks for repeating patterns at regular intervals. For example, natural gas prices tend to spike in winter and fall in summer. Retail stocks often do well before the holiday season. Agricultural commodities follow crop cycle patterns. SARIMA learns these patterns from historical data and incorporates them into its forecasts. Think of it as ARIMA plus a "seasonal memory." Not only does it look at recent data (like ARIMA), but it also looks at what happened at this same time of year, or this same time of month, one or two periods ago. In practice, SARIMA is most useful for commodities (energy, agricultural), retail-sector stocks, and any asset with a clear cyclical driver. For most financial assets without strong seasonality, standard ARIMA is sufficient.

Intermediate

SARIMA(p,d,q)(P,D,Q)[s] adds seasonal order terms: P = seasonal AR lags, D = seasonal differencing, Q = seasonal MA lags, s = seasonal period (e.g., 12 for monthly data with annual seasonality, 5 for daily with weekly seasonality). The full model combines both non-seasonal and seasonal polynomials in the backshift operator. For trading applications: daily data with weekly seasonality uses s=5 (Monday to Friday); monthly data with annual seasonality uses s=12. The January Effect, turn-of-month effect, and Monday effect in equity markets are all candidates for SARIMA modeling, though their statistical significance has weakened in recent decades. Model selection for SARIMA is significantly more complex than ARIMA due to the larger parameter space (p, d, q, P, D, Q, s). Auto-SARIMA with AIC/BIC selection is practically necessary. Out-of-sample walk-forward validation is critical because seasonal effects can be identified spuriously in-sample across many tested configurations.

Advanced

SARIMA's theoretical basis is the Box-Jenkins seasonal extension, which assumes multiplicative seasonal structure: the total model is (non-seasonal polynomial) × (seasonal polynomial). This multiplicative form means seasonal and non-seasonal effects interact, which is appropriate when seasonal amplitude increases with the level of the series (e.g., higher prices → bigger seasonal swings). For financial asset returns, genuine SARIMA-exploitable seasonality is rare but documented: the Halloween effect (higher returns November–April), the January effect in small caps, and the pre-announcement drift before earnings. However, as with ARIMA, the efficient market hypothesis implies these patterns should decay as they become widely known and arbitraged. For commodities and energy markets, SARIMA still adds genuine forecasting value. Natural gas storage data, heating degree days, and crop yield cycles create multi-year predictable patterns that SARIMA can capture. Combining SARIMA with supply/demand fundamental data (cointegration frameworks) provides the most robust commodity forecasting models in practice.

Formula

SARIMA(p,d,q)(P,D,Q)[s]:
Φₚ(Bˢ) φₚ(B) ΔˢD Δᵈ Xₜ = Θ_Q(Bˢ) θ_q(B) εₜ
where B is the backshift operator, s is the seasonal period
  1. 1.Identify seasonal period s (e.g., s=12 for monthly data, s=5 for daily equity data).
  2. 2.Apply seasonal differencing (D times at lag s) and non-seasonal differencing (d times) for stationarity.
  3. 3.Examine seasonal ACF/PACF (lags at multiples of s) to identify candidate P and Q.
  4. 4.Fit SARIMA(p,d,q)(P,D,Q)[s] via maximum likelihood; use AIC/BIC for model selection.
  5. 5.Validate with out-of-sample walk-forward testing; check seasonal residual patterns.

Parameters

ParameterDefaultRangeDescription
Seasonal Period12452Number of periods per seasonal cycle (12=monthly, 5=weekly, 52=weekly-annual).
Seasonal AR (P)103Seasonal autoregressive order.
Seasonal MA (Q)103Seasonal moving average order.

Trading signals

bearish: Model predicts seasonal peak (based on historical cycle)

Seasonal top approaching — consider reducing long exposure or hedging.

bullish: Model predicts seasonal trough

Seasonal bottom approaching — consider accumulating long exposure.

bearish: Current price significantly above SARIMA seasonal forecast

Price extended above seasonal norm — mean reversion to seasonal trend expected.

Limitations

  • Seasonal patterns in financial markets are not stable — they change or disappear as they become widely known.
  • Requires many years of data to reliably estimate seasonal components (especially for annual patterns).
  • Large parameter space (p,d,q,P,D,Q,s) massively increases overfitting risk versus standard ARIMA.
  • Assumes fixed seasonal period — cannot capture gradually shifting cycles (e.g., El Niño effects on agriculture).
How Gilito AI uses SARIMA

Gilito applies SARIMA models specifically to commodity and energy markets where seasonal demand cycles are economically grounded. For equity markets, Gilito tests calendar effects (day-of-week, month-of-year) as discrete dummy variables in regression models rather than full SARIMA, as the latter rarely adds value over standard ARIMA on equity returns.

Related indicators