ABC arbitrage

ABC arbitrage

Finance, IT / Digital

Paris, Dublin, Singapore

Organisation et méthodologies

Notre équipe de développement est organisée en deux catégories.

La première concerne les membres affectés aux Business Units (BU), où ils travaillent en étroite collaboration avec des quants pour créer ou améliorer des stratégies de trading.

La seconde concerne des projets spécifiques priorisés tous les quadrimestres. Ces projets, de quelques semaines à quelques mois, impliquent 2 à 5 développeurs et offrent une autonomie dans l'organisation (daily stand-ups, sprints, etc.).

Bien que les équipes BU soient généralement stables, il est possible de passer d'une organisation à l'autre chaque quadrimestre pour favoriser une flexibilité et une diversité d'expérience au sein de l'équipe.

Projets et défis techniques

StrategyService

StrategyService

Les automates de trading qui exécutent nos stratégies d’arbitrages sont entièrement développés en C#. Nous avons conçu notre premier service low-latency en .NET il y a plus de 10 ans, et depuis, nous continuons de faire évoluer notre plateforme de trading en nous appuyant sur la technologie .NET. Nous utilisons des techniques de programmation bas-niveau et du code zero-allocation pour garantir la stabilité de nos latences, et nous nous appuyons sur le Disruptor pour la communication inter-threads. L’ensemble des inputs de nos stratégies sont journalisés dans des “trading dumps”, ce qui nous permet de les rejouer a posteriori pour des besoins d’investigation, d’optimisation ou de recherche.

DumpReplayService

Notre équipe a récemment mené à bien un projet visant à utiliser des ressources AWS pour rejouer les “trading dumps”. Ces fichiers binaires, capturant les événements d’une session de trading, sont stockés localement puis uploadés sur S3. En utilisant la même version du code que celle employée lors de la session live, il est possible de reconstituer l'état interne de la stratégie et d'extraire des indicateurs pour optimiser son comportement. Ce processus nécessite de traiter de gros volumes de données. Cependant, grâce à l'élasticité du cloud, nous exécutons ces traitements en parallèle. Le déploiement réussi de ce projet démontre notre expertise en solutions technologiques innovantes et scalables.

DumpReplayService

Processus de recrutement

Le recrutement d’un développeur chez ABC se déroule en plusieurs phases.

D’abord, on propose au candidat de réaliser un homework sans contrainte de temps, qui lui permet de montrer sa capacité à résoudre un problème hors contexte d’entretien, dans un environnement de travail qui lui est familier.

Suivent ensuite deux entretiens techniques: le premier en visioconférence avec un développeur senior, et le second sur site avec deux autres seniors de l’équipe. Ce second entretien est plus complet: présentation du CV, tests pratiques, présentation de l’entreprise, des projets, de la stack, du poste, etc.

Le processus se termine par un dernier entretien avec un membre de l'équipe RH et le management.