Estoy tratando de entender y replicar esta tesis, que se basa en High-frequency trading in a limit order book de (Avellaneda y Stoikov, 2008) y Optimal market making, de Olivier Gueant, 2017, excepto que la tesis utiliza datos históricos reales para calcular las intensidades y utiliza el mejor bid(ask) como precio de referencia al calcular las intensidades $\lambda^a$ ($\lambda^b$), mientras que Avellaneda utiliza el precio medio.
Actualmente tengo un libro de órdenes limitado de 10 niveles durante todo el día con incrementos de $0.1$ segundos. También tengo la información de las órdenes como órdenes ocultas, cancelaciones, MO buy/sell, LO colocadas, etc. con los mismos incrementos en sincronización.
Por lo tanto, puedo calcular las intensidades $\lambda_t = \Lambda(\delta_t)$, y resolver para $A$ y $k$ en $\Lambda(\delta_t)=Ae^{-k\delta}$, durante el período de tiempo de los datos del LOB. Así como la $\sigma$ (asumiendo una volatilidad constante por ahora).
Pregunta principal: ¿Cómo se realiza realmente la prueba retrospectiva?
Según entiendo, el precio de oferta y demanda se simula usando:
$$\begin{align} dS_t^b & = \sigma S_t^bdW_t^b \\ dS_t^a & = \sigma S_t^a dW_t^a \end{align}$$
y $$\begin{align} \delta_t^b & = S_t - S_t^b \\ \delta_t^a & = S_t^a - S_t,\end{align}$$
donde $S_t$ es el precio de referencia.
Y la cuenta de efectivo de MM se modela por:
$$ d X_t=\left(S_t+\delta^a\right) d N_t^a-\left(S_t-\delta^b\right) d N_t^b $$
donde $N_t$ es una distribución de poisson con la intensidad $\lambda_t$, que se calcula a partir del conjunto de datos históricos que tengo.
Mi confusión radica en su algoritmo y simulación. Si simulan el precio de oferta y demanda, obviamente no seguirá las fluctuaciones del spread entre oferta y demanda en el conjunto de datos. Es decir, si $S_0 = 100$ y $S_3 = 80$ a partir de la simulación, pero ¿qué sucede si el precio del bid-ask nivel 1 es $S_3=101$ y $S_3=103$?
Según el algoritmo 1 en la página 74 de la tesis, parece que calculan $\delta^a$ y $\delta^b$ en $t=0$, con posiciones de compra y venta iniciales en el libro de órdenes de $LO^a$ y $LO^b$. Luego simulan $S_t^a$ y $S_t^b$ y si los bid-asks simulados cumplen con sus órdenes, entonces se ejecutan.
No estoy seguro de cómo se está llevando a cabo este proceso de simulación. Y si estamos simulando, ¿qué sucede si $S_t^a?
Mientras que en el artículo de Avellaneda y Stoikov, solo simulan el precio medio y luego utilizan las intensidades para determinar si la riqueza de MM cambia.
¿O solo se simula $d X_t=(S_t+\delta^a) d N_t^a - …$ utilizando los parámetros que calculamos a partir de los datos históricos del LOB?
Se agradecerían algunas ideas.