【CJ 进阶续篇 01/30 · 总第 29 篇】

Lo más peligroso no es que no se haya enviado un pedido, sino que el sistema piense que ya está completado.

Una estrategia de cobertura mediante dos operaciones normalmente tiene al menos varias capas de estado: si el pedido fue aceptado, si realmente se ejecutó, cuánto se ejecutó, si la posición se actualizó y si la otra pata también se completó. En la interfaz, que aparezca “Ejecutado” solo significa que uno de los eslabones devolvió un resultado, y no que el conjunto completo de la combinación ya haya cerrado.

Especialmente cuando ambas partes se ejecutan al mismo tiempo: una puede quedar totalmente ejecutada y la otra solo ejecutarse en parte; también puede ocurrir que el exchange devuelva con retraso, y que el programa reciba primero el estado antiguo y luego el nuevo reporte de ejecución. En ese caso, si el sistema vuelve a enviar pedidos de inmediato, podría aumentar el riesgo de forma duplicada; y si se trata el estado “desconocido” como un fallo, también podría cancelar órdenes de manera repetida.

Hay además un punto fácil de confundir: el retorno del pedido responde a esa orden, mientras que la conciliación de la combinación responde a qué riesgos quedan al sumar ambas. Solo colocando en la misma tabla el volumen realmente ejecutado de cada pata, se puede distinguir claramente la parte ya completada y la parte que todavía está expuesta.

Por eso, la estrategia debe guardar la identidad del pedido, la cantidad ejecutada y la última hora de actualización, y tratar el pedido “desconocido” como un estado por separado. Primero confirma la posición real y luego decide el siguiente movimiento. El arbitraje no consiste en enviar dos órdenes a la vez, sino en recorrer ambas rutas de riesgo hasta un punto que pueda explicarse.

Siguiente entrega: después de reiniciar, lo primero que hay que recuperar no es la función de envío de órdenes.

#套利执行 #风险管理