Madhavan-Richardson-Roompack (1997) MRR Spread Decomposition Lab
Deconstruct price formation, trade surprises, and bid-ask spreads into adverse selection, transitory order processing friction, and exogenous public news shocks using Ananth Madhavan, Matthew Richardson, and Mark Roompack's (1997) structural framework.
The Structural Model of Security Price Determination
In Madhavan, Richardson, and Roompack (1997), security prices evolve in discrete trade time $t$. Let $x_t \in \{-1, +1\}$ denote the signed trade indicator ($+1$ for buyer-initiated, $-1$ for seller-initiated). Order flow follows an AR(1) Markov chain with persistence parameter $\rho$:
Because market participants anticipate persistent order flow, only the unexpected order flow surprise $\xi_t$ imparts new private information into fundamental value $V_t$.
Fundamental unobserved value $V_t$ and transaction price $P_t$ satisfy:
Here, $\alpha$ is the adverse selection belief revision, $\phi$ is the transitory order processing half-spread, $u_t \sim \mathcal{N}(0, \sigma_u^2)$ is the public news shock, and $\epsilon_t$ is transitory noise.
Simulation Parameters
$0.060
Half: $0.03033.3%
$\alpha / (\alpha + \phi)$66.7%
$\phi / (\alpha + \phi)$$0.0028
$\mathrm{Var}(\Delta P)$$0.012
True: $\alpha$$0.019
True: $\phi$0.38
True: $\rho$$0.062
$2(\hat{\alpha} + \hat{\phi})$Figure 1: Sequential transactions $P_t$ (solid cyan) vs. unobserved fundamental value $V_t$ (dashed amber). Circular markers denote buyer-initiated trades ($+1$, green) and seller-initiated trades ($-1$, red). Notice how persistent trades build up inventory friction, but only unexpected sign reversals or volume spikes alter the fundamental value trajectory.
Figure 2: True structural parameters $(\alpha, \phi, \rho, s, S)$ compared against empirical econometric estimates obtained via bivariate OLS regression on $\Delta P_t = \beta_1 x_t + \beta_2 x_{t-1} + e_t$. As trade sample size $N$ increases, OLS estimates converge asymptotically to true structural values.
Figure 3: Scatter distribution of realized trade surprises $\xi_t = x_t - \rho x_{t-1}$ versus subsequent price changes $\Delta P_t$. The dashed green line illustrates the theoretical information sensitivity slope $\alpha$. Dispersions around the slope reflect transitory spread bouncing $\phi(x_t - x_{t-1})$ and public news shocks $u_t$.
Sensitivity Grid 1: Trade Surprise Price Impact
Expected permanent price impact $\alpha(1 - \rho)$ across varying levels of information asymmetry $\alpha$ and order flow autocorrelation $\rho$.
Sensitivity Grid 2: Adverse Selection Share (%)
Fraction of total quoted spread attributable to asymmetric information $\frac{\alpha}{\alpha + \phi} \times 100\%$ across order processing costs $\phi$ and asymmetry $\alpha$.
Institutional Microstructure & Econometric Derivation
1. Why Trade Surprises Drive Permanent Value
Classical Roll (1984) models assume trades are independently distributed noise ($P(x_t = x_{t-1}) = 0.5$). However, institutional reality exhibits heavy trade clustering and algorithmic order slicing (e.g. TWAP/VWAP executions), producing positive serial correlation ($\rho > 0$).
Because a market maker expects buyer-initiated flow to follow another buy, an anticipated buy contains zero marginal surprise. In MRR (1997), the rational Bayesian market maker only adjusts expectations of true value $V_t$ by the innovation:
When $\rho > 0$, an unexpected sell order after consecutive buys generates a surprise of $-1 - \rho(1) = -(1 + \rho)$, triggering an outsized permanent valuation markdown of $-\alpha(1 + \rho)$.
2. The GMM / OLS Identification Strategy
The empirical brilliance of the MRR specification is that both $\alpha$ and $\phi$ can be estimated without observing unobserved fundamental values $V_t$. Regressing observed price changes on contemporaneous and lagged trade signs:
Matching coefficients to theoretical moments yields:
- $\beta_1 = \phi + \alpha$ (immediate gross price impact)
- $\beta_2 = -(\phi + \alpha\rho)$ (lagged mean-reverting bounce)
- $\beta_1 + \beta_2 = \alpha(1 - \rho) \implies \hat{\alpha} = \frac{\hat{\beta}_1 + \hat{\beta}_2}{1 - \hat{\rho}}$
- $\hat{\phi} = \hat{\beta}_1 - \hat{\alpha}$ (transitory order processing margin)
Self-Assessment Mastery Quiz
Test your understanding of the Madhavan-Richardson-Roompack (1997) price determination framework and econometric spread decomposition.
Related Market Microstructure Simulators
Huang-Stoll Spread Decomposition Lab
Decompose bid-ask spreads into adverse selection ($\alpha$), inventory holding ($\beta$), and order processing ($\gamma$).
Kyle's Lambda & Microstructure Lab
Model Pete Kyle's (1985) informed insider trading equilibrium, Glosten-Milgrom Bayesian pricing, and adverse selection spreads.
Bipower Variation & Jump Test Lab
Disentangle continuous price volatility from discrete jumps using Barndorff-Nielsen & Shephard (2004, 2006) Bipower Variation.
Yang-Zhang Range Volatility Lab
Estimate historical volatility with 8x to 14x greater efficiency using Dennis Yang and Qiang Zhang's (2000) jump- and drift-adjusted OHLC model.