Le top des langages de programmation pour les traders dans les banques, hedge funds et sociétés HFT
Le trading a beaucoup changé. Dans le passé, les traders devaient avoir une voix forte, des coudes acérés et la possibilité d'effectuer dans leur tête des calculs arithmétiques à la vitesse de l'éclair, peut-être avec l'aide d'une calculatrice préhistorique. Les geeks n'étaient pas les bienvenus.
Les choses sont très différentes aujourd'hui. Les salles de marché ont pour la plupart été remplacées par des échanges virtuels, et de nombreux traders ont été remplacés par des algorithmes black box.
Dès lors, est-il encore possible pour un 'technophobe' de travailler dans le trading ou un métier dans lequel il convient de maîtriser au moins un langage de programmation ?
La réponse dépend principalement du type de trading que vous faites. Grâce à la règle Volcker, le proprietary trading (« ou prop trading») du côté vendeur (ex : banque d'investissement) est révolu, si bien que les traders sell-side se reconvertissent dans la tenue de marché (market making) ou le buy-side. Dans la plupart des classes d'actifs, la tenue de marché est entièrement automatisée. Moins de traders sont nécessaires, et la plupart de ceux qui restent devront écrire du code. Ici, la vitesse est essentielle, et seuls les langages comme C ++ voire Java sont suffisamment rapides.
Le pricing et la couverture des transactions clients sont toujours effectués par des personnes réelles dans la plupart des banques, mais cela dépend de la sophistication du produit sous-jacent. Des instruments plus exotiques nécessitent toujours le contact humain. Les évaluations de transactions hautement personnalisées seront probablement effectuées dans des feuilles de calcul construites à la hâte. Une bonne connaissance pratique du Visual Basic qui sous-tend nombre de ces tableurs est plus utile ici qu'un doctorat en ingénierie software.
Pendant ce temps, les traders buy-side peuvent être divisés en trois catégories : les traders stratégie quantitative, les traders d'exécution et les traders haute fréquence.
Les traders développant des stratégies quantitatives peuvent être employés en buy-side par des hedge funds ou des gestionnaires d'actifs plus traditionnels, et leur rôle se confond avec celui des gestionnaires de portefeuille quantitatifs. Leur travail consiste à concevoir des stratégies de trading systématique (à l'aide de modèles informatiques, avec une intervention humaine minimale). Les compétences en codage sont essentielles pour passer en revue de grandes quantités de données et créer des stratégies prototypes pour tester de nouvelles idées.
Python est le langage de prédilection de nombreux traders quantitatifs en raison de la grande disponibilité des packages d'analyse de données, tels que SciPy et Pandas. R est également populaire car il est utilisé par défaut pour l’analyse statistique dans de nombreux cours universitaires. Avec de tels langages open source, les alternatives commerciales comme Matlab ne sont plus en vogue.
Les traders d'exécution buy-side ont pour tâche d'implémenter les décisions de rééquilibrage de portefeuille prises par les stratégies quantitatives ou les gestionnaires de portefeuille à l'ancienne. Ils y parviennent de plusieurs manières : en externalisant vers des algorithmes d’exécution tiers (algos) fournis par les banques, en développant leurs propres algos, ou par des échanges manuels (qui surclassent toujours les algos sur certains marchés). Les compétences en matière de codage nécessaires pour développer vos propres algos se chevauchent avec celles des market makers buy-side.
Dans tous les cas, quelle que soit la voie utilisée pour accéder au marché, les desks d’exécution devront constamment évaluer l’efficacité de chaque algo ou trader humain à sang chaud. Cela nécessite des compétences en analyse de données et en codage très proches de celles des traders quantitatifs.
Enfin, les traders à haute fréquence ont un travail similaire à celui des autres traders quantitatifs, mais dans des délais beaucoup plus courts. Cela signifie qu'ils traitent de très gros ensembles de données. Ici. la connaissance de l'écosystème Hadoop devient extrêmement importante. Python est toujours populaire dans le trading haute fréquence (HFT), mais les nouveaux langages tels que Go sont mieux adaptés au traitement simultané des ensembles de données volumineuses.
Une fois qu'une stratégie est créée, en tant que trader haute fréquence vous traitez avec des échelles de temps très courtes, et il est essentiel de minimiser la latence. Comme dans le cas des market makers buy-side, C ++ est probablement le seul langage de haut niveau assez rapide, mais pour avoir un réel avantage, vous devrez probablement vous lancer dans le langage d'assemblage et avoir une compréhension approfondie des réseaux informatiques et du hardware.
Cependant, si pour des contraintes de temps vous ne pouvez apprendre qu'un seul langage de programmation, Python est probablement le plus polyvalent. Comme il est largement utilisé dans d’autres secteurs, il constitue également un excellent plan B si vous ne faites jamais de trading. Ce qui est le cas de beaucoup de monde.
Robert Carver a travaillé dans le sell side en tant que trader options et dans le buy side comme ex-responsable fixed income du hedge fund quantitatif AHL. Auteur de «Systematic Trading» et «Smart Portfolios», il possède toujours sa calculatrice de poche HP17B.
Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com in the first instance. Whatsapp/Signal/Telegram also available. Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)
Photo by ThisisEngineering RAEng on Unsplash