【CJ: continuación avanzada 08/30 · artículo n.º 36】

Si todavía no has identificado de dónde vienen las ganancias y ya estás optimizando microsegundos, normalmente estás optimizando una ventaja que aún no existe.

Python es adecuado para validar rápidamente los datos, las señales y los modelos de costes. Solo cuando una estrategia se enfrenta de verdad a una alta concurrencia, latencias de cola larga y bloqueos de ejecución, tiene sentido investigar si el lenguaje o el entorno de ejecución se han convertido en un cuello de botella. Rust puede ofrecer restricciones de tipos más estrictas y un comportamiento en tiempo de ejecución más controlable, pero no corrige automáticamente una lógica de entrada errónea ni hace desaparecer los mercados unidireccionales.

El orden correcto en ingeniería es demostrar primero que la lógica de la estrategia funciona, medir después los cuellos de botella reales y, por último, elegir la implementación adecuada. Reducir todos los problemas a «no hay suficiente velocidad» permite esquivar con facilidad cuestiones más difíciles, pero también más importantes: ¿son correctos los datos?, ¿se pueden controlar los riesgos?, ¿es posible detenerse cuando algo falla?

En las pruebas también hay que distinguir entre la velocidad media y los peores momentos. Ir rápido en condiciones normales, pero bloquearse durante mucho tiempo cuando hay congestión, puede ser más difícil de gestionar que funcionar de forma estable, aunque algo más despacio. La decisión de reescribir debe basarse en las mediciones y en cómo se comporta el sistema ante los fallos, no en la imagen de profesionalidad asociada al nombre de un lenguaje.

La velocidad no es el objetivo. El valor de la ingeniería está en acelerar lo que debe acelerarse.

Próximo artículo: El mercado está cerrado, ¿por qué sigue moviéndose el precio de los contratos?

#量化工程 #Rust