Le guide de formation à Python de JPMorgan à l’attention des analysts et traders
Si vous passez un entretien chez JPMorgan pour un poste d’analyst ou de trader junior en banque d’investissement et que vous ne savez pas coder en Python, vous devriez commencer à combler vos lacunes sans tarder. Comme la plupart des banques, JPMorgan recherche des banquiers et des traders sachant coder, et si nécessaire, elle est prête à former ceux qui ne disposent pas des compétences requises à leur arrivée dans ses rangs.
Heureusement, pour ceux qui seraient passés à côté, les modules de formation utilisés par JPMorgan pour ses analysts et traders déjà en poste sont disponibles en libre accès sur Github – placés là par Tim Paine, un développeur de JPMorgan à New-York, qui travaille à ses heures perdues sur des produits comme un moteur d’intelligence artificielle pour l’industrie de la mode.
Il y a bien quelques inconvénients. Les pages accessibles sur Github ne sont pas très récentes : les derniers ajouts de Tim Paine remontent à la mi-2019 ; elles restent néanmoins pertinentes – en particulier si vous prévoyez de postuler chez JPMorgan pour des postes destinés aux jeunes diplômés en 2021. Leurs enseignements sont aussi destinés à être dispensés en classe par un formateur. De fait, vous pourriez donc galérer un peu si vous démarrez sans aucune notion de Python, mais vous aurez au moins la possibilité de vous faire une idée des attentes de JPMorgan quant aux connaissances de ses analysts et traders.
Tim Paine débute par une note sur les principes à respecter pour écrire du code efficace, simple et facile à lire. Citant un extrait du ‘Zen of Python’, il indique entre autres choses que
- le simple est préférable au complexe ;
- le complexe est préférable au compliqué ;
- l’horizontal est préférable à l’imbriqué ;
- l’aéré est préférable au dense.
De la même façon, si vous n’êtes pas en mesure d’expliquer l’implémentation de votre code, Tim Paine laisse entendre que l’idée n’était sans doute pas la bonne. Ses documents de formation regorgent d’exemples sur les multiples façons de procéder, bonnes ou mauvaises – par exemple, ne sacrifiez jamais la lisibilité à la performance, ou assurez-vous d’ajouter des commentaires expliquant le code ; il insiste également sur la nécessité de sauvegarder les modifications apportées à vos fichiers et dossiers dans un système de gestion de versions (probablement Github lui-même), qui vous permettra de consulter vos versions antérieures.
Le bon sens de Python mis en avant par Tim Paine touche les points suivants :
- comment écrire des tests unitaires (ceux qui vérifient si une unité de votre programme se comporte bien comme prévu) ;
- l’utilisation basique des notebooks Jupyter ;
- comment écrire une fonction pour fixer le prix d’un straddle ATMF ;
- comment calculer l’ensemble de Mandelbrot ;
- comment utiliser Pandas et Plotly pour créer un graphique de courbe des taux ;
- comment utiliser Plotly pour créer un graphique en trois dimensions montrant les prix des ETF volatiles et à haut rendement.
Assimiler les pages de Tim Paine ne fera pas de vous un expert en code. Mais ce n’est pas non plus l’objectif. Tim Paine décrit le cours comme « une introduction au calcul numérique et à la visualisation dans Python, » et « une démonstration motivante que des thématiques relativement complexes peuvent être accessibles même à ceux qui n’ont pas suivi d’apprentissage formel en programmation. »
Crédit photo : Markus Spiske sur Unsplash
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.)