Beginner's Guide to Quantitative Trading

Dans cet article, je vais vous présenter certains des concepts de base qui accompagnent un système de trading quantitatif de bout en bout. Ce post servira, je l’espère, deux publics. Le premier sera les individus qui tentent d’obtenir un emploi dans un fonds en tant que trader quantitatif. Le second sera les individus qui souhaitent essayer de mettre en place leur propre entreprise de trading algorithmique « de détail ».

Le trading quantitatif est un domaine extrêmement sophistiqué de la finance quantique. Il peut prendre beaucoup de temps pour acquérir les connaissances nécessaires pour passer un entretien ou construire vos propres stratégies de trading. Non seulement cela, mais cela nécessite une expertise approfondie en programmation, au minimum dans un langage tel que MATLAB, R ou Python. Toutefois, à mesure que la fréquence de négociation de la stratégie augmente, les aspects technologiques deviennent beaucoup plus pertinents. Ainsi, être familier avec le langage C/C++ sera d’une importance capitale.

Un système de trading quantitatif se compose de quatre éléments majeurs :

  • Identification de la stratégie – Trouver une stratégie, exploiter un avantage et décider de la fréquence de trading
  • Backtesting de la stratégie – Obtenir des données, analyser la performance de la stratégie et éliminer les biais
  • Système d’exécution – Se relier à un courtier, automatiser le trading et minimiser les coûts de transaction
  • Gestion du risque – Allocation optimale du capital, « taille du pari »/critère de Kelly et psychologie du trading

Nous commencerons par examiner comment identifier une stratégie de trading.

Identification de la stratégie

Tous les processus de trading quantitatif commencent par une période initiale de recherche. Ce processus de recherche englobe le fait de trouver une stratégie, de voir si la stratégie s’intègre dans un portefeuille d’autres stratégies que vous pouvez exécuter, d’obtenir toutes les données nécessaires pour tester la stratégie et d’essayer d’optimiser la stratégie pour obtenir des rendements plus élevés et/ou un risque plus faible. Vous devrez tenir compte de vos propres besoins en capital si vous exécutez la stratégie en tant que trader « de détail » et de la façon dont les éventuels coûts de transaction affecteront la stratégie.

Contrairement à la croyance populaire, il est en fait assez simple de trouver des stratégies rentables à travers diverses sources publiques. Les universitaires publient régulièrement des résultats de trading théoriques (bien que la plupart du temps bruts de coûts de transaction). Les blogs de finance quantitative discuteront des stratégies en détail. Les revues spécialisées décriront certaines des stratégies employées par les fonds.

Vous pourriez vous demander pourquoi les individus et les entreprises tiennent à discuter de leurs stratégies rentables, en particulier lorsqu’ils savent que d’autres personnes « encombrant le commerce » peuvent empêcher la stratégie de fonctionner à long terme. La raison réside dans le fait qu’ils ne discuteront pas souvent des paramètres exacts et des méthodes d’ajustement qu’ils ont effectuées. Ces optimisations sont la clé pour transformer une stratégie relativement médiocre en une stratégie très rentable. En fait, l’une des meilleures façons de créer vos propres stratégies uniques est de trouver des méthodes similaires, puis d’effectuer votre propre procédure d’optimisation.

Voici une petite liste d’endroits où commencer à chercher des idées de stratégies :

  • Social Science Research Network – www.ssrn.com
  • arXiv Quantitative Finance – arxiv.org/archive/q-fin
  • Seeking Alpha – www.seekingalpha.com
  • Elite Trader – www.elitetrader.com
  • Nuclear Phynance – www.nuclearphynance.com
  • Quantivity – quantivity.wordpress.com

Plusieurs des stratégies que vous examinerez entreront dans les catégories de la réversion de moyenne et du suivi de tendance/momentum. Une stratégie de retour à la moyenne est une stratégie qui tente d’exploiter le fait qu’il existe une moyenne à long terme sur une  » série de prix  » (comme l’écart entre deux actifs corrélés) et que les écarts à court terme par rapport à cette moyenne finiront par se retourner. Une stratégie de momentum tente d’exploiter à la fois la psychologie des investisseurs et la structure des grands fonds en « faisant du stop » sur une tendance du marché, qui peut prendre de l’élan dans une direction, et suivre la tendance jusqu’à ce qu’elle s’inverse.

Un autre aspect extrêmement important du trading quantitatif est la fréquence de la stratégie de trading. Le trading à basse fréquence (LFT) fait généralement référence à toute stratégie qui détient des actifs plus longtemps qu’un jour de bourse. De même, le trading à haute fréquence (HFT) fait généralement référence à une stratégie qui détient des actifs intrajournaliers. Le trading à ultra-haute fréquence (UHFT) fait référence à des stratégies qui détiennent des actifs en quelques secondes ou millisecondes. En tant que praticien de détail, le HFT et l’UHFT sont certainement possibles, mais seulement avec une connaissance détaillée de la « pile technologique » du trading et de la dynamique du carnet d’ordres. Nous n’aborderons pas ces aspects de manière approfondie dans cet article d’introduction.

Une fois qu’une stratégie, ou un ensemble de stratégies, a été identifiée, il faut maintenant en tester la rentabilité sur des données historiques. C’est le domaine du backtesting.

Strategy Backtesting

Le but du backtesting est de fournir la preuve que la stratégie identifiée via le processus ci-dessus est rentable lorsqu’elle est appliquée aux données historiques et hors échantillon. Cela établit l’attente de la façon dont la stratégie se comportera dans le « monde réel ». Cependant, le backtesting n’est PAS une garantie de succès, pour diverses raisons. Il s’agit peut-être du domaine le plus subtil du trading quantitatif, car il comporte de nombreux biais, qui doivent être soigneusement examinés et éliminés autant que possible. Nous aborderons les types de biais les plus courants, notamment le biais d’anticipation, le biais de survie et le biais d’optimisation (également connu sous le nom de biais de « fouille des données »). D’autres aspects importants du backtesting sont la disponibilité et la propreté des données historiques, la prise en compte de coûts de transaction réalistes et le choix d’une plateforme de backtesting robuste. Nous aborderons plus en détail les coûts de transaction dans la section Systèmes d’exécution ci-dessous.

Une fois qu’une stratégie a été identifiée, il est nécessaire d’obtenir les données historiques grâce auxquelles effectuer les tests et, éventuellement, le raffinement. Il existe un nombre important de fournisseurs de données pour toutes les classes d’actifs. Leurs coûts varient généralement en fonction de la qualité, de la profondeur et de l’actualité des données. Le point de départ traditionnel des traders quantiques débutants (du moins au niveau des particuliers) est l’utilisation de l’ensemble de données gratuit de Yahoo Finance. Je ne m’attarderai pas trop sur les fournisseurs ici, je voudrais plutôt me concentrer sur les problèmes généraux lorsqu’on traite des ensembles de données historiques.

Les principales préoccupations concernant les données historiques comprennent la précision/propreté, le biais de survivance et l’ajustement pour les actions des entreprises telles que les dividendes et les divisions d’actions :

  • La précision concerne la qualité globale des données – si elles contiennent des erreurs. Les erreurs peuvent parfois être faciles à identifier, comme avec un filtre à pointes, qui repère les « pointes » incorrectes dans les données de séries chronologiques et les corrige. Dans d’autres cas, elles peuvent être très difficiles à repérer. Il est souvent nécessaire d’avoir deux fournisseurs ou plus, puis de vérifier toutes leurs données les unes par rapport aux autres.
  • Le biais de survivance est souvent une « caractéristique » des ensembles de données gratuits ou bon marché. Un ensemble de données avec un biais de survivance signifie qu’il ne contient pas d’actifs qui ne sont plus négociés. Dans le cas des actions, il s’agit d’actions radiées ou en faillite. Ce biais signifie que toute stratégie de trading d’actions testée sur un tel ensemble de données aura probablement de meilleures performances que dans le « monde réel », car les « gagnants » historiques ont déjà été présélectionnés.
  • Les opérations sur titres comprennent les activités « logistiques » menées par l’entreprise qui provoquent généralement un changement de fonction d’étape dans le prix brut, qui ne devrait pas être inclus dans le calcul des retours du prix. Les ajustements pour les dividendes et les divisions d’actions sont les coupables les plus courants. Un processus connu sous le nom d’ajustement arrière doit être effectué à chacune de ces actions. Il faut faire très attention à ne pas confondre un fractionnement d’actions avec un véritable ajustement des rendements. Plus d’un trader s’est fait surprendre par une opération sur titres !

Pour réaliser une procédure de backtest, il est nécessaire d’utiliser une plateforme logicielle. Vous avez le choix entre un logiciel de backtest dédié, tel que Tradestation, une plateforme numérique telle qu’Excel ou MATLAB ou une implémentation entièrement personnalisée dans un langage de programmation tel que Python ou C++. Je ne m’attarderai pas trop sur Tradestation (ou similaire), Excel ou MATLAB, car je crois en la création d’une pile technologique interne complète (pour les raisons exposées ci-dessous). L’un des avantages de cette approche est que le logiciel de backtest et le système d’exécution peuvent être étroitement intégrés, même avec des stratégies statistiques extrêmement avancées. Pour les stratégies HFT en particulier, il est essentiel d’utiliser une implémentation personnalisée.

Lorsque l’on backtest un système, il faut être capable de quantifier sa performance. Les mesures « standard de l’industrie » pour les stratégies quantitatives sont le drawdown maximum et le ratio de Sharpe. Le maximum drawdown caractérise la plus grande chute entre le pic et le creux de la courbe d’équité du compte sur une période donnée (généralement annuelle). Il est le plus souvent exprimé en pourcentage. Les stratégies LFT auront tendance à avoir des drawdowns plus importants que les stratégies HFT, en raison d’un certain nombre de facteurs statistiques. Un backtest historique montrera le drawdown maximum passé, ce qui constitue un bon guide pour les performances futures de la stratégie en matière de drawdown. La deuxième mesure est le ratio de Sharpe, qui est défini de manière heuristique comme la moyenne des rendements excédentaires divisée par l’écart type de ces rendements excédentaires. Ici, les rendements excédentaires font référence au rendement de la stratégie au-dessus d’un indice de référence prédéterminé, tel que le S&P500 ou un bon du Trésor à 3 mois. Notez que le rendement annualisé n’est pas une mesure habituellement utilisée, car il ne prend pas en compte la volatilité de la stratégie (contrairement au ratio de Sharpe).

Une fois qu’une stratégie a été backtestée et qu’elle est jugée exempte de biais (dans la mesure où cela est possible !), avec un bon Sharpe et des drawdowns minimisés, il est temps de construire un système d’exécution.

Systèmes d’exécution

Un système d’exécution est le moyen par lequel la liste des trades générés par la stratégie est envoyée et exécutée par le broker. Malgré le fait que la génération de trades peut être semi- ou même entièrement automatisée, le mécanisme d’exécution peut être manuel, semi-manuel (c’est-à-dire « un clic ») ou entièrement automatisé. Pour les stratégies LFT, les techniques manuelles et semi-manuelles sont courantes. Pour les stratégies HFT, il est nécessaire de créer un mécanisme d’exécution entièrement automatisé, qui sera souvent étroitement couplé avec le générateur de transactions (en raison de l’interdépendance de la stratégie et de la technologie).

Les considérations clés lors de la création d’un système d’exécution sont l’interface avec le courtage, la minimisation des coûts de transaction (y compris la commission, le slippage et le spread) et la divergence de la performance du système en direct par rapport à la performance backtestée.

Il existe de nombreuses façons de s’interfacer avec un courtage. Elles vont de l’appel de votre courtier par téléphone jusqu’à une interface de programmation d’applications (API) haute performance entièrement automatisée. Idéalement, vous souhaitez automatiser autant que possible l’exécution de vos transactions. Cela vous libère pour vous concentrer sur des recherches plus approfondies, et vous permet d’exécuter des stratégies multiples ou même des stratégies à plus haute fréquence (en fait, le HFT est essentiellement impossible sans exécution automatisée). Les logiciels de backtesting courants décrits ci-dessus, tels que MATLAB, Excel et Tradestation, sont bons pour les stratégies plus simples et à plus faible fréquence. Cependant, il sera nécessaire de construire un système d’exécution interne écrit dans un langage à haute performance tel que C++ afin d’effectuer un véritable HFT. Pour l’anecdote, dans le fonds où j’étais employé, nous avions une « boucle de trading » de 10 minutes où nous téléchargions les nouvelles données du marché toutes les 10 minutes, puis exécutions les transactions basées sur ces informations dans le même laps de temps. Nous utilisions pour cela un script Python optimisé. Pour tout ce qui s’approche des données de minute ou de seconde fréquence, je pense que C/C++ serait plus idéal.

Dans un fonds plus important, ce n’est souvent pas le domaine du quant trader d’optimiser l’exécution. Cependant, dans les petites boutiques ou les entreprises HFT, les traders SONT les exécutants et donc un ensemble de compétences beaucoup plus large est souvent souhaitable. Gardez cela à l’esprit si vous souhaitez être employé par un fonds. Vos compétences en programmation seront aussi importantes, sinon plus, que vos talents en statistiques et en économétrie !

Une autre question majeure qui tombe sous la bannière de l’exécution est celle de la minimisation des coûts de transaction. Les coûts de transaction comportent généralement trois composantes : Les commissions (ou la taxe), qui sont les frais facturés par la maison de courtage, la bourse et la SEC (ou un organisme de réglementation gouvernemental similaire) ; le slippage, qui est la différence entre le prix auquel vous aviez l’intention d’exécuter votre ordre et le prix auquel il a été effectivement exécuté ; le spread, qui est la différence entre le prix acheteur et le prix vendeur du titre négocié. Notez que le spread n’est PAS constant et dépend de la liquidité actuelle (c’est-à-dire la disponibilité des ordres d’achat/de vente) sur le marché.

Les coûts de transaction peuvent faire la différence entre une stratégie extrêmement rentable avec un bon ratio de Sharpe et une stratégie extrêmement peu rentable avec un terrible ratio de Sharpe. Il peut être difficile de prédire correctement les coûts de transaction à partir d’un backtest. En fonction de la fréquence de la stratégie, vous devrez avoir accès aux données historiques de la bourse, qui comprendront des données de tic-tac pour les prix acheteur et vendeur. Des équipes entières de quants se consacrent à l’optimisation de l’exécution dans les grands fonds, pour ces raisons. Prenons le cas d’un fonds qui doit se décharger d’une quantité importante de transactions (les raisons de le faire sont nombreuses et variées !). En « jetant » autant d’actions sur le marché, il fera rapidement baisser le prix et n’obtiendra peut-être pas une exécution optimale. C’est pourquoi il existe des algorithmes qui « alimentent au goutte-à-goutte » les ordres sur le marché, mais le fonds court alors le risque de dérapage. En outre, d’autres stratégies « s’attaquent » à ces nécessités et peuvent exploiter les inefficacités. C’est le domaine de l’arbitrage de structure de fonds.

Le dernier problème majeur pour les systèmes d’exécution concerne la divergence de la performance de la stratégie par rapport à la performance backtestée. Cela peut se produire pour un certain nombre de raisons. Nous avons déjà discuté en profondeur du biais de look-ahead et du biais d’optimisation, en considérant les backtests. Cependant, certaines stratégies ne permettent pas de tester facilement ces biais avant le déploiement. Cela se produit principalement dans le HFT. Il peut y avoir des bogues dans le système d’exécution ainsi que dans la stratégie de trading elle-même qui n’apparaissent pas sur un backtest mais qui apparaissent dans le trading en direct. Le marché peut avoir été soumis à un changement de régime après le déploiement de votre stratégie. Les nouveaux environnements réglementaires, l’évolution du sentiment des investisseurs et les phénomènes macroéconomiques peuvent tous conduire à des divergences dans la façon dont le marché se comporte et donc dans la rentabilité de votre stratégie.

Gestion du risque

La dernière pièce du puzzle du trading quantitatif est le processus de gestion du risque. « Le risque » comprend tous les biais précédents dont nous avons parlé. Il inclut le risque technologique, tel que des serveurs co-localisés à la bourse développant soudainement un dysfonctionnement du disque dur. Il inclut le risque lié au courtage, comme la faillite du courtier (ce n’est pas aussi fou que cela puisse paraître, étant donné la récente frayeur avec MF Global !) En bref, il couvre presque tout ce qui pourrait éventuellement interférer avec la mise en œuvre de la négociation, dont les sources sont nombreuses. Des livres entiers sont consacrés à la gestion du risque pour les stratégies quantitatives, donc je n’essaierai pas d’élucider toutes les sources possibles de risque ici.

La gestion du risque englobe également ce qu’on appelle l’allocation optimale du capital, qui est une branche de la théorie du portefeuille. Il s’agit du moyen par lequel le capital est alloué à un ensemble de stratégies différentes et aux transactions au sein de ces stratégies. Il s’agit d’un domaine complexe qui repose sur des mathématiques non triviales. La norme industrielle par laquelle l’allocation optimale du capital et l’effet de levier des stratégies sont liés est appelée le critère de Kelly. Comme il s’agit d’un article d’introduction, je ne m’attarderai pas sur son calcul. Le critère de Kelly fait certaines hypothèses sur la nature statistique des rendements, qui ne se vérifient pas souvent sur les marchés financiers, de sorte que les traders sont souvent conservateurs lorsqu’il s’agit de la mise en œuvre.

Un autre élément clé de la gestion des risques consiste à traiter son propre profil psychologique. Il existe de nombreux biais cognitifs qui peuvent se glisser dans le trading. Bien que cela soit certes moins problématique avec le trading algorithmique si la stratégie est laissée seule ! Un biais commun est celui de l’aversion pour la perte, où une position perdante ne sera pas fermée en raison de la douleur de devoir réaliser une perte. De même, les bénéfices peuvent être pris trop tôt car la peur de perdre un bénéfice déjà acquis peut être trop grande. Un autre biais courant est connu sous le nom de biais de récence. Il se manifeste lorsque les traders mettent trop l’accent sur les événements récents et non sur le long terme. Et puis, bien sûr, il y a la paire classique de biais émotionnels – la peur et la cupidité. Ceux-ci peuvent souvent conduire à un sous- ou sur-levier, ce qui peut provoquer un blow-up (c’est-à-dire que l’équité du compte se dirige vers zéro ou pire !) ou une réduction des profits.

Résumé

Comme on peut le voir, le trading quantitatif est un domaine extrêmement complexe, bien que très intéressant, de la finance quantitative. J’ai littéralement effleuré la surface du sujet dans cet article et il devient déjà assez long ! Des livres et des articles entiers ont été écrits sur des questions auxquelles je n’ai consacré qu’une phrase ou deux. C’est pourquoi, avant de postuler à un emploi dans le domaine du trading quantitatif de fonds, il est nécessaire de réaliser un important travail de fond. Au minimum, vous aurez besoin d’une formation approfondie en statistiques et en économétrie, avec beaucoup d’expérience dans la mise en œuvre, via un langage de programmation tel que MATLAB, Python ou R. Pour les stratégies plus sophistiquées à l’extrémité haute fréquence, votre ensemble de compétences est susceptible d’inclure la modification du noyau Linux, C/C++, la programmation assembleur et l’optimisation de la latence du réseau.

Si vous êtes intéressé à essayer de créer vos propres stratégies de trading algorithmique, ma première suggestion serait de devenir bon en programmation. Ma préférence va à la construction par vous-même d’une grande partie du collecteur de données, du backtester de la stratégie et du système d’exécution. Si votre propre capital est en jeu, ne dormirez-vous pas mieux la nuit en sachant que vous avez entièrement testé votre système et que vous connaissez ses pièges et ses problèmes particuliers ? Confier cette tâche à un fournisseur, tout en vous faisant potentiellement gagner du temps à court terme, pourrait s’avérer extrêmement coûteux à long terme.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.