Skip to content

Seasonality

Seasonality is a recurring calendar pattern. Separate it from trends and cycles, understand a seasonal decomposition, and estimate it without future information.

Seasonality is a systematic pattern tied to a recurring position in the calendar or trading schedule, such as time of day, day of week or month of year. For a quant, it changes the appropriate comparison: unusually high trading activity should be judged against activity normally expected at that time, rather than against an undifferentiated average. A seasonal pattern in activity or volatility does not, by itself, imply predictable excess returns.

A calendar pattern, a cycle and a trend

The distinguishing feature is the clock. Seasonality has a specified recurring schedule. A business cycle can involve repeated expansions and contractions whose lengths vary. A deterministic trend describes a systematic change with time without requiring a return to the same calendar position. These components can coexist. A rising series can still have a seasonal dip relative to its rising baseline. Hyndman and Athanasopoulos distinguish these patterns before choosing a forecasting model.

“Fixed period” needs a sampling convention. A daily seasonal pattern in regularly spaced intraday observations differs from a weekly pattern in daily closes. Holidays, missing observations, changing session hours and daylight saving can disrupt a simple row-count period. Label the actual calendar position instead of assuming that a fixed number of rows always returns to it. Multiple seasonal schedules can operate together; their amplitudes can also change over time.

A stipulated pattern, not a discovery

Take an artificial calendar with two equally spaced slots, A then B, repeating. Let a hypothetical activity index have reference baseline 100100 index units and seasonal offsets 00 in A and 1010 in B. For times t=0,1,2,3t=0,1,2,3, stipulate

yt=100+st,st+2=st.y_t=100+s_t,\qquad s_{t+2}=s_t.
Time ttCalendar slotSeasonal offset sts_tIndex yty_t
0A0100
1B10110
2A0100
3B10110
Four stipulated index observations, 100, 110, 100, 110, at times 0, 1, 2, 3. Calendar slots A and B repeat, with offsets 0 and 10 from reference baseline 100.
Four stipulated index observations, 100, 110, 100, 110, at times 0, 1, 2, 3. Calendar slots A and B repeat, with offsets 0 and 10 from reference baseline 100.
Original synthetic example in index units. Solid markers show stipulated values; the dashed line is the reference baseline. The A–B schedule repeats after two observations. Connectors only guide the eye.

The reference baseline is not the average of this sequence. The average is 105105. An equivalent zero-mean seasonal convention uses baseline 105105 and offsets −5,+5,−5,+5-5,+5,-5,+5. Both representations produce the same observations; an identification convention determines how the level and seasonal component share the constant part.

This exact repetition was put into the example. Four points cannot establish a stable calendar effect in market data, and the index is not a return series. There is no trading-profit calculation here.
Smooth periodic functions offer another representation. Basic Trigonometry explains period, amplitude and phase through a stylised liquidity model. It has a public preview; the full lesson requires membership.

Estimating what the clock explains

A seasonal regression can use calendar-category indicators. With an intercept, omit one category as the reference, or impose an identifying constraint; including an intercept and every exhaustive category indicator creates perfect multicollinearity. The resulting seasonal coefficients describe differences conditional on whatever other regressors were included. They do not establish a causal mechanism. Brooks discusses the construction and interpretation in §9.3, pp. 455–456.
Use an additive model when seasonal deviations are naturally measured in the series' units. A proportional pattern may call for a multiplicative model or, for strictly positive data, modelling logs. Neither choice guarantees that the remaining series is stationary. Removing estimated seasonality is also different from detrending: each targets a different component.
For a forecast or backtest, estimate the seasonal profile using only information available before that forecast or trade. Refit within chronological training windows; do not seasonally adjust the entire sample first and then split it. Later observations—and revised economic data released later—can otherwise leak into earlier decisions. Rolling-origin evaluation makes that timing explicit.
Finally, an estimated return calendar effect needs checks for changing risk exposure, repeated searches across calendars and performance after transaction costs. A useful seasonal baseline for execution planning can exist even when it supplies no tradable alpha.

Sources

Last updated
  • seasonality
  • calendar effects
  • time series
  • seasonal adjustment
  • backtesting
← Back to the glossaryBack to top ↑