Estoy desarrollando un enfoque basado en aprendizaje profundo por refuerzo para la creación de mercados. Para implementar esto, necesito definir las acciones apropiadas y los pasos ambientales. Mientras hacía algunas investigaciones bibliográficas, me encontré con varias formulaciones de creación de mercados.
Por ejemplo, Avellaneda y Stoikov parecen estar utilizando el siguiente enfoque:
- En el tiempo $0$, determinar y establecer las comillas $\delta^a$ y $\delta^b$
- Durante el intervalo $[0, \Delta t]$ o ambas comillas se ejecutan (en cuyo caso se captura el spread y el inventario no cambia) o solo una comilla se ejecuta (en cuyo caso no se captura spread, se compra/vende la acción y el inventario aumenta/disminuye) o no se ejecuta ninguna comilla (en cuyo caso no sucede nada). Pero no importa lo que pase no cambiamos las comillas durante este intervalo.
- En el tiempo $\Delta t $, determinar y establecer las nuevas comillas $\delta^a{'}$ y $\delta^b{'}$
- El proceso se repite hasta algún tiempo terminal $T$
Es interesante notar que, según esta formulación, si por ejemplo la comilla de compra se ejecuta en $\frac{\Delta t}{5}$ y la comilla de venta en $\frac{2\Delta t}{5}$, el creador de mercado simplemente está esperando desde $\frac{2\Delta t}{5}$ hasta $\Delta t$ para establecer nuevas comillas.
Por el contrario, Fushimi, Rojas y Herman parecen estar empleando un enfoque algo diferente y más sofisticado, dado por el pseudocódigo a continuación.
Naturalmente, también hay otras formulaciones más sofisticadas. Algunas de ellas incluyen cancelar la segunda orden tan pronto como se ejecute la primera. Debido a su simplicidad, prefiero el primer enfoque (Avellaneda-Stoikov). Sin embargo, parece algo simplista y poco sofisticado, e incluso no estoy seguro de si se utiliza en la práctica. Así que mi pregunta es: ¿es suficientemente bueno y realista el primer enfoque o debería optar por alguna alternativa?