Cinq choses que vous devez savoir avant d’apprendre Python pour un job en finance...

eFC logo
Python for finance

Les programmeurs Python sont en forte demande dans les banques et les hedge funds. Heureusement, ce langage de programmation est facile à apprendre – il est souvent utilisé dans les écoles primaires britanniques pour enseigner les bases de la programmation.

Cependant, avant votre première prise en main avec Python, vous devez savoir certaines choses, en particulier si vous souhaitez l’utiliser dans un contexte financier.

Python 3 ou Python 2 ?

Lorsque de nouvelles versions de langages apparaissent, elles impliquent généralement des mises à jour incrémentielles et sont rétro-compatibles avec les versions antérieures. Cela signifie que tout votre code existant fonctionnera toujours. Ce n’est pas le cas avec Python version 3 qui comporte des modifications importantes et ne fonctionne pas du tout avec Python 2. Bizarrement, Python 2 continue d’être pris en charge, avec plus de 30 mises à jour publiées depuis Python 3, il y a presque 10 ans. Les nouvelles versions de Python 2 sont maintenant arrêtées, mais elles sont encore largement utilisées dans le secteur financier.

Si on a le choix, Python 3 est sans aucun doute le meilleur à utiliser pour tous les nouveaux projets, le plus récent étant souvent le meilleur : toutes les nouvelles fonctionnalités intéressantes des versions ultérieures valent la peine d’être utilisées. Cependant, vous pourriez vous retrouver à travailler avec du code Python 2 si bien qu'il est important de maîtriser les deux variantes si vous souhaitez utiliser Python dans un job en finance.

Packages non inclus, mais faciles à obtenir

Vous devez également savoir que la bibliothèque logicielle de Python est assez légère. Vous devrez importer des bibliothèques pré-packagées si vous voulez faire quelque chose d'intéressant. Ces bibliothèques intègrent des fonctions permettant d'effectuer la plupart des opérations mathématiques, de gérer des calendriers, d'importer et de gérer des données et d'effectuer des tâches système courantes.

Cependant, le vrai pouvoir de Python vient lorsque vous commencez à télécharger certaines des nombreuses bibliothèques tierces librement disponibles. Pour un travail financier sérieux, vous aurez besoin de numpy (pour gérer des opérations sur de grands tableaux), de scipy (fonctions statistiques et mathématiques avancées) et de matplotlib (visualisation de données). Les data scientists intéressés par le machine learning voudront probablement se pencher sur ensorflow. Quant à Panda, c'est un must pour la manipulation des données qui possède un solide pedigree financier – il a été initialement développé par le hedge fund géant de AQR capital management.

Les utilisateurs les plus paresseux de Python pourront toujours consulter la distribution Anaconda, qui comprend tous les packages ci-dessus et bien d’autres, dans un environnement soigné et pré-conditionné.

Python est lent. Mais il est facile de le mélanger avec C

Les programmeurs habitués à la vitesse fulgurante du C ou C ++, ou au rythme relativement rapide de Julia ou de Java, trouveront Python un peu lent (bien que ce soit toujours un peu plus rapide que R et Matlab, deux langages populaires de la finance quantitative).

Les programmeurs adorent se vanter de la rapidité et de l’efficacité de leur code, mais la plupart des codes ne doivent pas être exécutés aussi rapidement. Cependant, Python sera certainement trop lent lorsqu'il s'agira de fonctions exécutées de manière répétée sur de grands ensembles de données ou d'algorithmes de trading sensibles au temps de latence.

Heureusement, il est extrêmement facile d’écrire rapidement des fonctions C ou C ++, puis de les intégrer à vos modules Python. Apprenez à faire cela aussi.

Python aime le Big Data

Les établissements financiers à la recherche d'un avantage sur les marchés actuels se concentrent sur de nouvelles sources de données. Ces sources de données alternatives ont un point commun : elles sont volumineuses. Utiliser les données de flux Twitter pour prédire l’opinion du marché est une bonne idée, mais il y a environ 500 millions de nouveaux tweets par jour. C’est une énorme quantité de données à stocker, traiter et analyser.

Heureusement, Python s’intègre parfaitement à l’écosystème du Big Data avec des packages que vous pouvez utiliser pour dialoguer avec Spark et Hadoop. Python possède également des API pour les bases de données NoSQL telles que MongoDB, ainsi que pour tous les principaux fournisseurs de stockage cloud.

Ne pas craindre le GIL

Le Global Interpreter Lock - ou GIL pour ses nombreux détracteurs - est le fameux talon d’Achille de Python. Seul un thread (ou fil d'exécution) peut être exécuté à la fois, ce qui crée un goulot d'étranglement qui ralentit l'exécution et ne tire pas parti des processeurs multicœurs modernes. Cependant, le GIL pose rarement des problèmes dans la pratique. La plupart des programmes passent plus de temps en attente des inputs et des outputs.

Le GIL peut avoir une incidence sur les opérations de grande envergure, mais seul un masochiste peut essayer de les exécuter sur un ordinateur de bureau ou un ordinateur portable. Il est plus logique de paralléliser votre code, puis de le répartir dans votre cluster local ou votre fournisseur préféré de cloud computing.

Robert Carver est un ancien responsable fixed income pour le hedge fund quantitatif AHL et l'auteur de «Systematic Trading» et de «Smart Portfolios». Depuis qu'il a appris à coder à l'âge de sept ans, il a assimilé et surtout oublié plus de 30 langages de programmation. Il utilise Python tous les jours.

Vous avez un scoop, une anecdote, un conseil ou un commentaire que vous aimeriez partager ? Contact : tiochem@efinancialcareers.com

A lire aussi…

Secteurs les plus recherchés

Loading...

Recherche emploi

Rechercher articles

Close
Loading...