Tout savoir sur le Trading automatique

Le trading automatique ? Vous en avez probablement entendu parler sans oser franchir le pas. Par peur de perdre le contrôle sur vos décisions boursières. Ou vous vous êtes peut-être dit que si c’était profitable, ça se saurait…

Une première tentative de définition un peu brutale pourrait être : le Trading automatique est le fruit des décisions d’un robot qui « réfléchit » à votre place et qui prend des décisions (si possible les bonnes !)  alors que vous n’êtes même pas présent devant l’écran. Mais la réalité est beaucoup plus nuancée…

Concevoir un robot de Trading, c’est avant tout se lancer soi-même dans un apprentissage et une découverte toujours plus profonde des mécanismes techniques et comportementaux des marchés financiers. Plutôt que de donner aveuglément les clefs à une IA hypothétiquement performante.

Centrée sur l’intérêt de l’investisseur actif et de ses objectifs, ce guide sur le Trading automatique apporte des clefs de compréhension aux interrogations suivantes : Comment faire pour automatiser votre activité de trading ? Comment fonctionne le trading automatique ? Comment se lancer ? Avec quels outils, quel langage de programmation ? Quels bénéfices pouvez-vous en attendre ? C’est parti !

Avertissement

Le Trading ne convient qu’à une clientèle avisée capable de comprendre le fonctionnement de produits financiers complexes (Futures, Options, CFD…) et de supporter des risques élevés, dont des pertes supérieures aux dépôts.

Qu’est-ce que le Trading automatique ?

Automatiser son Trading, c’est agir sur le marché par l’intermédiaire d’un programme informatique (conçu soi-même ou acquis auprès d’un fournisseur de services). Ce programme prend lui-même des positions sur des actifs et les clôture sur la base d’un algorithme traduisant une stratégie de gestion définie en amont par l’utilisateur. 

Ainsi, une fois créé, paramétré et lancé, le programme est capable en toute autonomie de placer des ordres au marché, à cours limite, à seuil de déclenchement… Puis le cas échéant de déplacer certains ordres, comme les stops suiveurs, sans que vous n’ayez à intervenir. 

Cela peut paraître vertigineux, mais rappelons que c’est bien l’utilisateur qui choisit, paramètre, voire le cas échéant conçoit, et améliore le programme. Le Trader reste donc au cœur de la création de valeur, comme l’illustre ce diagramme.

Diagramme montrant les principales interactions entre le programme, l’intermédiaire financier, le marché et l’utilisateur. Ce dernier a un positionnement central.  

Tentons maintenant, pour dissiper toute confusion, d’y voir plus clair dans la famille des robots de Trading. Tout d’abord, notons à ce stade que le Trading automatique n’est pas le Trading Haute Fréquence, à savoir l’exécution à très grande vitesse de transactions réalisées par des algorithmes. A ne pas confondre, donc. 

A ce stade également, lorsque l’on parle de Trading automatique, il convient de distinguer les « Expert Advisors » et les algorithmes de Trading.

Les premiers permettent de générer des opportunités haussières ou baissières, qu’il revient au trader de « transformer » s’il le souhaite vraiment, en positions réelles sur le marché. C’est lui qui in fine, « appuie sur le bouton ». L’Expert Advisor suggère donc des idées et des scénarios au Trader, mais la décision finale reste entre les mains de ce dernier (ce qui n’est pas forcément le cas des autres types d’algorithmes).

Maintenant que nous avons bien délimité les concepts et éclairci la sémantique, place à l’explication de la mécanique et des enjeux.

Le Trading automatique, comment ça marche ? 

Il faut bien avoir à l’esprit que les algorithmes de Trading, une fois lancés, fonctionnent de manière autonome en prenant des positions réelles sur le marché, puis en les clôturant, selon des conditions préétablies. 

L’algorithme tourne, agit, et fait vivre tout ou partie du portefeuille boursier du Trader, mais c’est bien l’humain qui reste à la fin des fins le maître de son robot. 

Le Trader contrôle :

1) Le choix de l’algorithme ;

2) Le paramétrage du programme (en modifiant certaines variables) ;

3) L’activation et la désactivation du programme (l’utilisateur peut allumer ou mettre en veille l’algorithme à loisir, ou programmer son activation uniquement sur certaines périodes).  

Maintenant, comment faire concrètement, si vous décidez de vous lancer dans l’aventure du Trading automatique ?

Avant tout, et c’est valable d’ailleurs pour tout type d’investissement, quels que soient les outils utilisés, il convient de se donner des objectifs d’investissement, et un risque acceptable associé à ces objectifs. 

Avant de foncer sur l’écriture d’un programme, il faut avant tout bien définir sa stratégie en amont, et la traduire en quelques règles de gestion simples, en partant d’une stratégie de Trading qui vous correspond. 

Bref, bien se définir soi-même en tant qu’investisseur, c’est faire ce travail introspectif indispensable avant d’esquisser les fonctionnalités principales de ce qui sera votre robot de Trading.

Ne partez pas bille en tête, étudiez le marché, son comportement passé, ses mouvements, sa psychologie. De bonnes connaissances en analyse fondamentale et en analyse technique des marchés financiers constituent un prérequis fondamental avant la construction d’un programme de Trading automatique.

Une fois la phase de planification finalisée, c’est à ce stade et à ce stade seulement que vous pourrez vous mettre en quête d’un logiciel de Trading automatique pour vous aider. Parmi les plus utilisés, car qualitatifs, intuitifs et simples d’utilisation on peut citer : l’incontournable Prorealtime Software et son langage propriétaire « ProBuilder ».

La conception proprement dite

Rassurez-vous : pas besoin d’être un cador en code informatique pour concevoir votre robot !

La première chose à faire est de se donner un « univers d’investissement », c’est-à-dire un champ d’investigation, un éventail d’actifs dans lequel le programme piochera, et sur lesquels il prendra la décision d’investir ou non. 

Par exemple, « les actions cotées sur une place européenne, dont la capitalisation boursière dépasse 5 milliards d’euros, à l’exception des secteurs pétroliers et parapétroliers ». Il suffit de transcrire numériquement cet univers d’investissement dans le logiciel. 

Il faut ensuite se fixer des règles de gestion, qui seront transcrites dans le programme. Un exemple de règle de gestion peut être : ne pas tolérer une perte de plus de 6% sur une position donnée. Ou encore, ne jamais avoir plus de 40% de mon portefeuille sur un même secteur.

Une fois ces règles de gestion formellement définies, et transcrites dans le logiciel, place désormais à la réflexion tactique. Il s’agit ici d’imaginer la mécanique, le mode de fonctionnement du futur algorithme, sous la forme d’un diagramme fléché. 

C’est à cette étape que l’on fait appel, par exemple, à des indicateurs techniques : indice de force relative, stochastique, bandes de Bollinger, moyennes mobiles, volumes, ou même des indicateurs que vous concevrez…

C’est à cette étape également que l’on travaille sur le mode de raisonnement du robot, sa « grammaire » : fonctionnera-t-il par élimination, par filtres successifs, par conditions qui doivent se cumuler entre elles ? Quelles tailles de position allouera-t-il aux lignes ? 

Bref, nous sommes ici au cœur de la réflexion qui mène à la constitution du « corps » du robot ; c’est la quête des conditions optimales qui vont déclencher le cas échéant une action du robot : acheter, renforcer, vendre, vendre à découvert, rester à l’écart, annuler et déplacer un ordre. Rappelez-vous que vous restez le maître du programme, et donc son « cerveau ». 

Programmer son algorithme de Trading

Le programme est à ce stade conçu. La prochaine étape en est sa rédaction. C’est là que se pose la question, pas si épineuse nous allons le voir, du langage de programmation. 

Pour vous donner une idée, voici ce que donne, sous la forme de code en langage « ProBuilder », un programme de Trading automatique qui réponde aux exigences basiques suivantes.

Le système suivant prévoit l’achat d’1 action au prix du marché lorsque le RSI (Relative Strenght Index ou indice de force relative) est en zone de survente (RSI < 30) et que les cours sont en dessous de la bande de Bollinger inférieure. Lorsque le RSI est en zone de surachat (RSI > 70) et que les cours sont au-dessus de la bande de Bollinger supérieure, alors on vend.

MyRSI = RSI[14](Close)

MyBollingerDown = BollingerDown[25](Close)

MyBollingerUp = BollingerUp[25](Close)

IF MyRSI < 30 AND Close < MyBollingerDown THEN

BUY 1 SHARE AT MARKET

ENDIF

IF MyRSI > 70 AND Close > MyBollingerUp THEN

SELL AT MARKET

ENDIF

Exemple extrait du Manuel « La programmation de systèmes de trading » – ProRealTime

Alors naturellement ces quelques lignes de code ne constituent pas un programme complet, mais elles permettent de se rendre compte que l’exercice est relativement accessible, sans connaissance informatique poussée.

C’est à la fin que tout commence

Ensuite, il est impératif de faire un processus dit de backtesting

Il s’agit ici de confronter votre programme à la réalité du marché, ou tout du moins sa réalité historique. Vous le mettrez donc en situation, pour voir quelles en auraient été les performances sur une période donnée, en utilisant un historique de cotation. Il s’agit d’une simulation du comportement de l’algorithme, en le faisant « tourner », entre deux dates passées. 

Cette analyse de comportement est essentielle, pour mesurer la performance du programme sur la durée, ou dans des conditions de marché particulières (un krach, un marché volatil, une bulle…). 

Puis vient le moment du processus itératif d’optimisation de sa créature. Il s’agit d’un processus d’amélioration continue, pendant lequel, touche après touche, vous revenez sur le code de l’algorithme, en faisant varier des paramètres, des conditions, des indicateurs techniques. 

Attention à ne bien faire varier qu’un paramètre à la fois, avant de passer à un nouveau backtesting, pour bien isoler la variable qui améliore, ou détériore, les performances du robot. A cette étape, probablement la plus stimulante, soyez curieux, réfléchissez autrement, regardez le marché sous différents angles. 

NB : Il faut bien réaliser qu’on « alimente » le programme uniquement avec des données historiques du marché. C’est la limite, par nature, du backtesting. A savoir qu’un backtesting concluant ne signifie pas que le robot fonctionnera exactement de la même manière, avec le même taux de réussite, une fois qu’il sera lancé dans le grand bain.

Le produit fini, il ne reste qu’à le faire entrer dans l’arène !

Le robot peut désormais être activé manuellement, ou programmé pour œuvrer à certaines heures. Il générera différents types d’ordres sur les marchés financiers, et construira progressivement un portefeuille. Portefeuille qu’il fera vivre avec de nouvelles entrées et des sorties d’actifs. 

Un historique exhaustif de toutes les opérations, gagnantes comme perdantes, sera ainsi généré progressivement. Le cas échéant, un rapport détaillé des performances et du comportement du robot pendant ses périodes d’activation, peut être proposé par l’éditeur. Cet outil précieux vous permettra d’améliorer votre programme, ou de le comparer avec un autre de vos programmes.

Bon à savoir

Nous avons jusqu’ici évoqué la création ad nihilo du programme par son utilisateur. Mais vous pouvez tout aussi bien acquérir un programme et le paramétrer à votre guise, ou bien, partir d’un programme existant et le personnaliser à loisir. Allergique à la programmation ? Il existe des outils permettant à l’utilisateur de spécifier tout ce qu’on attend du robot, et en retour, le code du programme est généré. On parle alors de création simplifiée de système. Tout est donc possible, du 100% fait maison au programme acquis, en passant par différents degrés d’assistance à la création.

Les avantages du Trading automatique

Par nature, le Trading automatique, grâce à la puissance de l’outil informatique, permet de faire des choses qui sont tout simplement impossibles avec un suivi « humain » des mouvements de marché. 

La machine a l’œil sur tout, tout le temps, en toute circonstance, sans jamais se fatiguer ou se laisser distraire. Elle croise en permanence une multitude de données graphiques et techniques sur un univers d’investissement potentiellement très large. 

Par ailleurs, l’investisseur ne subit pas le stress à renseigner, puis à vérifier tous les champs d’un passage d’ordre, avant son exécution. Fini le sentiment très désagréable de ne pas pouvoir profiter du meilleur point d’entrée à cause du temps passé à l’exécution manuelle d’un ordre !

Faire la démarche de créer un robot de Trading, c’est quelque part se forcer à rationaliser sa pensée sur les marchés. Contrairement à l’humain, le robot ne succombera pas à la tentation d’investir sur une thématique parce que c’est la mode, ne sera pas sensible à la puissance évocatrice des marques des entreprises, ne se focalisera pas sur les entreprises qui font parler d’elles pour X raisons. Il restera en toutes circonstances, rationnel dans ses choix.  

Froid et privé par nature d’émotions,  le « robot » ne coupera pas la position trop tôt, ne paniquera pas, ne sera pas trop gourmand ou cupide. Il agira mécaniquement en fonction des exigences de son programme de Trading. C’est un point fondamental, car de nombreuses erreurs en Trading sont le fait des émotions de l’investisseur (peur, impulsivité, cupidité…)

Le money management déterminé pour votre programme sera appliqué à la lettre, sans délai, sans la petite hésitation qui si souvent, pénalise la performance d’une opération de Trading.

Enfin, le Trader qui passe par un programme automatique peut se libérer du temps ! 

Votre activité professionnelle ne permet peut-être pas de pouvoir profiter d’opportunités qui sont pourtant en ligne avec votre système de Trading. Le robot suit en permanence la position pour vous et peut réaliser des opérations en nombre. Docile, infatigable, il tourne la nuit si vous lui demandez, pour autant que la place de cotation soit ouverte. 

NB : Parfois le robot prendra beaucoup de décisions sur une période de temps donnée, parfois aucune. Tout dépend des signaux qu’il repère sur le marché. Ce mode de fonctionnement, très efficace sur les marchés, est très différent d’un comportement humain, qui aura tendance à passer plus régulièrement des ordres, ou vouloir absolument prendre une nouvelle décision d’achat après une ligne perdante…

Les limites du Trading automatique

Première limite, et il est fondamental de l’avoir en tête, le programme de Trading, même ultra optimisé par son utilisateur, ne constitue pas une recette mirable. Il ne peut être une assurance de gains massifs et systématiques. On doit le concevoir comme un outil supplémentaire au service de l’opérateur, lui seul en quête d’une compréhension toujours plus profonde du marché. 

Autre limite, que nous avons déjà brièvement évoquée plus haut : le test d’un programme, avant d’être lancé, ne peut se faire que sur un comportement passé du marché (backtesting). Les données historiques du marché sont essentielles, mais ne permettent pas à elles seules de prouver l’efficacité dans l’avenir du modèle de trading, que seul l’expérience réelle éprouvera. 

Pour aller plus loin…

Le Trading automatique n’est ni une garantie de réussite automatique sur les marchés, ni un accessoire de mode. C’est un outil supplémentaire dans l’arsenal des investisseurs actifs, qui se constituent pour certains en communautés, avec des outils de type forum d’entraide à la programmation ; de quoi échanger entre passionnés d’un champ de recherche en plein essor, qui n’en est vraisemblablement qu’à ces débuts, avec l’avènement progressif de l’intelligence artificielle. 

Vous avez désormais les principales clefs de compréhension du monde du Trading automatique. Bonne exploration ! Mais n’oubliez jamais : ne vous contentez pas d’observer la performance passée, analysez-la pour savoir dans quelle mesure celle-ci est digne d’intérêt.

author

Maxime Parra

Rédacteur en chef de NewTrading.fr et auteur de Trading : Les Règles du Jeu, Maxime est diplômé du Master Grande École de SKEMA Business School et d’un Master en Analyse financière internationale de la Faculté de finance, banque et comptabilité de Lille.