Autoregressive Conditional Duration Model

Time Series · Hard · Free problem

The Autoregressive Conditional Duration (ACD) model describes the time between trades. Let $t_i$ denote the $i$-th trade duration, modeled as:

$t_i = \psi_i \, \varepsilon_i$

where $\varepsilon_i \overset{\text{iid}}{\sim} \text{Exp}(1)$ and the conditional expected duration follows:

$\psi_i = \omega + \alpha \, t_{i-1} + \beta \, \psi_{i-1}$

with $\omega > 0$, $\alpha \geq 0$, $\beta \geq 0$.

  1. Derive the conditional log-likelihood for observations $t_1, t_2, \ldots, t_T$, conditioning on the first observation.
  1. State the stationarity condition and derive the unconditional mean $E[t_i]$.
  1. Propose a residual-based diagnostic to check whether the exponentiality assumption on $\varepsilon_i$ is adequate.

Hints

  1. Since $t_i = \psi_i \varepsilon_i$ with $\varepsilon_i \sim \text{Exp}(1)$, the conditional distribution of $t_i$ is exponential with mean $\psi_i$ -- write down the density and take the log.
  2. For stationarity, take unconditional expectations of the $\psi_i$ recursion. Use the fact that $E[t_i] = E[\psi_i]$ since $E[\varepsilon_i] = 1$.
  3. The natural residuals are $\hat{\varepsilon}_i = t_i / \hat{\psi}_i$. If the model is right, these should be i.i.d. $\text{Exp}(1)$ -- test this with a QQ-plot or KS test.

Worked Solution

How to Think About It: The ACD model is the duration analog of GARCH -- just as GARCH models time-varying conditional variance of returns, ACD models time-varying conditional expected duration between trades. High-frequency traders care about this because trade arrival intensity is a key signal for liquidity, urgency, and information flow. The structure $t_i = \psi_i \varepsilon_i$ says each duration is its conditional mean times a standardized shock. If you know GARCH, the ACD derivation is almost mechanical.

Key Insight: Since $t_i \mid \mathcal{F}_{i-1} \sim \text{Exp}(1/\psi_i)$ (exponential with mean $\psi_i$), the conditional density is $f(t_i \mid \mathcal{F}_{i-1}) = \psi_i^{-1} \exp(-t_i / \psi_i)$, and the log-likelihood follows directly.

(i) Conditional Log-Likelihood

Given $\varepsilon_i \sim \text{Exp}(1)$ and $t_i = \psi_i \varepsilon_i$, the conditional distribution of $t_i$ given the past is exponential with mean $\psi_i$:

$f(t_i \mid \mathcal{F}_{i-1}) = \frac{1}{\psi_i} \exp\!\left(-\frac{t_i}{\psi_i}\right), \quad t_i > 0$

The conditional log-likelihood, conditioning on $t_1$ (and initializing $\psi_1 = \omega / (1 - \alpha - \beta)$ or treating it as a parameter), is:

$\ell(\omega, \alpha, \beta) = \sum_{i=2}^{T} \left[ -\ln \psi_i - \frac{t_i}{\psi_i} \right]$

where each $\psi_i$ is computed recursively via $\psi_i = \omega + \alpha \, t_{i-1} + \beta \, \psi_{i-1}$.

This is maximized numerically over $(\omega, \alpha, \beta)$ subject to the positivity constraints.

(ii) Stationarity and Unconditional Mean

Take unconditional expectations of the $\psi_i$ recursion. In stationarity, $E[\psi_i] = E[\psi_{i-1}]$ and $E[t_{i-1}] = E[\psi_{i-1}] \cdot E[\varepsilon_{i-1}] = E[\psi_{i-1}]$ (since $E[\varepsilon_i] = 1$). Denote the common value $\bar{\psi}$:

$\bar{\psi} = \omega + \alpha \bar{\psi} + \beta \bar{\psi} = \omega + (\alpha + \beta) \bar{\psi}$

Solving:

$\bar{\psi} = \frac{\omega}{1 - \alpha - \beta}$

This requires the stationarity condition $\alpha + \beta < 1$. The unconditional mean duration is:

$E[t_i] = E[\psi_i] \cdot E[\varepsilon_i] = \frac{\omega}{1 - \alpha - \beta}$

This is directly analogous to the GARCH(1,1) unconditional variance formula $\sigma^2 = \omega / (1 - \alpha - \beta)$.

(iii) Residual-Based Diagnostic

Compute the standardized residuals ("durations de-seasonalized by the model"):

$\hat{\varepsilon}_i = \frac{t_i}{\hat{\psi}_i}$

If the model is correctly specified, $\hat{\varepsilon}_i$ should be i.i.d. $\text{Exp}(1)$. Diagnostics:

  1. QQ-plot: Plot the quantiles of $\hat{\varepsilon}_i$ against theoretical $\text{Exp}(1)$ quantiles. Departures (especially in the right tail) indicate misspecification.
  1. Ljung-Box test on $\hat{\varepsilon}_i$: Test for residual autocorrelation. Significant autocorrelation indicates the $\psi_i$ dynamics are inadequate.
  1. Kolmogorov-Smirnov or Anderson-Darling test: Formal goodness-of-fit test against $\text{Exp}(1)$. The KS test compares the empirical CDF of $\hat{\varepsilon}_i$ to $F(x) = 1 - e^{-x}$.
  1. Excess dispersion test: Check whether $\text{Var}(\hat{\varepsilon}_i) \approx 1$. If the variance significantly exceeds
    $, a heavier-tailed innovation distribution (e.g., Weibull or generalized Gamma) may be needed.

In practice, the exponential assumption is often too restrictive -- trade durations tend to be overdispersed relative to exponential, which motivates extensions like the Weibull-ACD or Log-ACD.

Answer: (i) $\ell = \sum_{i=2}^{T}[-\ln \psi_i - t_i/\psi_i]$ with $\psi_i = \omega + \alpha t_{i-1} + \beta \psi_{i-1}$. (ii) Stationarity requires $\alpha + \beta < 1$; unconditional mean is $\omega/(1 - \alpha - \beta)$. (iii) Check that standardized residuals $\hat{\varepsilon}_i = t_i/\hat{\psi}_i$ are i.i.d. Exp(1) via QQ-plots, Ljung-Box tests, or KS tests.

Intuition

The ACD model is GARCH for durations. Just as GARCH captures volatility clustering (big moves follow big moves), ACD captures duration clustering (short inter-trade times follow short inter-trade times, and vice versa). This matters in high-frequency trading because a burst of rapid trades signals informed trading or a liquidity event, and the ACD model gives you a principled way to estimate how long the burst will last. The stationarity condition $\alpha + \beta < 1$ ensures the process is mean-reverting -- after a shock to durations, the expected duration gradually returns to $\omega/(1-\alpha-\beta)$. When $\alpha + \beta$ is close to

$, shocks are very persistent (the IGARCH analog), which in the duration context means periods of high or low trading intensity can last a long time. The residual diagnostic is crucial because if the standardized residuals are not exponential, your conditional mean model might be fine but your distributional assumption is wrong -- and that matters for anything that depends on the full predictive distribution, like VaR on trade counts.

Open the full interactive solver →