Séance de questions : questions et réponses pour les spécialistes quantitatifs, les ingénieurs et autres employés potentiels

Plus tôt cette année durant la conférence CppCon, le plus grand rassemblement mondial pour les praticiens experts de C++, Tower Research Capital a tenu une séance de questions. Des ingénieurs, des spécialistes quantitatifs et des participants curieux se sont réunis pour discuter de l’approche de Tower en ce qui concerne la négociation, l’infrastructure et l’ingénierie de systèmes à grande échelle.

Les questions que nous avons reçues allaient des choix de langages et de l’architecture de plateforme aux réalités de la construction de systèmes à latence ultra faible à l’échelle mondiale. La conversation a permis de souligner un point en particulier : il y a un intérêt marqué pour la façon dont les entreprises comme Tower combinent une ingénierie de pointe avec une négociation systématique.

Pour poursuivre cette discussion au-delà de la salle de conférence, nous avons compilé certaines des questions les plus fréquemment posées à propos de notre entreprise ainsi que nos réponses ici. C’est un peu comme une version concentrée de la séance de question; un aperçu de la façon dont nous construisons, exploitons et faisons évoluer l’une des plateformes de négociation les plus sophistiquées au monde.

Comment l’équipe principale d’ingénierie de Tower est-elle structurée et comment soutient-elle la négociation?

Notre approche d’ingénierie repose sur un modèle de réseau en étoile : notre plateforme alimente un éventail diversifié d’équipes de négociation internes qui travaillent indépendamment les unes des autres. L’équipe principale d’ingénierie développe l’infrastructure partagée tandis que nos équipes de négociation se connectent sur cette plateforme pour effectuer des recherches ainsi qu’élaborer et mettre en œuvre leurs stratégies de négociation. Cet équilibre nous permet de progresser rapidement en matière de stratégie et d’innovation tout en maintenant des systèmes essentiels cohérents, stables et continuellement optimisés.

Quels langages utilisez-vous, et à quelles fins?

Nous utilisons un mélange de C++, Python et Rust, chacun à des fins précises :

  • C++ alimente nos systèmes les plus sensibles à la latence (données du marché, exécution et infrastructure de bas niveau).
  • Python est fortement utilisé dans la recherche, l’analyse des données et l’orchestration.
  • Rust est de plus en plus utilisé pour les infrastructures et les services où la sécurité et la robustesse de la mémoire sont importantes.

Dans tous les cas, nous commençons par l’objectif final et travaillons à rebours, en sélectionnant le langage qui convient le mieux à la tâche à accomplir.

Quels sont les plus grands obstacles techniques de Tower en ce moment?

La mise à l’échelle du rendement tout en gardant les systèmes propres et faciles à entretenir pose toujours problème. Nous raffinons constamment une plateforme mondiale qui prend en charge des styles de négociation très différents, avec une latence ultra faible et des approches gourmandes en données, sans fragmenter le code. Il y a aussi le côté organisationnel : s’assurer que les équipes indépendantes peuvent innover tout en bénéficiant de bibliothèques, d’infrastructures et de normes partagées.

Comment les analystes quantitatifs et les ingénieurs collaborent-ils pendant le cycle de vie de la recherche à la production?

Les analystes quantitatifs et les ingénieurs collaborent à trois étapes principales du cycle de vie :

  • Recherche et prototypage – Les analystes quantitatifs testent des hypothèses, conçoivent des fonctionnalités et entraînent des modèles à petite échelle. Ce travail est exécuté sur une infrastructure partagée (p. ex., couches de données, pipelines de fonctionnalités, cadres d’expérience et calculs) construite et maintenue par des ingénieurs de recherche. La collaboration lors de cette phase vise à permettre une itération et une expérimentation rapides afin que les analystes quantitatifs puissent valider efficacement les idées.
  • Production – Les analystes quantitatifs et les ingénieurs de production travaillent en étroite collaboration pour traduire le code de recherche en systèmes prêts pour la production. Cela comprend l’optimisation du calcul des caractéristiques, l’inférence de modèle et la performance globale du système. Les ingénieurs sont principalement responsables du déploiement, de la fiabilité de l’exécution et de la connectivité du marché (flux de données, acheminement de commandes, systèmes d’exécution) nécessaires à l’exécution des stratégies en direct.
  • Postproduction et itération – Les analystes quantitatifs et les ingénieurs surveillent conjointement le rendement en direct à la fois dans les dimensions du modèle et de l’infrastructure. Ils diagnostiquent des problèmes tels que les régressions de latence, le calcul inefficace des fonctions, les écarts de données, le glissement de l’exécution, etc. Les données tirées de cette phase sont utilisées pour affiner le modèle par les analystes quantitatifs et améliorer l’infrastructure en cours par les ingénieurs.

Surveillez cette page pour d’autres questions et réponses. Pour en savoir plus sur les perspectives de carrière à Tower, explorez-les ici.