Obtenir et conserver un avantage statistique sur le marché

Vous apprendrez tout ce que vous avez besoins de savoir pour développer un système de trading automatique gagnant dans cet e-book.

De nombreux exemples de codes Prorealtime

Compétences requises:

  • connaissance de la Plateforme Prorealtime
  • avoir une année d’expérience de trading
  • connaitre un langage de programmation (vba, basic, etc)
Date de parution 17/12/2020
Editeur Auto édition
Format E-BOOK PDF A4 (21cm x 29.7cm)
Nombre de pages 379

> Satisfait ou Remboursé <

49,00

Category:
(3 customer reviews)
Spread the love

Description

I. Préambule

Qu’est-ce que le trading algorithme ?

Pourquoi j’ai choisi de faire du trading algorithme ?
Le style de trading Algorithmique que j’ai choisi
Ce qu’on peut attendre du trading algorithmique

Limites et possibilités du trading algorithmique

Différences entre systèmes automatiques et systèmes autonomes
Non-adaptabilité d’un système automatisé
Les extrêmes « complexité et simplicité »

Pourquoi Prorealtime ?

Langage de Prorealtime
Fonctionnement de ProOrder
Sur quels actifs peut-on lancer un robot ?

 

II. Prise en main de ProrealTime

Dans un premier temps, je vais vous présenter rapidement la plateforme Prorealtime. Ensuite, je vous montrerai les interfaces qui vous seront utiles pour créer des systèmes de trading automatiques. Je considère que vous êtes déjà utilisateur de la plateforme Prorealtime donc je ne reviendrai pas sur les bases de son utilisation.

Présentation de l’environnement de développement

Environnement de développement et tests
Environnement de suivi d’exécution

Créer et Lancer un premier test

Créer un système ProOrder
Explication des lignes de codes d’exemples

 

III. Les grands concepts du trading algorithmique

Dans ce chapitre, je vais vous présenter des concepts qui m’apparaissent indispensables à connaître avant de commencer à développer un système de trading automatisé. L’objectif est de vous donner une base théorique vous permettant de structurer votre pensée et votre travail.

Les trois piliers du trading algorithmique

Efficience
Efficacité
Performance
Conclusion

Gestion et intégration du risque

Risques liés au trading automatique
Exposition au risque
Intégration du risque

Trading et jeux d’argents

Jeux du pile ou face
Jeux de la roulette
Conclusions

Stratégie vs Tactique

Définitions
Approche Stratégique
Approche Tactique
Vos premiers choix tactiques

Les cinq métiers du trading algorithmique

Conception de systèmes automatisés
Développement et tests unitaires
Backtest & recette
Mise en production
Management des systèmes automatisés

Cycle de création d’un système de trading Automatique

Étapes de création d’un système de trading automatique
Modèles de conception

 

IV. Conception d’un système automatisé

Nous arrivons donc à la première étape de construction d’un système de trading automatique. Cette étape consistera dans un premier temps à traduire l’idée de départ dans un langage clair et sans ambiguïté. Dans un second temps, nous traduirons notre stratégie dans un langage plus technique. Cela nous permettra de faciliter la phase de codage et d’éviter des erreurs. Cette phase est très importante car les choix que l’on fait à l’étape de la conception vont avoir des répercussions sur toute la vie du projet.

Conception générale

Description de la stratégie
Exemple de conception générale
Achat sur resserrement des bandes de Bollinger
Description des règles de gestions

Conception détaillée

Exemple de Pseudo-code

 

V. Développement d’un système de trading automatique

Nous allons maintenant commencer à programmer un système de trading automatique. Pour commencer, vous devez créer votre système ProOrder. Ce chapitre va vous donner tous ce que vous avez besoin de savoir pour développer un système de trading automatique complet.

1. Intégrer le coût d’une opération

2. Architecture globale du programme

Paramètres et initialisation
Ouverture de position
Gestion des positions ouvertes
Arrêt d’urgence

3. Paramètres et initialisation des variables

Définition des paramètres
Gestion du TIMEFRAME
Perception et vision du marché
Définir un calendrier économique et boursier
Limiter le nombre d’ouvertures par jour
Initialisation et réinitialisation des variables

4. Les types de marchés

Identifier le type de marché
Choisir un type de marché
Mesurer la direction du marché
Ajustement du « lissage – retard » des indicateurs
Réflexions sur les régressions linéaires et polynomiales
Volatilité du marché
Spécificités du marché des matières premières
Mesurer l’accélération du marché

5. Ouvrir une position

Configurer le STOPLOSS et le TARGET
Instructions d’ouvertures d’une position
État des positions de votre système
Conditions d’ouvertures de positions

6. Gérer une position ouverte

Initialisation du STOPLOSS et du TARGET
Gestion du stoploss et du target
Programmer un stop suiveur
Réinitialisation des variables
Redéfinir l’objectif de prix
Algorithme des centaines
Pivots mensuels
Notes et observations sur les centaines et les pivots
Algorithme de sécurisation des gains
Remplacer le target par un ordre STOP

7. Arrêt d’urgence d’un robot

Instruction QUIT
Quand arrêter un robot ?

 

VI. Analyse des Backtests

L’analyse des backtests est une des activités les plus importantes dans le développement d’un système de trading automatique. Si vous avez déjà un peu d’expérience en développement de systèmes de trading avec Prorealtime, vous avez peut-être déjà constaté que trouver une stratégie gagnante n’est finalement pas si compliqué que cela. La vraie difficulté est de trouver une stratégie qui continua d’être gagnante après sa mise en production. Dans ce chapitre, je vais vous présenter les concepts et les méthodes qui me semblent nécessaire à la découverte d’une stratégie fournissant un résultat stable dans le temps.

Lancement d’un backtest

Lecture du résultat d’un backtest
Mesurer l’efficience de votre système
Identifier le dénominateur commun

Votre algorithme est-il suroptimisé ?

Les deux risques de suroptimisations

Premiers contrôles visuels et globaux

Écart-type globale de votre stratégie
Répartition des gains
Mesure du Tracking Error
Ratio gain / perte
Sécurisation des gains
Temps dans le marché
Temps en difficulté
Résumé sur les premiers contrôles visuels et globaux

Les stress tests

Augmentation du spread
Faite exécuter les stoploss à un point près
Simuler un retour au pile ou face
Succession de pertes et pire cas possible
Simuler un flash krach
A retenir / synthèse des stress-tests

Optimisation des variables

Fonctionnement de l’optimiseur des variables
Lancement de l’optimiseur des variables
Optimiser une variable
Les valeurs orphelines
Conclusion

Algorithme de Gradient Descent

Définitions et concepts
Pourquoi utiliser l’algorithme de Gradient Descent ?
Comment utiliser l’algorithme de Gradient Descent ?
Déplacement du minima

Optimisation Walk-Forward

Définitions et concepts
Lancer une optimisation Walk Forward
Interprétation du résultat du Walk-Forward
Comparaison selon l’écart-type

Modélisation Stochastique

Définitions et concepts
Application du test sur Prorealtime
Test unitaire du Stochastique
Test global du Stochastique

Prise de positions ultérieures au point d’entrée

Entrées en positions retardées

Construire une position

Pourquoi construire une position ?
Comment construire une position ?
Les règles pour construire une position
Code pour construire une position
Exemple d’une position construite

Environnement d’efficience

Contrôle des choix stratégiques

Limite au marché connu

Fonctionnement normal des marchés
Événements sans précédent
Marchés fermés ou en panne

Ma stratégie est-elle devenue obsolète ?

Cycle de vie d’une stratégie de trading
Les signes d’obsolescences

Recette d’un système de trading automatique

Cahier de recette
Exemple d’un cahier de recette
Conclusion

 

VII. Mise en production

La mise en production est la dernière étape à réaliser après avoir validé votre système de trading automatique. Cela consiste à lancer votre système de trading automatisé dans son environnement d’exécution. Après quoi votre robot commencera à opérer sur les marchés s’il trouve des opportunités satisfaisant ses conditions. Cette étape est relativement simple à réaliser, mais elle nécessite de procéder à certains contrôles que l’on appelle « validation des prérequis ».

Les étapes de mise en production

Relance d’un backtest
Envoi du robot à ProOrder
Démarrage du robot
Confirmation du lancement
Validation des prérequis

Le procès-verbal de mise en production

Exemple de PV de MEP
Activation et vérifications post MEP

 

VIII. Manager un système de trading automatisé

Malheureusement, être propriétaire d’un système de trading automatique ne signifie pas que vous n’aurez plus rien à faire après avoir réalisé la mise en production. Dans ce chapitre, nous allons voir comment manager un système de trading automatique. Nous aborderons le suivi des positions ouvertes, la gestion des incidents techniques et la vérification continue de l’efficience du système en cours d’exécution.

Suivi d’exécution et de prises de positions

Crée une interface dédiée au suivi des robots
Reprendre en manuel une position
Crash d’un système de trading automatique

Gérer les incidents techniques

Les différents types de pannes et d’incidents
Que faire en cas de panne de cotation ?
Que faire en cas d’activation des coupe-circuits ?
Que faire en cas de panne de réseau
Que faire en cas de crash d’un système de trading automatique

Vérification continue de l’efficience du système

Relance continue des tests
Analyse des positions prises
Connaître les éventements et situations non gérés / non testées

Conclusions globales

 

IX. Références & Bibliographie

De nombreuses références citées vous permetront d’approfondir vos connaissances en trading algorithmiques, en machine learning et en mathématiques.

3 reviews for [fr] Trading Automatique avec ProrealTime – ebook

  1. Renaud (verified owner)

    Hello Vivien, merci pour la mise à jour.

    J’ai commencé à lire l’ebook, arrivé a la moitié. Je trouve qu’il est très riche en informations. Je vais profiter de mes congés de fin d’année pour passer sur la nouvelle version et travailler les bots. J’ai vu que tu parlais en exemple, d’un setup de resserrement des BOL, cela vaut-il la peine de s’y attarder ?

    Avec la V11, connais tu les limitation pour backtester en tick par tick et comment s’y prendre au mieux ?

    Je te souhaite un bon we et de bonnes fêtes de fin d’année, même si elles seront un peu particulières cette année

  2. Vivien A. (verified owner)

    Merci pour ton super livre c’était hyper enrichissant j’ai appris beaucoup de choses
    Voici mon feedback:

    Ce que j’ai préféré:
    – les simulations python sur pile ou face etc pour comprendre d’un point de vue statistique l’impact du spread et du rapport risque reward par rapport au placement du tp/sl
    – la métaphore avec le chien, pour comprendre comment optimiser la recherche de stratégies (élagage alpha bêta, réduire les dimensions avec le binaire plutôt qu’un max de granularité dès le début etc)
    – ton explication sur à partir de quel moment tu places le trailing loss

    Ce que j’aurais aimé voir plus:
    – pourquoi tu privilégies les stratégies de continuation à la hausse ?
    – plus de détails sur comment identifier une tendance de fond haussière faiblement volatile, est-ce que les règles que tu as mis dans le template sont suffisantes ?

    Ce que j’ai eu du mal à comprendre:
    – le gradient descent, j’ai l’impression que le but est de vérifier qu’on a bien une répartition convexe des gains, et que si on bouge un peu la valeur de la variable choisie ça doit continuer à gagner, c’est bien ça ?

    et pour continuer, je suis un peu choqué qu’on doive tester 100 stratégies pour en trouver une qui marche bien lol
    et je me sens un peu frustré, parce que ça veut dire que je vais probablement marcher dans tes traces et perdre du temps à tester des stratégies que tu sais perdantes !

    Je me dis qu’il y a forcément un moyen d’être plus efficace ! Peut-être qu’on pourrait s’échanger quelques tips ? 🙂

    a+ !

    • vivien (verified owner)

      Salut Vivien,

      Merci pour ton retour et d’avoir pris le temps de faire cette analyse,

      Je vais intégrer tes remarques pour la prochaine version :

      – pourquoi tu privilégies les stratégies de continuation à la hausse ?

      En fait c’est pour avoir les statistiques à mon avantage, il y a un peu plus de chance de gagner en étant haussier dans un marché haussier que dans un marché baissier.
      (je vais repréciser ce point)

      – plus de détails sur comment identifier une tendance de fond haussière faiblement volatile, est-ce que les règles que tu as mis dans le template sont suffisantes ?

      Je peux joindre un exemple plus complet, personnellement j’utilise deux droites de régression linéaires (1500 et 300 périodes) et deux écart-types (1500 et 10 périodes)
      Par contre je ne pense pas qu’il y a une combinaisons toujours plus vraie que les autres, ça dépend des types de points d’entrés que tu choisis

      Attention car le Template n’est pas optimisé, il y a des ajustements à faire au niveau de la valeur des STD, qui dépends du timeframe et du positionnement des stop-loss.

      – le gradient descent, j’ai l’impression que le but est de vérifier qu’on a bien une répartition convexe des gains, et que si on bouge un peu la valeur de la variable choisie ça doit continuer à gagner, c’est bien ça ?

      Je vais approfondir les explication sur cet algorithme car il y a deux choses différentes :
      1/ L’utilisation normale de l’algo dans le cadre du machine Learning
      2/ ma manière personnelle de l’adapter au trading algorithmique

      En fait le but de l’algo est d’essayer de choisir la valeur la moins suroptimisée parmi les valeurs possibles. On utilise un ajustement convexe pour choisir la valeur qui minimise le plus le cout de l’erreur.

      – les fautes d’orthographes lol

      Désolé, je n’ai pas d’excuses… j’en ai déjà corrigé pas mal au cours de la traduction en anglais

      et pour continuer, je suis un peu choqué qu’on doive tester 100 stratégies pour en trouver une qui marche bien lol
      et je me sens un peu frustré, parce que ça veut dire que je vais probablement marcher dans tes traces et perdre du temps à tester des stratégies que tu sais perdantes !

      Malheureusement, tout les autres développeurs avec qui j’ai parlé ont fait le même constat.
      Cependant, plus le temps passera et plus tu iras vite pour tester une stratégie, c’est un passage obligé pour progresser

      Je me dis qu’il y a forcément un moyen d’être plus efficace ! Peut-être qu’on pourrait s’échanger quelques tips ? 🙂

      Si une stratégie suroptimisée a 99% de chance de perdre dés sa mise en production, alors quel serait le résultat si tu prenais des positions dans le sens inverse ?
      Qu’en penses-tu ?

      Merci encore pour tes remarques, je t’enverrai la deuxième version quand j’aurez terminer la relecture et traduction en anglais.
      Je prévois aussi de faire une troisième version en intégrant les nouvelle fonctionnalités de Prorealtime v11

      Si tu as des questions ou d’autres remarques, n’hésites pas 😊

  3. Pierre (verified owner)

    Bonjour,

    Merci pour la réactivité et la qualité du livre.

    Seriez-vous disponible pour échanger (par email notamment) sur les points suivants ?

    1. je comprends que votre stratégie ne s’effectue que durant des horaires avec un spread “fixe”.
    Mais compte tenu que 1. certaines stratégies peuvent être lancées sur des périodes avec des spread qui varient 2. que parfois, l’ouverture et la cloture se font sur des périodes différentes et 3. que des points d’entrée / sortie précis (comme un SAR, ou une moyenne mobile) ne sont pas considérés comme tels lors de l’exécution de l’ordre, ne serait-il pas possible d’inclure le spread directement dans le code ?

    Exemple : si le spread sur le DAX est de 1.6, cela revient à réhausser l’ordre de vente de 0.8 point (dans le cas d’une position LONG) si il est STOP, ou de le baisser de 0.8 pour un ordre LIMIT;

    Est-ce quelque chose qui a du sens selon vous ?

    2. Target
    Est-ce qu’une stratégie ne deviendrait pas plus rapidement obsolète si elle se base seulement sur la mise en place d’un facteur arbitraire de 2 (ou un pourcentage évalué par voie d’optimisation) et non sur la prise en compte de critères techniques / ou graphiques (qui eux traduisent une situation, un mouvement) ?

    3. Unités de Temps
    Quelle unité de temps vous semble les plus profitables et “maléables” pour de l’intraday ?
    Parfois, par intraday on trouve des personnes qui se basent sur de 1h, voire du 4h, ce qui donne de présence assez important, et une grande prise aux news .
    Mon but actuel est de trader sur de 2 ou 3min, en essaynt de définir un environnement de marché sur du 1h, confirmé sur du 10 ou 15min respectivement.
    A votre connaissance, est-ce suffisant ou faut-il remonter vers le 2h ?

    4. Prorealcode
    Il est fait allusion à Prorealcode dans le livre; j’en déduis donc que la stratégie Mother of Dragons ne vous est pas inconnue.
    Qu’en pensez-vous ?
    N’est-elle pas suroptimisée ? et risquée finalement compte tenu des valeurs de Stop Loss

    En tout état de cause, ce livre est très intéressant;
    Si il est sans doute, et fort logiquement car traduisant un parti pris, restrictic concernant l’approche stratégique à mettre en place, il pose clairmenet un cadre de travail (ce qui me manque, car je me disperse un peu trop), il apporte beaucoup de questions et de solutions sur tout un ensemble de problèmatique à prendre définitivement en compte dans une stratégie, et surtout, il vulgarise de manière très pratique tout l’aspect Test, ce qui me manque énormément aujourd’hui;

    Merci encore et bonne journée

    • vivien (verified owner)

      Voici quelques éléments de réponses aux questions que vous m’avez envoyé, en espérant que cela vous aidera.

      1. je comprends que votre stratégie ne s’effectue que durant des horaires avec un spread “fixe”.
      Mais compte tenu que 1. certaines stratégies peuvent être lancées sur des périodes avec des spread qui varient 2. que parfois, l’ouverture et la cloture se font sur des périodes différentes et 3. que des points d’entrée / sortie précis (comme un SAR, ou une moyenne mobile) ne sont pas considérés comme tels lors de l’exécution de l’ordre, ne serait-il pas possible d’inclure le spread directement dans le code ?
      Exemple : si le spread sur le DAX est de 1.6, cela revient à réhausser l’ordre de vente de 0.8 point (dans le cas d’une position LONG) si il est STOP, ou de le baisser de 0.8 pour un ordre LIMIT;
      Est-ce quelque chose qui a du sens selon vous ?

      Oui c’est tout à fait possible de faire cela, mais la lecture de votre backtest va être difficile car il faudra observer comment se comporte votre stratégie en fonction du spread facturé qui peut varier de 1.2 à 5 sur le DAX. De plus, il y a plus de risque de slippage la nuit que la journée.
      Dans l’idéal, il faudrait que votre stratégie supporte deux fois le spread de nuit, donc 10 points pour le DAX.

      2. Target
      Est-ce qu’une stratégie ne deviendrait pas plus rapidement obsolète si elle se base seulement sur la mise en place d’un facteur arbitraire de 2 (ou un pourcentage évalué par voie d’optimisation) et non sur la prise en compte de critères techniques / ou graphiques (qui eux traduisent une situation, un mouvement) ?

      Personnellement je fais les deux : je défini un niveau de gains à partir duquel je sécurise, tout en tenant compte des prochaines résistances importantes(comme les centaines ou les pivots mensuels).
      Si une résistance importante se trouve avant mon target, je préfère clôturer la position sur la résistance (1 ou 2 points avant)
      Si vous souhaitez définir dynamiquement vos stoploss et vos target, par exemple en fonction de la volatilité, pensez à définir un niveau minimum et maximum pour éviter des mauvaises surprises.

      3. Unités de Temps
      Quelle unité de temps vous semble les plus profitables et “maléables” pour de l’intraday ?
      Parfois, par intraday on trouve des personnes qui se basent sur de 1h, voire du 4h, ce qui donne de présence assez important, et une grande prise aux news .
      Mon but actuel est de trader sur de 2 ou 3min, en essaynt de définir un environnement de marché sur du 1h, confirmé sur du 10 ou 15min respectivement.
      A votre connaissance, est-ce suffisant ou faut-il remonter vers le 2h ?

      Pour moi le plus important est l’unité de temps pour laquelle je peux lancer un backtest en tick par tick. Je considère que dans le cas contraire, le test n’a aucune validité puisque que Probacktest ne tient pas compte de la vie de la bougie. Donc on ne sait pas lequel du high et du low a été touché en premier. Probacktest est très généreux lorsqu’il y a une ambiguïté et choisis le high pour un system long et low pour un système court.

      Néanmoins, lorsque vous utiliser l’optimiseur des variables (qui ne s’exécute jamais en tick par tick) vous pouvez savoir quand il y a une ambiguïté. Celle-ci vous est donnée par la colonne « Mode tick ». Si la valeur retournée vaut 1 alors il y a une ambiguïté et il faut relancer le test avec la valeur de la variable testée en activant le tick par tick et sans passer par l’optimiseur des variables.

      Je privilégie les unités de temps de 1 à 2 minutes, car elles me permettent de lancer des backtests en tick par tick et je peux facilement reconstruire un timeframe supérieur. Par exemple, une moyenne mobile ou régression linéaire sur 1500 minutes correspond à peu près à une journée (25h)

      4. Prorealcode
      Il est fait allusion à Prorealcode dans le livre; j’en déduis donc que la stratégie MOther of Dragons ne vous est pas inconnue.
      Qu’en pensez-vous ?
      N’est-elle pas suroptimisée ? et risquée finalement compte tenu des valeurs de Stop Loss

      J’ai entendu parler de ce système, mais je ne l’ai jamais étudié. Je préfère construire ma propre stratégie. Il y a beaucoup de stratégies suroptimisées sur Internet. Pour vous en rendre compte, il suffit de tester des stratégies très anciennes publiée il y a plusieurs trimestres ou années.

      En tout état de cause, ce livre est très intéressant;
      Si il est sans doute, et fort logiquement car traduisant un parti pris, restrictic concernant l’approche stratégique à mettre en place, il pose clairmenet un cadre de travail (ce qui me manque, car je me disperse un peu trop), il apporte beaucoup de questions et de solutions sur tout un ensemble de problèmatique à prendre définitivement en compte dans une stratégie, et surtout, il vulgarise de manière très pratique tout l’aspect Test, ce qui me manque énormément aujourd’hui;

      Merci encore et bonne journée

      Je vous remercie beaucoup pour l’intérêt que vous avez porté à mon livre et je suis très heureux d’apprendre qu’il vous est utile 😊

      Dans la prochaine version que je vais bientôt envoyer, j’ai ajouté un chapitre sur la recherche de stratégie. Dans ce chapitre, je montre une méthode permettant de tester plusieurs combinaisons d’indicateurs.

Only logged in customers who have purchased this product may leave a review.