2 votos

¿Por qué los investigadores utilizan C/C++ para desarrollar y probar estrategias de negociación algorítmica?

Entiendo por qué los lenguajes compilados como C/C++ son importantes para la infraestructura de comercio de baja latencia. Pero tengo curiosidad por saber por qué incluso los investigadores de las empresas de negociación de alta frecuencia también requieren un gran dominio de C/C++. ¿No es Python (con los numerosos y potentes paquetes como scikit, pandas, etc.) un lenguaje mejor para la exploración de datos, el manejo de datos, el aprendizaje automático y, posteriormente, para probar rápidamente los algoritmos? ¿Cómo se logran estas tareas en C/C++?

Gracias de antemano por su tiempo y ayuda.

1 votos

¿No es posible que utilicen Python para estos fines, sino que se espera que un quant en una empresa de comercio sea capaz de hacer tanto la manipulación de datos como el aprendizaje automático? y mantener y ampliar sobre el código C++ de la infraestructura?

1voto

tobyS Puntos 108

C/C++ son lenguajes de bajo nivel en comparación con Python. Además, Python es un lenguaje de scripting. Por naturaleza, los lenguajes de scripting son lentos porque tienen que ser interpretados. Como se requiere el mayor rendimiento posible en HFT, los lenguajes compilados son la opción natural.

En cuanto a las bibliotecas, también hay una gran cantidad de bibliotecas matemáticas para C/C++, ya que éstas (principalmente C) se han utilizado históricamente en la investigación científica.

1 votos

Gracias por su respuesta. ¿Conoces algún libro que explique cómo usar C++ para la Ciencia de Datos?

0 votos

@vpy: No uso mucho C++ en el trabajo, así que no puedo darte referencia de un blok pero intenta buscar en Google Libro C++ for data science . Hay algunos enlaces a Amazon.

1 votos

@vpy Más bien finanzas cuantitativas que ciencia de datos pero me gusta bastante el libro C++ Design Patterns and Derivatives Pricing de Mark Joshi. Un libro muy accesible sobre C++ para gente con formación en matemáticas financieras. El libro trata más sobre la implementación de un código eficiente, limpio y reutilizable, así que probablemente se trate más de construir una infraestructura que de probar algoritmos.

1voto

kurt Puntos 121

Pude contactar con un amigo que trabaja en un lugar de HFT como investigador cuántico. Parece que los conocimientos de C++ son fundamentales para interactuar con la infraestructura (que está toda escrita en C++). Por ejemplo, cuando se trata de llevar a cabo una investigación sobre los datos de Nivel 2, se espera que los investigadores sepan C++ para poder utilizar las APIs de C++ para agregar los datos relevantes del libro de órdenes en un formato csv, etc., y a partir de ahí, los investigadores pueden utilizar Python (leer el csv y realizar cualquier análisis utilizando scikit learn, etc.). Y a la hora de poner una señal en producción, también es necesario que los investigadores sepan C++ para poder trabajar eficazmente con los ingenieros para desplegar la señal.

1voto

Greg Hurlman Puntos 10944

Muchas tiendas de HFT lo hacen no requieren C++ de los quants que sólo se dedican a la modelización. Tal y como planteas, Python es suficiente para la investigación de modelos. Puede que tu amigo esté simplemente en un lugar que valora una mayor integración entre la investigación y la ingeniería. Otras tiendas simplemente tendrán una envoltura de Python para obtener datos históricos, obviando la necesidad de C++.

(En su día me encargué personalmente de la investigación y el desarrollo, así que escribí todo el código Python y C++ de todos modos. Mi experiencia no es común).

Como se ha mencionado en un comentario, hay Patrones de diseño en C++ y fijación de precios de los derivados por el difunto Mark Joshi . Y hay otros libros recomendados en esta respuesta .

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X