Skip to main content

Module stationary_avellaneda

Module stationary_avellaneda 

Source
Expand description

Infinite-horizon Avellaneda-Stoikov market making in inventory space.

This is a validating instance of the ergodic stationary path (crate::numeric::ergodic). It is deliberately not an crate::numeric::finite_difference::elliptic::EllipticControlProblem: the undiscounted market-making HJB is translation invariant and has no unique solution of sup_u { f + L^u V } = 0. Its exact T -> infinity limit is the principal eigenvector of the GLT operator.

§Problem and conditions

State: inventory q in Z. Control: bid/ask half-spreads (delta_b, delta_a). Fill intensities are

lambda_b = a exp(-kappa delta_b)
lambda_a = a exp(-kappa delta_a)

The finite-horizon CARA value reduces to theta(t, q); see docs/src/reference/soc_exact.md.

§Exact solution

Let v_q = exp(kappa theta_q). The GLT substitution gives the linear system

v_q_t = alpha q^2 v_q - eta (v_{q-1} + v_{q+1})
alpha = (kappa / 2) gamma sigma^2
eta   = a (1 + gamma/kappa)^-(1 + kappa/gamma)

As T -> infinity the solution concentrates on the principal (Perron) eigenvector of the negated operator, assembled here as

A_qq = -alpha q^2,   A_{q,q+1} = A_{q,q-1} = +eta

The eigenvector is normalized by theta(0) = 0:

theta(q) = (1/kappa) ln(v_q / v_0)

Optimal stationary spreads are recovered as

delta_b = base + theta(q) - theta(q+1)
delta_a = base + theta(q) - theta(q-1)
base    = (1/gamma) ln(1 + gamma/kappa)

See crate::analytical::avellaneda::approximations::gueant::AvellanedaGueant for the reference implementation used in tests.

Structs§

StationaryAvellaneda
Infinite-horizon Avellaneda-Stoikov market making model in inventory space.