Python ou R : quel est le meilleur pour la data science en finance ?

eFC logo
Python or R

Si vous souhaitez lancer une discussion entre deux data scientists dans la finance, demandez-leur quel langage de codage ils préfèrent utiliser : R ou Python ? S'ils ont une divergence d'opinions, un débat animé et émotionnel s'ensuivra inévitablement. Mais qui a raison ?

R est aujourd’hui le langage le plus utilisé en data science

Traditionnellement, R était plus courant dans la communauté de la data science, en raison de sa popularité sur les campus universitaires. Par conséquent, de nombreux data scientists néophytes auront déjà utilisé R lors de leur master ou de leur doctorat. Moi-même j’ai d’abord utilisé ce langage pour terminer ma thèse de maîtrise.

Cependant, Python a maintenant rattrapé son retard. En 2016, R était le langage le plus populaire parmi les data scientists, suivi de près par Python. En 2018, leurs positions ont été inversées : les deux tiers des répondants à l'enquête préféraient Python contre 49% pour R.

R a toujours eu les meilleurs packages

Historiquement, R a eu une plus grande variété de packages pour l'analyse statistique et la visualisation. Les bibliothèques populaires incluent dplyr, zoo et ggplot2; et il y en a des dizaines d'autres. Python a mis du temps à rattraper son retard, mais il existe maintenant de nombreux packages pour les data scientists en herbe, tels que pandas, scipy et matplotlib.

Il est facile de mal coder en R

R est largement cité comme étant difficile à apprendre si vous avez l'habitude de langues plus traditionnelles. De plus, dans mon expérience, il est très facile d'écrire un mauvais code dans R, et un peu plus facile d'écrire un bon Python. La programmation orientée objet (OOP) en R est particulièrement laide. La POO en R est intégrée à la suite, plutôt que de faire partie intégrante du langage, comme pour Python.

R et Python sont tous deux des langages de type dynamique. Cela les rend très flexibles, mais aussi potentiellement sujets aux erreurs. Cependant, le faible typage dans R est particulièrement dangereux. Les fonctions R ont la fâcheuse habitude de renvoyer des types inattendus d’objets, et sont par conséquent trop relâchées pour accepter le mauvais type comme argument. Cela rend difficile le débogage du code, car le programme plantera souvent des milliers de lignes après que l’erreur survienne.

R est plus lent que Python

Les programmeurs Java ricanent toujours à propos de la lenteur de Python. Mais Python est toujours nettement plus rapide que R; par environ un facteur de quatre. Les deux langages peuvent être accélérés jusqu’à un certain degré en incorporant du code C ou C ++, mais l’interface permettant de faire cela dans R est beaucoup plus complexe que pour Python.

Python est meilleur pour les systèmes de trading

Pouvoir utiliser le même langage dans les environnements de recherche et de production constitue un avantage majeur pour un déploiement rapide. Jadis, j'ai utilisé R pour des systèmes automatisés de trading en direct, mais je ne le referais pas. La gestion de la mémoire dans R est médiocre et les problèmes de frappe mentionnés ci-dessus peuvent entraîner des erreurs étranges difficiles à résoudre.

Python peut facilement exécuter des stratégies de trading en temps réel, à condition que la latence ne soit pas critique (dans ce cas, C ++ ou Java pourraient constituer de meilleures options). Il a quelques problèmes bien connus, tels que le verrou d'interprète global, mais en général c'est une plate-forme assez robuste pour exécuter du code de production.

En conclusion...

Pour la pure data science, R a toujours un léger avantage sur Python, bien que l’écart se soit considérablement réduit. Néanmoins, les applications plus larges de Python en font le meilleur choix. Si vous êtes au début de votre carrière, l’apprentissage de Python vous donnera également plus d’options à l’avenir.

Robert Carver est l'ancien responsable fixed income du hedge fund quantitatif AHL. Il a commencé à utiliser R en 2005 avant de passer à Python en 2011. Robert est l’auteur de 'Systematic Trading' et de 'Smart Portfolios ’.

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