Les différentes étapes de la création d'un système de trading automatique
Si vous avez déjà une idée de la stratégie que vous souhaitez adopter, vous pouvez vous rendre directement à l'étape 4 où nous proposons un mode de création de code sans devoir programmer.
1 L'idée de départ
Déterminer les conditions d'achat / vente
A partir d'une "idée de départ", vous allez définir les conditions d'achat et de vente de votre stratégie. ProRealTime vous permettra ensuite de tester ces conditions d'achat et de vente avant de décider de les utiliser en réel. Vous pourrez ainsi aisément confirmer ou infirmer cette idée de départ, puis l'améliorer avec le temps et votre expérience acquise.
S'il existe une infinité de possibilités aux conditions d'achat et de vente, les réponses à ces quelques questions vous donneront peut-être une première idée du type de stratégie que vous souhaitez créer :
- Avez-vous déjà apprécié une méthodologie d'investissement dans un livre ou sur Internet, que vous souhaiteriez tester ?
- Avez-vous déjà une préférence parmi les nombreux indicateurs techniques à votre disposition ?
- Les maxima et minima atteints par les prix sont-ils des niveaux sur lesquels vous souhaitez prendre éventuellement une décision d'achat ou de vente ?
- Votre système doit-il reposer sur une seule condition ou sur une combinaison de conditions ?
- Souhaitez-vous investir en tendance ou en contre tendance ?
- Souhaitez vous uniquement acheter ou également vendre à découvert pour bénéficier aussi des tendances baissières ?
- Souhaitez-vous baser vos sorties de marché sur des conditions liées à l'analyse technique, ou sur le money management (objectifs et stops de protection prédéterminés par rapport au niveau d'entrée sur le marché) ?
Généralement une stratégie débute par la concrétisation d'une idée simple qui peut ensuite être améliorée progressivement.
Les stratégies peuvent se baser par exemple sur une combinaison :
- d'indicateurs de tendance (moyenne mobile,...) ou d'indicateurs de surachat/survente (RSI,Stochastique,...)
- de retracements (Fibonacci, points pivots,...)
- de cassures de minimums ou maximums locaux établis par le prix
- de divergences (ou tendances inverses) entre le prix et un indicateur
- d'écarts de volume
S'inspirer de votre trading manuel
Si vous investissez déjà sur les marchés, la meilleure inspiration se trouve peut-être du côté de ce qui fonctionne déjà lorsque vous faites du trading "manuel".
En effet, le trading manuel peut être vu comme une expérimentation permanente et le trading automatique comme l'automatisation de techniques que vous appliquez déjà avec succès dans votre trading manuel.
S'inspirer de ce qui existe
De nombreux livres traitent du sujet et vous suggèrent des pistes de recherche ou des stratégies complètes "clé en main".
2 Choix de l'instrument
Une fois l'idée de départ déterminée, vous devez ensuite choisir les instruments sur lesquels vous souhaitez tester votre stratégie. Cette section vous donnera peut-être quelques éléments pour effectuer votre choix.
Liquidité : l'instrument que vous avez choisi est-il suffisamment liquide pour que votre système de trading puisse refermer une position à tout moment dans de bonnes conditions ?
Horaires de négociation : souhaitez-vous que votre stratégie puisse également potentiellement prendre des positions la nuit et donc s'orienter sur des instruments qui cotent 24h/24 en semaine ?
Gap d'ouverture : plus un marché a des heures de négociation réduites (ex: de 9h00 à 17h35), plus le risque de ré-ouvrir le lendemain avec un décalage significatif sur les cours par rapport à son niveau de clôture de la veille (appelé le gap d'ouverture) est important. Pour limiter ce risque, il est possible d'investir sur des marchés qui se négocient 24h/24 ou sur des marchés ayant des heures de fermeture plus restreintes (ex: de 22h00 à 8h00). Vous pouvez également prévoir une instruction dans le code qui clôture, par exemple, toute position 15 minutes avant la fermeture du marché.
Marges requises : assurez-vous que vous disposez de la marge requise pour couvrir la ou les positions de votre système de trading plus d'éventuelles pertes.
Gain minimal à atteindre : certains systèmes de trading reposent sur des prises de positions fréquentes et très courtes avec l'objectif de réaliser régulièrement de petits gains. Peut-être est-il intéressant dans ce cas de préférer un instrument dont le ratio "Coût de l'exécution de l'ordre" (prenant en compte le spread et les frais de courtage) sur "Valeur de l'investissement" est faible. Vous trouverez, des exemples dans le tableau ci-dessous.
3 Money/Risk management
Les termes anglais "Money management" et "Risk management" désignent le plus souvent un ensemble de règles :
- De gestion de votre capital
- De gestion de vos positions
- De gestion de votre risque
Un money management adapté doit donc permettre de maximiser vos gains tout en limitant vos risques. En fonction de vos choix de Money/Risk management, une même stratégie peut s'avérer gagnante ou perdante sur un même historique de données.
Les questions posées ci-dessous vous apporteront une première réflexion du type de Money/Risk management que vous pourriez souhaiter mettre en œuvre :
Effet de levier : quel est l'effet de levier maximal que vous ne souhaitez pas dépasser ?
L'effet de levier se calcule ainsi : 1 / [Liquidités disponibles / Valeur de votre position]
Pour limiter l'effet de levier, vous pouvez soit limiter la taille de vos positions, soit augmenter le capital de votre portefeuille.
- Vente à découvert : souhaitez-vous prendre uniquement des positions acheteuses ou souhaitez-vous également intervenir en vente à découvert ?
- Conserver ou fermer vos positions la nuit (overnight) : souhaitez-vous être toujours hors position (appelé également flat) avant la clôture du marché chaque jour pour ne pas subir le risque de décalage de cours le lendemain à l'ouverture (appelé également gap d'ouverture) ?
- Horizon d'investissement : souhaitez-vous investir sur des horizons à quelques minutes, quelques heures, quelques jours ou à plus long terme ?
- Restrictions horaires : souhaitez-vous ajouter des restrictions horaires à votre système de trading, par exemple pour ne plus ouvrir de nouvelles positions après une certaine heure de la journée proche de la clôture ?
- Objectifs : souhaitez-vous utiliser un objectif de gains fixe qui refermera vos positions une fois atteint ; ou préférez-vous au contraire que vos positions gagnantes soient uniquement fermées par des conditions basées sur l'analyse technique ?
- Protéger vos positions : souhaitez-vous fixer des stops de protection en fonction d'une perte maximale que vous avez fixée par position ou en fonction d'un niveau de prix identifié sur les graphiques ?
- Type de stops : si vous utilisez des stops, souhaitez-vous utiliser des stops fixes, ou des stops suiveurs dont le niveau est réévalué en permanence ? En savoir plus sur les différents types de stops
- Taille de position maximale : quelle est la taille de position maximale que vous ne souhaitez pas dépasser ?
Notez que la saisie de ce paramètre est demandée au démarrage de chaque système de trading et prévaudra sur les conditions de votre système de trading.
Nombre maximum d'ordres : quel est le nombre maximum d'ordres que votre système de trading pourra exécuter par jour ?
(Ex : exécuter 1 seul aller / retour par jour ou être plus actif).Notez que ce le nombre maximum d'ordres par jour se règle depuis le menu "Options de trading".
4 Transformez votre idée en système de trading
Nous avons tout prévu pour faciliter au maximum cette étape essentielle.
Pour créer un système de trading automatique sans programmer :
- Dans la fenêtre graphique qui affiche l'instrument souhaité, insérez et paramétrez les indicateurs utilisés par votre stratégie.
- Ensuite, depuis le haut du graphique, cliquez sur le bouton puis allez sur l'onglet "ProBacktest & Trading Automatique" et enfin, cliquez sur "Créer".
- Pour définir vos conditions d'achat, cliquez sur le bouton "Achat".
- Pour indiquer à la plateforme sur quel élément repose votre condition d'achat, cliquez dans votre fenêtre graphique sur l'élément en question (ex : si votre condition repose sur le MACD, cliquez sur l'indicateur MACD).
- Une fenêtre vous proposera alors de choisir vos conditions via des menus déroulants. Une fois votre condition choisie, vous pouvez soit cliquer sur "Valider" si vous avez terminé, soit cliquer sur "Ajouter condition" et recommencer l'opération décrite à l'étape 4 pour définir des conditions multiples.
- Optionnel : vous pouvez répéter les étapes 3 à 5 pour définir aussi les conditions de revente de vos positions acheteuses, les conditions d'entrée sur le marché en vente à découvert et les conditions de rachat de vos positions en vente à découvert.
- Cliquez sur le bouton "Stops & Objectifs" pour configurer vos Stops, Stops Suiveurs & Objectifs.
Vous n'avez plus qu'à cliquer sur le bouton "Générer le code".
La plateforme écrira le programme à votre place !
Vous pouvez créer vos systèmes de trading en programmant vous-même en langage ProBuilder.
Le langage ProBuilder (créé par ProRealTime) est suffisamment simple pour permettre aux non-initiés d'apprendre à créer rapidement des systèmes ProOrder.
Nous avons rédigé les manuels ci-dessous à votre attention. Lisez-les à votre rythme, et apprenez à créer vos propres systèmes étape par étape via des exemples concrets :
- Manuel de programmation - Fonctions de Base & Indicateurs (ProBuilder)
- Manuel de programmation - Systèmes de Trading (ProBacktest & ProOrder)
Grace à ses fonctions intelligentes, l'éditeur de code sera également votre coach de programmation :
- Aide intégrée : un menu vous liste les fonctions disponibles et propose une aide pour chacune d'entre elles
- Reconnaissance des erreurs en temps réel : l'éditeur vous indique vos erreurs de codage en temps réel pendant la frappe
- Mise en forme automatique : votre code est automatiquement coloré et mis en forme pour simplifier sa lecture et sa compréhension
Profitez d'une assistance à la programmation de vos systèmes de trading en nous le demandant via le formulaire dédié.
Adressez-nous vos conditions d'achat/vente et vos conditions de money management en étant aussi précis que possible, et nous essaierons de vous proposer des lignes de code qui répondent à vos attentes.
5 Testez votre système de trading
Nous proposons deux méthodes complémentaires pour éprouver vos systèmes de trading :
- ProBacktest : testez votre système de trading sur les données du passé
- PaperTrading : testez votre système jour après jour dans les conditions du temps réel
Simulez avec le module ProBacktest
Le module ProBacktest permet de simuler sur l'historique des cours, les conditions de votre système de trading, afin d'obtenir une estimation de la performance que ce système aurait pu réaliser.
Le module ProBacktest vous permet donc de confirmer, sur la base des informations disponibles dans l'historique, l'efficacité d'un système de trading, mais aussi d'en détecter les faiblesses pour l'améliorer.
Des historiques intraday longs de plusieurs années
Plus votre simulation ProBacktest sera réalisée sur des historiques étendus et fiables, plus le résultat sera pertinent.
ProRealTime propose des historiques intraday longs de plusieurs années, dont la fiabilité est assurée par une équipe de maintenance des données à plein temps ainsi qu'une connectivité directe avec les bourses.
Lancer la simulation ProBacktest de votre système de trading
L'utilisation du module ProBacktest est simple :
- Affichez la fenêtre graphique de l'instrument pour lequel vous souhaitez tester votre système de trading, dans l'unité de temps choisie pour votre simulation (ex : 15 minutes)
- Utilisez le menu déroulant "historique" (en haut à gauche du graphique) pour charger la période d'historique sur laquelle vous souhaitez tester votre système (ex : 10 000 unités).
- Depuis le haut du graphique, cliquez sur le bouton puis allez sur l'onglet "ProBacktest & Trading Automatique" et sélectionnez le système de trading que vous souhaitez backtester.
- Cliquez sur "Modifier" pour accéder à la fenêtre d'édition. Depuis l'onglet ProBacktest, réglez les paramètres suivants :
- Capital initial : saisissez le montant du capital initial de votre simultation
- Paramètres de courtage : réglez les frais de courtage qui s'appliqueront à chaque transaction (fixe, en %, spread, ...)
- Taille de position max : indiquez la taille de position que le système de trading ne pourra pas dépasser.
- Période de la simulation : par défaut, votre système de trading sera simulé sur tout l'historique chargé dans votre graphique. Utilisez cette option si vous souhaitez restreindre la période sur laquelle le système sera simulé (ex : du 1er janvier 2014 au 30 juin 2014).
- Vous n'avez plus qu'à cliquer sur le bouton "Backtester mon système de trading" pour lancer l'analyse.
Analyser les résultats de la simulation ProBacktest
Une fois le système de trading backtesté, vous pourrez consulter :
- Sa courbe des gains et pertes
- Son historique des positions (sous forme de liste et sous forme graphique)
- Son historique des ordres exécutés (sous forme de liste et sous forme graphique)
- Un rapport détaillé statistique
Le rapport détaillé en particulier vous donnera de nombreuses statistiques utiles, telles que par exemple :
Analyse des gains
- Gain sur la période (en % et en absolu)
- Ratio gains/pertes
- % de positions gagnantes
- Gain différentié entre positions acheteuses et vendeuses
- ...
Analyse des positions
- Durée moyenne des positions
- % de temps dans le marché
- Nombre moyen d'ordres exécutés par jour/mois
- ...
Analyse des risques
- Plus grosse perte sur une position
- Max. drawdown (perte maximale historique)
- Niveau d'exposition moyen / Niveau d'exposition maximum
- ...
Pour en savoir plus sur ProBacktest, rendez-vous à la page 23 du manuel d'aide des systèmes de trading.
Avertissement : les statistiques calculés avec ProBacktest sont relatives au passé. Il est rappelé que la performance passée n'est pas une garantie de la performance future.
Simulez en mode PaperTrading
Le mode PaperTrading vous permet de simuler le passage d'ordres dans les conditions du marché réel mais avec un portefeuille fictif que vous pouvez réinitialiser à tout moment.
Ainsi, vous pouvez grâce à ce mode PaperTrading simuler votre système de trading jour après jour ou seconde après seconde, en conditions réelles de marché.
Il vous permettra de voir en temps réel les prises de positions de vos systèmes de trading, et aussi de tester vos propres réactions face au trading automatique.
Après avoir ouvert votre plateforme ProRealTime en mode PaperTrading, le démarrage d'un système de trading en mode PaperTrading se fait exactement de la même manière qu'en trading réel.
6 Exécutez votre système en trading réel
Comment faire ?
- Ouvrez le graphique de l'instrument sur lequel vous souhaitez exécuter votre système de trading
- Sur cette fenêtre graphique, affichez l'unité de temps à utiliser pour l'exécution de votre système
- Depuis le haut du graphique, cliquez sur le bouton puis sur l'onglet "ProBacktest & Trading Automatique" et sélectionnez le système de trading que vous souhaitez exécuter.
- Cliquez sur le bouton "Préparer pour le trading automatique" pour envoyer le système à ProOrder.
- La fenêtre ProOrder s'ouvre. Votre système est dans la partie "En attente" de la fenêtre ProOrder.
Alternative plus rapide — au moment où vous simulez le système via le module ProBacktest, vous pouvez effectuer un glisser/déposer de votre système dans la fenêtre ProOrder AutoTrading :
Dans la fenêtre graphique, cliquez bouton gauche sur le titre "Courbe gains & pertes" ou sur le titre "ProBacktest - Positions", maintenez le clic appuyé et déplacez le curseur dans la fenêtre ProOrder AutoTrading. En relâchant le clic, le système apparaîtra dans la fenêtre ProOrder, en haut de la liste "En attente".
Régler les options de ProOrder
- Depuis le haut de la fenêtre ProOrder, cliquez sur l'icône pour régler les options de ProOrder.
- Etat des positions et ordres après l'arrêt des systèmes : lorsqu'un système est arrêté, souhaitez-vous que ProOrder ferme les positions et annule les ordres en attente ; ou souhaitez-vous conserver les positions et les ordres en attente pour les gérer manuellement.
- Limite du nombre d'ordres : choisissez une limite quotidienne en nombre d'ordres qu'un système peut placer. Au-delà de cette limite, le système sera arrêté.
- Limite de validité : par sécurité, tous les systèmes de trading ont une date de validité au-delà de laquelle vos systèmes seront arrêtés. Pour étendre cette date de validité, cliquez sur le bouton "Étendre" dans la fenêtre ProOrder. Le paramètre "Limite de validité" vous permet de définir le nombre de jours de chaque extension.
Une fois ces options de ProOrder réglées, cliquez sur la croix pour fermer la fenêtre d'options et revenir à la fenêtre ProOrder.
Démarrer votre système
- Dans la fenêtre ProOrder, cliquez sur l'icône de votre système de trading.
- La fenêtre qui s'ouvre vous demande de confirmer le démarrage du système de trading. Cette fenêtre vous rappelle des éléments importants :
- L'instrument et l'unité de temps sur lequel vous allez exécuter votre système
- Le nom du système et sa version (qui correspond à la date et l'heure d'envoi du système dans nos serveurs ProOrder)
- Le code du système
- Les préférences que vous avez réglées dans les options de ProOrder
- Les conditions d'exécution et d'arrêt des systèmes de trading automatique
- Avant d'activer ce système, vous devez définir dans cette fenêtre le paramètre "Taille de position max". Il s'agit de la taille de position maximale que votre système sera autorisé à prendre, quelques soient les conditions de votre code.
Exemple :- Sur l'un de vos systèmes sur le CFD France 40, vous avez défini une "Taille de position max" de 2 contrats.
- Votre système est déjà en position de 1 contrat à l'achat.
- Une nouvelle condition de votre système est réunie et demande une prise de position de position de 2 contrats supplémentaires.
- Cette condition sera donc ignorée car elle amènerait votre taille de position à 3 contrats (alors que vous avez défini un maximum de 2 contrats).
- Cliquez enfin sur le bouton
Votre système de trading passera alors dans la partie "En cours d'exécution" de la fenêtre ProOrder et clignotera pour signaler son activation. Son "Etat" passera également de "En attente" à "En cours d'exécution".
7 Surveillez et améliorez continuellement vos systèmes
Surveiller vos systèmes
Lorsqu'un système ProOrder est en cours d'exécution, vous pouvez surveiller son activité et ses performances depuis la fenêtre ProOrder du logiciel ProRealTime.
Courbe des gains et pertes
Pour chaque système de trading, vous pouvez afficher une courbe des gains et pertes qui représente la performance du système depuis son démarrage.
A precise analysis of the fluctuations of the equity curve can give you useful information to improve your system. For example, how to avoid some of the realized losses or reinforce positions during periods when the system is making gains.
Historiques des ordres et des positions
L’historique des ordres et des positions est disponible à la fois dans la fenêtre du rapport détaillé sous forme de liste, et également dans la fenêtre graphique sous forme de flèches vertes et rouges.
L'historique des ordres est affiché sur le graphique du Prix. Les ordres entrée sont représentés par des flèches et les ordres de sortie sont représentés par des carrés en cas de fermeture par une condition de votre code, ou par des croix en cas de fermeture par un stop.
Ces deux informations sont aussi disponibles sous forme de liste dans la fenêtre de rapport détaillé du système de trading.
Statistiques
Le rapport détaillé vous donne accès à une trentaine de statistiques sur chaque système de trading tel que :
- Analyse des gains : gain moyen par type de position (longue/courte), pourcentage de positions gagnantes, ratio gains/pertes, ...
- Analyse des ordres et positions : ordres exécutés par jour en moyenne, pourcentage de temps dans le marché, durée moyenne entre 2 positions, ...
- Analyse des risques : max drawdown, exposition maximale au risque, exposition moyenne au risque, ...
Astuce : le rapport détaillé, la liste des ordres et la liste des positions peuvent être exportés vers une application externe comme par exemple votre tableur (en faisant un glisser-déposer).
Améliorez continuellement vos systèmes
Toutes les informations ci-dessus vous seront utiles pour déceler d'éventuelles faiblesses de vos systèmes, les améliorer et les adapter continuellement aux nouvelles conditions de marché.
Note : lorsque vous modifiez un système de trading, l'ancienne version restera dans ProOrder (sauf si vous la retirez manuellement). Pour les différencier, ProOrder affiche un numéro de version (qui correspond à la date et heure à laquelle vous avez envoyé le système de trading dans la fenêtre ProOrder).
Une fois familiarisé avec les bases du module ProOrder, nous vous recommandons, pour devenir plus autonome, de consulter les manuels de programmation que nous avons réécrits avec le plus grand soin.
Lorsque vous améliorerez un système, le module ProBacktest et le mode PaperTrading resteront vos meilleurs partenaires pour valider ou réfuter ces modifications via la simulation.
- Manuel de programmation - Fonctions de Base & Indicateurs (ProBuilder)
- Manuel de programmation - Systèmes de Trading (ProBacktest & ProOrder)
Import / Export de systèmes
Partagez vos propres systèmes avec vos amis
Vous avez créé un système que vous souhaitez partager avec un ami ?
C’est très simple :
- Depuis la fenêtre "ProBacktest et Trading Automatique", sélectionnez le système que vous souhaitez partager puis cliquez sur "Exporter".
- Dans la fenêtre suivante, sélectionnez l’option "Aucune, le code sera modifiable", puis cliquez sur le bouton "Exporter".
- Votre système de trading sera exporté sous forme d’un fichier ".itf".
- Vous n’avez plus qu’à envoyer ce fichier par email à la personne de votre choix, qui pourra facilement l’importer dans la plateforme ProRealTime !
Importez un système créé par un tiers
Vous avez téléchargé un système de trading au format ".itf" sur un site Internet ou un forum ? Un ami vous a envoyé un système de trading qu’il a créé ?
Voici comment l’utiliser dans notre module ProOrder AutoTrading :
- Depuis la fenêtre "ProBacktest et Trading Automatique", cliquez sur le bouton "Importer".
- Depuis la fenêtre qui s’ouvre, sélectionnez le fichier .itf sur votre ordinateur puis validez pour l'importer sur votre plateforme.
- Le système apparaît désormais dans la liste des systèmes, dans la fenêtre "ProBacktest et Trading Automatique".
- Vérifiez par vous-même que ce système est adapté à votre situation personnelle et adaptez-le au besoin pour qu’il soit à même de vous convenir. N’utilisez pas un système de trading provenant d’un tiers sans l’avoir au préalable testé et au besoin adapté.
Note : pour exécuter un système ProOrder avec un portefeuille réel, son code doit être accessible (et donc modifiable). En conséquence, si vous importez dans votre plateforme un système dont le code n'est pas modifiable, vous pourrez uniquement l'utiliser avec ProBacktest.