ARMA models are the baseline forecasters for any stationary series. For index returns they forecast almost nothing, and knowing why is the point. For spreads, basis and volatility proxies they forecast a great deal, and the same algebra gives half-lives of mean reversion.
A process {Xt} is weakly stationary if EXt=μ and Cov(Xt,Xt−k)=γk do not depend on t. Its autocorrelation is ρk=γk/γ0. White noise {et} is uncorrelated with mean 0 and variance σ2. The lag operator is LXt=Xt−1.
An AR(1) is
Xt=c+ϕXt−1+et.(13.3)
Proposition 13.3AR(1)
If ∣ϕ∣<1, (13.3) has a unique weakly stationary solution
Xt=μ+j=0∑∞ϕjet−j,μ=1−ϕc,(13.4)
with γ0=σ2/(1−ϕ2) and ρk=ϕ∣k∣. If ∣ϕ∣≥1 there is no stationary causal solution.
Proof
Iterate (13.3) k times: Xt=c∑j=0k−1ϕj+ϕkXt−k+∑j=0k−1ϕjet−j. If ∣ϕ∣<1 and X is stationary, E[(ϕkXt−k)2]=ϕ2k(γ0+μ2)→0, and the partial sums of ∑ϕjet−j are Cauchy in L2 because ∑ϕ2j<∞. Letting k→∞ gives (13.4). Then γ0=σ2∑jϕ2j=σ2/(1−ϕ2) and γk=σ2∑jϕjϕj+k=ϕkγ0. If ∣ϕ∣≥1, a stationary solution would need Var(Xt)=ϕ2Var(Xt−1)+σ2, i.e. γ0(1−ϕ2)=σ2>0, impossible for ϕ2≥1.∎
An AR(p) is Φ(L)Xt=c+et with Φ(z)=1−ϕ1z−⋯−ϕpzp.
Proposition 13.4AR(p) stationarity
The AR(p) has a stationary causal solution Xt=μ+∑j≥0ψjet−j with ∑∣ψj∣<∞ iff all roots of Φ(z)=0 lie outside the unit circle; equivalently, all eigenvalues of the companion matrix
F=ϕ11⋮0ϕ20⋱⋯⋯⋯1ϕp0⋮0
lie strictly inside it.
Sketch
Factor Φ(z)=∏i=1p(1−λiz), where the λi are the reciprocals of the roots and are also the eigenvalues of F (expand det(λI−F)=λp−ϕ1λp−1−⋯−ϕp=λpΦ(1/λ)). Each factor (1−λiL) is invertible with absolutely summable inverse ∑jλijLj iff ∣λi∣<1, by Proposition 13.3. The product of absolutely summable filters is absolutely summable. The converse follows as in Proposition 13.3 applied to the state vector (Xt,…,Xt−p+1)′, which evolves as ξt=Fξt−1+(et,0,…,0)′. Hamilton (1994, ch. 1 and 3.4) has the full argument.∎
For an MA(q), Xt=μ+Θ(L)et is always stationary. It is invertible (expressible as an AR(∞) in past X) iff the roots of Θ(z) lie outside the unit circle; this makes the forecast a function of observed data. An ARMA(p,q) combines both, and the conditions apply to Φ and Θ separately.
In matrix form, Rϕ=ρ with Rij=ρ∣i−j∣, i,j=1..p, and ρ=(ρ1,…,ρp)′.
Proof
Multiply Xt=∑jϕjXt−j+et by Xt−k, k≥1, and take expectations. Causality means Xt−k is a function of et−k,et−k−1,…, so E[etXt−k]=0. This gives γk=∑jϕjγk−j; divide by γ0. For k=0: γ0=∑jϕjγj+E[etXt]=∑jϕjγj+σ2, since E[etXt]=E[et2]. Rearrange.∎
The Yule–Walker estimator replaces ρk by sample autocorrelations and solves the linear system. The second equation shows that the population one-step R2 of an AR(p) is 1−σ2/γ0=∑jϕjρj. For an AR(1), R2=ϕ2.
Proposition 13.6AR(1) forecasts
For (13.3) with ∣ϕ∣<1, the minimum-MSE h-step forecast and its error variance are
Iterate: Xt+h−μ=ϕh(Xt−μ)+∑j=0h−1ϕjet+h−j. The first term is Ft-measurable; the sum has mean zero given Ft and variance σ2∑j=0h−1ϕ2j. The conditional mean minimises MSE among Ft-measurable forecasts.∎
The deviation from the mean halves after h1/2=ln0.5/lnϕ periods. This is the half-life used for mean-reverting spreads (M10 (10.19); for an OU spread, M13A · 13A.7 gives the continuous-time version ln2/κ and the precision of its estimate; Chan, Algorithmic Trading, ch. 2) and, with ϕ replaced by α+β, for GARCH variance (13.4).
Worked example: Yule–Walker on daily index returns#
Suppose the sample autocorrelations of a large-cap Indian index's daily returns are ρ^1=0.06 and ρ^2=−0.03 (illustrative values of the size M02 reports for index data; measure your own). Solve
(10.060.061)(ϕ1ϕ2)=(0.06−0.03).
The determinant is 1−0.0036=0.9964. So ϕ1=(0.06−0.06⋅(−0.03))/0.9964=0.0618/0.9964=0.06202 and ϕ2=(−0.03−0.06⋅0.06)/0.9964=−0.0336/0.9964=−0.03372. The one-step R2 is ϕ1ρ1+ϕ2ρ2=0.003721+0.001012=0.47%. With 2,500 days of data, the standard error of each ρ^k under the null of no autocorrelation is about 1/2500=0.02, so ρ^1=0.06 is "significant" at 3 standard errors. It is also economically almost useless: a forecast with R2=0.5% of a daily return with 1% volatility has a standard deviation of 0.0047×1%≈0.07%, or 7 basis points. M01 shows that a round trip in Indian intraday equity costs about 8 basis points. The forecast does not cover costs.
Practitioner notes
Positive lag-1 autocorrelation in index returns is partly an artefact of stale prices of less liquid constituents (nonsynchronous trading). An index future, which trades continuously, shows less of it. Fit models to what you can trade.
Where ARMA earns its keep: the futures basis (M07), calendar spreads, pairs spreads, and volatility proxies such as ln∣rt∣ or realised variance. These have large ϕ and therefore large R2.
Order selection by AIC/BIC on the full sample, followed by an "out-of-sample" test on the same sample, is a leak. Select within each training window (13.6).