🎓 Financial Derivatives — Now Enrolling · Starts 8 September 2026 · Every Tuesday 7:30 PM IST · ₹5,000 · Enroll Now →
The Mountain Path Academy
The Mountain Path Academy
Finance · Risk Management · Quantitative Analytics
Quantitative Methods · Advanced

Time Series Analysis & Forecasting

From Classical Decomposition to ARIMA

CMA · Additive & Multiplicative Models · Stationarity · ACF · PACF · ARIMA

Prof. V. RavichandranProfessor of Finance · Corporate Finance, Banking & Academia
Learner-Friendly Study GuideMBA · CFA · FRM · Business & Financial Analytics

Time-series analysis studies observations ordered through time. The order matters: today may depend on yesterday, seasonal patterns may repeat, and structural changes can alter both the mean and variance. A sound forecast separates pattern from noise, tests the assumptions, and measures performance on data the model did not see.

1Time-Series Foundations

A time series is a sequence \(y_1,y_2,\ldots,y_T\) observed at ordered intervals. Unlike cross-sectional data, observations cannot usually be shuffled because temporal dependence carries information.

Frequency

Daily, monthly or quarterly spacing determines meaningful seasonal periods and forecast horizons.

Stock versus flow

A stock is measured at a point in time. A flow accumulates across an interval.

Univariate versus multivariate

Univariate models use the series history. Multivariate models also use related variables.

Forecasting principle
Use only information available at the forecast origin. Random train-test splitting leaks future information into the past; preserve time order.

2Components and Observable Patterns

ComponentMeaningExample
LevelTypical magnitude around which observations varyAverage monthly sales
Trend \(T_t\)Persistent long-run directionGradual revenue growth
Seasonality \(S_t\)Pattern repeating at a fixed calendar frequencyQuarter-end deposits
Cycle \(C_t\)Longer fluctuations without a fixed periodBusiness cycle
Irregular \(I_t\)Unpredictable residual variationOne-off disruption
Seasonality versus cycle
Seasonality repeats at a known frequency. A cycle varies in length and is often linked to economic conditions. Do not force a fixed seasonal model onto irregular cycles.

3Centred Moving Averages

A moving average smooths short-run variation to reveal the trend-cycle. For an odd window of width \(m=2k+1\), the centred moving average is:

\[CMA_t=\frac{1}{m}\sum_{j=-k}^{k}y_{t+j}\]

For an even seasonal period, such as quarterly \(m=4\), a four-term average lies between observations. Centre it by averaging two adjacent moving averages. This produces a 2×4 centred moving average.

\[CMA_t=\frac12(MA_{t-1/2}+MA_{t+1/2})\]
Why match the seasonal period?
A moving average spanning one complete seasonal cycle tends to cancel seasonal highs and lows. Monthly data often use 12 terms; quarterly data use four terms followed by centring.
Boundary loss
CMA values are unavailable near the beginning and end because a full symmetric window does not exist. Moving averages also lag turning points.

4Additive Decomposition

\[y_t=T_t+S_t+C_t+I_t\]

The additive model assumes seasonal effects have roughly constant absolute size. A ₹10 increase in the festive quarter remains about ₹10 whether the series level is ₹100 or ₹300.

Estimate trend-cycle with CMACompute \(y_t-CMA_t\)Average by seasonNormalise seasonal indices to sum to zero

Deseasonalise by subtraction: \(y_t-S_t\). Forecast by extending the trend and adding the appropriate seasonal component.

\[\widehat y_{T+h}=\widehat T_{T+h}+\widehat S_{T+h}\]

5Multiplicative Decomposition

\[y_t=T_t\times S_t\times C_t\times I_t\]

The multiplicative model assumes seasonal amplitude grows or shrinks with the level. A seasonal index of 1.20 means 20% above trend; 0.85 means 15% below trend.

Estimate trend-cycle with CMACompute \(y_t/CMA_t\)Average by seasonNormalise indices to average one

Deseasonalise by division and forecast by multiplying:

\[\widehat y_{T+h}=\widehat T_{T+h}\times\widehat S_{T+h}\]
Log transformation
Taking logarithms converts a multiplicative structure into an additive one: \(\log y_t=\log T_t+\log S_t+\log I_t\). Logs can also stabilise variance when fluctuations scale with the level.

6Stationarity

A weakly stationary series has a constant mean, constant finite variance and autocovariance that depends only on lag, not calendar time:

\[E(y_t)=\mu,\qquad Var(y_t)=\sigma^2,\qquad Cov(y_t,y_{t-k})=\gamma_k\]

ARIMA modelling typically requires stationarity after suitable transformations and differencing. A trend, changing seasonal pattern, variance growth or structural break can violate this condition.

ProblemCommon treatmentCaution
Deterministic trendRegression on time or detrendingDo not difference automatically if trend-stationary
Stochastic trend / unit rootFirst differenceOver-differencing creates unnecessary negative autocorrelation
Seasonal unit rootSeasonal difference \((1-B^m)y_t\)Verify seasonal period and residual pattern
Changing varianceLog or Box–Cox transformTransform before differencing
Structural breakIntervention variables or regime modelTests may mistake a break for a unit root

7Stationarity Tests

TestNull hypothesisEvidence for stationarity
ADFUnit root existsReject the null with a sufficiently small p-value
Phillips–PerronUnit root existsReject the null; PP uses nonparametric correction for serial correlation and heteroskedasticity
KPSSLevel or trend stationarityFail to reject the null
Use complementary tests
ADF/PP and KPSS reverse the null hypothesis. Rejecting ADF while failing to reject KPSS provides stronger evidence of stationarity than either result alone.

ADF regression choices

The Augmented Dickey–Fuller regression may include no constant, a constant, or a constant plus trend. The specification must match the plotted series. Lagged differences absorb residual autocorrelation:

\[\Delta y_t=a+bt+\gamma y_{t-1}+\sum_{i=1}^{p}\delta_i\Delta y_{t-i}+\varepsilon_t\]

The unit-root null is \(\gamma=0\). Standard t critical values do not apply; use Dickey–Fuller critical values.

Testing pitfalls
Unit-root tests have limited power in short samples. Results depend on lag length, deterministic terms, seasonality and breaks. Plot the data and inspect diagnostics before treating a p-value as a final decision.

8Autocorrelation Function

The ACF at lag \(k\) measures linear association between \(y_t\) and \(y_{t-k}\):

\[\rho_k=\frac{Cov(y_t,y_{t-k})}{Var(y_t)},\qquad -1\le\rho_k\le1\]

The sample ACF is read as a correlogram. Approximate 95% white-noise bounds are \(\pm1.96/\sqrt{T}\), though individual-spike bounds do not replace a joint residual test.

Slow decay

Often indicates nonstationarity or a strongly persistent process.

Seasonal spikes

Large values at \(m,2m,3m\) signal a repeating seasonal structure.

Sharp cutoff

An MA(q) process has a theoretical ACF that cuts off after lag q.

Returns versus squared returns
Financial returns may have weak ACF, while squared returns show persistence. This indicates conditional heteroskedasticity and motivates ARCH/GARCH modelling.

9Partial Autocorrelation Function

The PACF at lag \(k\) measures the association between \(y_t\) and \(y_{t-k}\) after removing the linear influence of intervening lags \(1,\ldots,k-1\). It isolates the direct lag relationship.

AR(p)

Theoretical PACF cuts off after lag p, while the ACF tails off.

MA(q)

Theoretical ACF cuts off after lag q, while the PACF tails off.

ARMA(p,q)

Both ACF and PACF generally tail off; use information criteria and diagnostics.

Identification is suggestive
Sample correlograms are noisy, especially with short series or near-cancelling AR and MA terms. Use ACF/PACF to generate candidates, not to declare a model mechanically.

10ARIMA Models

\[\phi(B)(1-B)^d y_t=c+\theta(B)\varepsilon_t\]

ARIMA(p,d,q) combines autoregressive lags, differencing and moving-average error terms. Here \(B y_t=y_{t-1}\).

OrderRoleInterpretation
pAR orderNumber of lagged series values after differencing
dIntegration orderNumber of ordinary differences used for stationarity
qMA orderNumber of lagged forecast errors
\[(1-\phi_1B-\cdots-\phi_pB^p)(1-B)^d y_t=c+(1+\theta_1B+\cdots+\theta_qB^q)\varepsilon_t\]
Moving-average terminology
The MA(q) part of ARIMA is a regression on past innovations. It is different from the rolling or centred moving average used for smoothing and decomposition.

Seasonal ARIMA

SARIMA extends the model with seasonal orders \((P,D,Q)_m\):

\[ARIMA(p,d,q)\times(P,D,Q)_m\]

The seasonal difference is \((1-B^m)y_t=y_t-y_{t-m}\). Use it when seasonal dependence remains after ordinary differencing.

11Model Identification and Estimation

Plot and cleanTransform varianceDifference minimallyInspect ACF/PACFEstimate candidates

Choose \(d\) using plots, domain knowledge and unit-root evidence. Then propose parsimonious \(p,q\) values from ACF/PACF. Estimate by maximum likelihood and compare candidates using AIC, AICc or BIC.

\[AIC=-2\log L+2k,\qquad BIC=-2\log L+k\log T\]

Lower values indicate a better fit-complexity trade-off among models estimated on the same response data. BIC penalises complexity more strongly as sample size grows.

Avoid over-differencing
Once a series is stationary, extra differencing can inflate forecast variance and create an artificial lag-1 negative autocorrelation. Prefer the smallest defensible \(d\) and \(D\).

12Residual Diagnostics

A fitted model should leave innovations that resemble white noise: zero mean, stable variance and no remaining autocorrelation.

DiagnosticQuestionDesired result
Residual time plotAre breaks, outliers or changing variance visible?No systematic pattern
Residual ACFDoes temporal dependence remain?No material spikes
Ljung–Box testAre autocorrelations jointly zero through lag h?Fail to reject the null
Histogram / QQ plotAre residual tails compatible with the assumed intervals?No severe unexplained departures
Squared-residual ACF / ARCH testDoes conditional variance remain?No volatility clustering
\[Q=T(T+2)\sum_{k=1}^{h}\frac{\widehat\rho_k^2}{T-k}\]

When applying Ljung–Box to fitted ARIMA residuals, account for parameters already estimated and select lags meaningful for the seasonal frequency.

13Forecasts and Accuracy

A point forecast should be accompanied by an interval that widens as uncertainty accumulates. ARIMA intervals are conditional on the fitted model and estimated parameters; structural breaks can make them overconfident.

MetricFormulaCaution
MAE\(n^{-1}\sum|e_t|\)Scale dependent but easy to interpret
RMSE\(\sqrt{n^{-1}\sum e_t^2}\)Penalises large misses strongly
MAPE\(100n^{-1}\sum|e_t/y_t|\)Undefined or unstable near zero
MASEMAE divided by naïve in-sample MAEComparable across scales when denominator is suitable
Backtesting design
Use a rolling or expanding origin. Refit at each origin when that matches production. Compare against naïve, seasonal-naïve and drift benchmarks. Evaluate the horizon that matters to the decision.

14Interactive Decomposition Lab

Use the controls to see when additive or multiplicative seasonality is appropriate. The example has a trend level and a seasonal effect.

Additive versus multiplicative seasonality
Additive observation
Multiplicative observation
Additive seasonal %

Explore ARIMA interactively

Basic ARIMA Model Lab

Build intuition for ARIMA parameters, differencing and forecasts through a focused introductory modelling exercise.

Open Basic ARIMA Lab ↗

ARIMA Forecasting Dashboard

Work through time-series preparation, ARIMA model fitting and forecast output in an interactive dashboard.

Open Forecasting Dashboard ↗

ARIMA Modelling Flow Chart

Follow the modelling sequence from visual inspection and stationarity testing through identification, diagnostics and forecasting.

Open ARIMA Flow Chart ↗
Complete modelling workflow
  1. Define frequency, horizon and business loss from forecast errors.
  2. Plot the series and investigate missing data, outliers and breaks.
  3. Choose a decomposition or stochastic model appropriate to the pattern.
  4. Transform and difference only as needed.
  5. Fit parsimonious candidates and diagnose residuals.
  6. Backtest against simple benchmarks using rolling origins.
  7. Monitor forecast errors and refit when the data-generating process changes.