Skip to content
All library documents

Estimating Avellaneda–Stoikov Fill-Intensity Parameters from Order Data

Article Quant Q&A · Author: raffaelo92

Summary

The document discusses estimating the liquidity parameters in the Avellaneda–Stoikov market-making model from historical limit-order data. The model describes fill intensity at a quote distance from fair value using a baseline intensity A and a distance sensitivity k; larger k implies that fills decline more sharply as quotes move away from fair value. The question arises because the original model does not prescribe a specific estimation procedure.

The proposed workflow collects observations of quote distance and time to execution, then curates the data to address outliers, inconsistent records, and canceled orders, which create censoring. Estimation can use log-linear regression or another loss-minimization method. The response also separates liquidity estimation from price-dynamics estimation, such as intraday volatility, and recommends further methodological references. This is a practical outline rather than a complete estimator: results depend on data quality, the treatment of cancellations, and whether the selected observations represent sufficiently stable market conditions. No fitted parameters or performance results are reported.

Key ideas

  • The model represents fill intensity as a baseline rate that decays with quote distance according to a liquidity sensitivity parameter.
  • Estimate liquidity parameters from historical quote distances and observed times to execution.
  • Clean the sample for outliers and inconsistent observations, and account for canceled orders as censored data.
  • Liquidity parameters and price volatility describe separate parts of the market-making model.

Tags

Full text
# Orderbook Liquidity Parameter Avellaneda Stoikov


# Orderbook Liquidity Parameter Avellaneda Stoikov












I am trying to implement Avellaneda & Stoikov (2006) model for HF market making on L2 orderbook data.

Most parameters are straight forward but I am struggling with the orderbook liquidity parameter (k). It's logic that the parameter should be larger for more liquid and smaller for less liquid markets, causing the spread to be wider in lower liquidity markets.

But being in possession of L2 orderbook data I am wondering how to best compute the parameter, as the paper leaves this out of the discussion.

Best Rapha

## Answer by lehalle (score 2)

https://quant.stackexchange.com/a/69440

in our extension of Avellaneda - Stoikov paper, we provide some numerical examples: Dealing with the Inventory Risk. A solution to the market making problem.

In Faisabilité de l’apprentissage des paramètres d’un algorithme de trading sur des données réelles, Sophie Laruelle explains (in French) different ways to estimate the parameters on real data.

For this family of papers, you have parameters of different nature to estimate

- the (fair) price dynamics: essentially the volatility (and price movements if you have high frequency predictors)

- the liquidity dynamics: that are captured (in such models) by a "baseline intensity" $A$ and an "elasticity to the fair price" one $k$. The intensity of trades filling an order being at $\delta S$ to the fair price is $A\exp -k\,\delta S$. It means that the expectation of obtaining a fill during an infinitesimal time $dt$ is $A(\exp -k\,\delta S)\, dt$.

For the an estimation of the intraday volatility they are a lot of means (see for instance How to calculate historical intraday volatility?).

For the $(A,k)$ part, it is described in Sophie's paper and at Joaquin's thesis. The principle is the following:

- you want to capture the probability that an order at $\delta S$ of the fair price is filled

- you look in your history and you see an order that is at a distance $\delta S_k$ at time $t_k$ and you observe when it obtained an execution (say at $t_{k+1}$)

- you have your first data point: it took $\delta t_k:=t_{k+1}-t_{k}$ second to obtain a fill starting at $\delta S_k$, you collect as much as you can

- then you do some data curation (as usual) because you want to focus on "stationary situations" (or a least ergodic ones): remove outliers and inconsistant data (you can even create a "environment/context" indicator and condition by it). There is a matter of "censored data" too (if this order has been cancelled).

- the last step is the easiest: do the regression to obtain $(A,k)$ from your curated collection of $(\delta S_k, \delta t_k)_k$; you can do it simply using a log-linear regression, or minimize any loss function you like.

## Answer by LaGabriella (score 2)

https://quant.stackexchange.com/a/74089

On top of the very good paper by Sophie Laruelle that Mr Lehalle suggested, I would also suggest to have a look at the Modeling, optimization and estimation for the on-line control of trading algorithms in limit-order markets, thesis of Joaquin FERNANDEZ TAPIA, which covers the same topic and it is in English.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.