Futur robot à l'imparfait
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
Après quelques efforts... on peut éventuellement parvenir à disposer d'une matrice source de quelques espoirs, c'est à dire où le nombre de cases noires est plus réduit et "plus prédictives".
Par exemple celle-ci
Il n'y a que deux paires problématiques parmi 8 et surtout on voit une assez grande régularité des résultats, à peu près centrée sur 25 000 points par paire sur l'année considérée.
La relative insensibilité du rendement au paramètre considéré, du moins sur une large plage, est de bon augure.
Les Profit factors de l'ordre de 4-6 sont aussi un signal plutôt positif.
Sur ce type de matrice, je peux alors passer à la phase ultérieure des tests !
5. Montée en puissance
Jusqu'à présent, tout était vu en points et l'algo ne contient aucun scaling (c'est à dire, si le capital dispo sur le compte est monté de 30% alors la taille des ordres monte également de 30%).
Les tests suivants pour les algos survivants vont permettre d'établir comment l'algo permet de monter en valeur investie sur chaque point. C'est ce qui va créer le véritable rendement.
(Toujours pas de scaling, c'est la cerise finale)
Je prends par exemple un cas défavorable de la matrice ci-dessus, l'usd/sgd, dans la colonne qui à priori serait retenue (TP110) et je simule une montée en charge sur ce composant potentiel d'un futur portefeuille. Je cherche où/à partir de quand se créent les ruptures.
En effet, la montée en levier est un révélateur de la stabilité de croissance des résultats. Lorsqu'il y a des variations importantes en points, plus le levier sera élevé et plus le compte aura un max DD élevé, jusqu'à le détruire assurément
Par exemple celle-ci
Il n'y a que deux paires problématiques parmi 8 et surtout on voit une assez grande régularité des résultats, à peu près centrée sur 25 000 points par paire sur l'année considérée.
La relative insensibilité du rendement au paramètre considéré, du moins sur une large plage, est de bon augure.
Les Profit factors de l'ordre de 4-6 sont aussi un signal plutôt positif.
Sur ce type de matrice, je peux alors passer à la phase ultérieure des tests !
5. Montée en puissance
Jusqu'à présent, tout était vu en points et l'algo ne contient aucun scaling (c'est à dire, si le capital dispo sur le compte est monté de 30% alors la taille des ordres monte également de 30%).
Les tests suivants pour les algos survivants vont permettre d'établir comment l'algo permet de monter en valeur investie sur chaque point. C'est ce qui va créer le véritable rendement.
(Toujours pas de scaling, c'est la cerise finale)
Je prends par exemple un cas défavorable de la matrice ci-dessus, l'usd/sgd, dans la colonne qui à priori serait retenue (TP110) et je simule une montée en charge sur ce composant potentiel d'un futur portefeuille. Je cherche où/à partir de quand se créent les ruptures.
En effet, la montée en levier est un révélateur de la stabilité de croissance des résultats. Lorsqu'il y a des variations importantes en points, plus le levier sera élevé et plus le compte aura un max DD élevé, jusqu'à le détruire assurément
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
Voici ce que donne cette phase de test
Exemple de l'usd/sgd de la matrice précédente qui donne seulement 17892 points en 2017.
C'est ici qu'un Profit factor élevé se révèlera souvent utile (mais pas toujours)
C'est un graphe en double échelle. A droite l'échelle de l'equity, à gauche celle des profit factors.
Dans cet exemple 3 scénarios sont testés. C'est à dire qu'à ce stade j'explore d'autres dimensions de l'espace des paramètres à n dimensions.
En abscisse le levier engagé sur chaque position
Ceci permet d'identifier les zones favorables pour ce composant.
Ici par exemple la configuration 3 en investissant en levier 1 sur chaque ordre passé.
6. Ne reste plus qu'
à faire le même travail sur les autres composants et de vérifier qu'ils fournissent de larges zones paramétriques communes.
Dans l'exemple fourni, le composant faible de la matrice ci-dessus peut sortir à peu près 100% de rendement. (en 900 ordres en levier 1)
On comprendra bien évidemment qu'il faut éviter de choisir les paramètres borderline, ie ne pas se placer dans une configuration maximale juste avant rupture (ici Max DD qui touche les 70 000).
7. Et quand ceci sera fait, j'aborderai les autres années...
8. Puis je procèderai à l'assemblage d'un portefeuille
Et je ferai une campagne de test montée en charge etc + multi années sur l'assemblage
Et si j'y parviens je devrais être assez proche de mes objectifs... car chaque composant devrait être premium.
En tout cas, le produit d'une sélection Darwinienne
Exemple de l'usd/sgd de la matrice précédente qui donne seulement 17892 points en 2017.
C'est ici qu'un Profit factor élevé se révèlera souvent utile (mais pas toujours)
C'est un graphe en double échelle. A droite l'échelle de l'equity, à gauche celle des profit factors.
Dans cet exemple 3 scénarios sont testés. C'est à dire qu'à ce stade j'explore d'autres dimensions de l'espace des paramètres à n dimensions.
En abscisse le levier engagé sur chaque position
Ceci permet d'identifier les zones favorables pour ce composant.
Ici par exemple la configuration 3 en investissant en levier 1 sur chaque ordre passé.
6. Ne reste plus qu'
Dans l'exemple fourni, le composant faible de la matrice ci-dessus peut sortir à peu près 100% de rendement. (en 900 ordres en levier 1)
On comprendra bien évidemment qu'il faut éviter de choisir les paramètres borderline, ie ne pas se placer dans une configuration maximale juste avant rupture (ici Max DD qui touche les 70 000).
7. Et quand ceci sera fait, j'aborderai les autres années...
8. Puis je procèderai à l'assemblage d'un portefeuille
Et je ferai une campagne de test montée en charge etc + multi années sur l'assemblage
Et si j'y parviens je devrais être assez proche de mes objectifs... car chaque composant devrait être premium.
En tout cas, le produit d'une sélection Darwinienne
-
Robinhood
- Compagnon Jedi
- Messages : 1354
- Enregistré le : 24 juil. 2018 14:53
Re: Futur robot à l'imparfait
Que dire de plus. Merci pour ton partage 
-
Katana
- Padawan
- Messages : 291
- Enregistré le : 10 mai 2018 21:08
Re: Futur robot à l'imparfait
Un grand merci pour le partage Euraed, je n'y connais rien en développement mais c'est passionant de te lire
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
Je vous en prie.
J'ai oublié de mentionner une procédure importante qui accompagne ces tests lors des phases 3 et ultérieures.
Il s'agit de traiter l'obstacle des conditions initiales.
En effet, la plupart des algos, prendront ou ne prendront pas des ordres en fonction de ce qu'ils ont accumulé dans leur historique.
Exemple: une heuristique décisionnelle peut décider qu'il faut prendre maintenant (instant tn) un ordre de vente.
Mais par le passé on a déjà pris un autre ordre qui est encore ouvert.
Et une autre heuristique, de plus haut rang, interdit par exemple de prendre plus d'un ordre.
Le résultat, en fonction du fonctionnement antérieur ou non fonctionnement du robot, affectera donc la décision de l'instant tn.
On prend ou on ne prend pas ? cela dépend de ce que tu as fait avant.
Ainsi il me paraît pertinent de lancer le robot à de multiples dates aléatoires. Ceci permet de vérifier qu'il a la capacité, tel un chat, de toujours (ou pas) retomber sur ses pattes.
C'est faisable assez simplement en algo. On peut définir un target equity et lorsque celui-ci sera atteint on ferme tous les ordres, on effectue donc un reset du robot, et on recommence. On peut aussi le faire à date précise (une fois par semaine etc)
Un algo robuste aura donc tendance à toujours croitre quelque soit le moment de son lancement.
Si en l'arrêtant/redémarrant 20 ou 30 fois sur une année il devient perdant, ce n'est pas bon signe.
Evidemment en procédant de cette façon (reset sur equity ou moment), le rendement global a tendance à chuter et bien sûr le profit factor également.
Voilà c'est un autre type de test de robustesse, systématiquement mis en oeuvre.
NB: à noter qu'un autre auteur, dans une approche de test qui a quelques traits communs, fait varier les plages horaires de test. Cela va dans le même sens même si c'est moins exigeant pour l'algo.
J'ai oublié de mentionner une procédure importante qui accompagne ces tests lors des phases 3 et ultérieures.
Il s'agit de traiter l'obstacle des conditions initiales.
En effet, la plupart des algos, prendront ou ne prendront pas des ordres en fonction de ce qu'ils ont accumulé dans leur historique.
Exemple: une heuristique décisionnelle peut décider qu'il faut prendre maintenant (instant tn) un ordre de vente.
Mais par le passé on a déjà pris un autre ordre qui est encore ouvert.
Et une autre heuristique, de plus haut rang, interdit par exemple de prendre plus d'un ordre.
Le résultat, en fonction du fonctionnement antérieur ou non fonctionnement du robot, affectera donc la décision de l'instant tn.
On prend ou on ne prend pas ? cela dépend de ce que tu as fait avant.
Ainsi il me paraît pertinent de lancer le robot à de multiples dates aléatoires. Ceci permet de vérifier qu'il a la capacité, tel un chat, de toujours (ou pas) retomber sur ses pattes.
C'est faisable assez simplement en algo. On peut définir un target equity et lorsque celui-ci sera atteint on ferme tous les ordres, on effectue donc un reset du robot, et on recommence. On peut aussi le faire à date précise (une fois par semaine etc)
Un algo robuste aura donc tendance à toujours croitre quelque soit le moment de son lancement.
Si en l'arrêtant/redémarrant 20 ou 30 fois sur une année il devient perdant, ce n'est pas bon signe.
Evidemment en procédant de cette façon (reset sur equity ou moment), le rendement global a tendance à chuter et bien sûr le profit factor également.
Voilà c'est un autre type de test de robustesse, systématiquement mis en oeuvre.
NB: à noter qu'un autre auteur, dans une approche de test qui a quelques traits communs, fait varier les plages horaires de test. Cela va dans le même sens même si c'est moins exigeant pour l'algo.
-
ticktack
- Compagnon Jedi
- Messages : 1147
- Enregistré le : 11 nov. 2016 22:29
Re: Futur robot à l'imparfait
Merci pour ce partage Euraed, je vois que finalement on a un peu la même approche, simplement moi je suis moins organisé, j'explore chaque dimension des paramètres de manière indépendante donc avec des aller/retour d'un paramètre à l'autre parfois inutiles.
J'ai également moins d'outils à ma disposition car je dois tout programmer moi même.
Je mettrai juste un petit bémol sur l'universalité de l'algo, sachant par exemple que chaque paire de devise a un comportement propre, ça ne me choque pas de prendre le meilleur TP par paire, et pas le meilleur en moyenne pour toutes les paires.
Je ne pense pas que l'on sur-optimise en faisant ça.
J'ai également moins d'outils à ma disposition car je dois tout programmer moi même.
Je mettrai juste un petit bémol sur l'universalité de l'algo, sachant par exemple que chaque paire de devise a un comportement propre, ça ne me choque pas de prendre le meilleur TP par paire, et pas le meilleur en moyenne pour toutes les paires.
Je ne pense pas que l'on sur-optimise en faisant ça.
-
Robinhood
- Compagnon Jedi
- Messages : 1354
- Enregistré le : 24 juil. 2018 14:53
Re: Futur robot à l'imparfait
@ticktack
Pour ma part je dirais que ce que tu dis me parait valable si 1 ton TP optimal est lui meme dans une zone optimale suffisamment "large" et 2 ton échantillon suffisamment important pour que cela soit significatif.
Par ailleurs je préfère utiliser des valeurs relatives (au sens x% plutot que x pts/pips) plutôt qu'absolu lorsqu'il s'agit d'introduire des opés sur SL et ou TP. Cela rends plus homogène les BT dans un contexte multi asset.
Pour ma part je dirais que ce que tu dis me parait valable si 1 ton TP optimal est lui meme dans une zone optimale suffisamment "large" et 2 ton échantillon suffisamment important pour que cela soit significatif.
Par ailleurs je préfère utiliser des valeurs relatives (au sens x% plutot que x pts/pips) plutôt qu'absolu lorsqu'il s'agit d'introduire des opés sur SL et ou TP. Cela rends plus homogène les BT dans un contexte multi asset.
-
ticktack
- Compagnon Jedi
- Messages : 1147
- Enregistré le : 11 nov. 2016 22:29
Re: Futur robot à l'imparfait
Oui je suis d'accord d'ailleurs je n'utilise que des % en TP/SL , il y a quelques cas à la marge ou les TP/SL exprimés en points fonctionnent bien mais en général ça fonctionne mieux en %.
-
Deejay87
- Chevalier Émérite Jedi
- Messages : 3071
- Enregistré le : 17 oct. 2017 16:03
Re: Futur robot à l'imparfait
Merci beaucoup pour le partage, très instructif.
Pensez vous qu on peut développer un bon algo avec ProRealTime sans codé (avec création simplifiée) ?
Pensez vous qu on peut développer un bon algo avec ProRealTime sans codé (avec création simplifiée) ?
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
@Deejay87
Je ne sais pas, je n'ai jamais utilisé/codé sur cet outil.
J'ai commencé à assembler un début de portefeuille avec l'algo dont je vous ai montré quelques tests ci-dessus.
Voici le résultat actuel avec 3 supports traités. Ce n'est pas encore assez propre (MaxDD), néanmoins j'apprécie la façon dont les ordres sont passés.
L'algo est assez frugal, il passe environ 650 ordres par support/par an, ce qui devrait me permettre d'intégrer d'autres supports.
C'est le même algo avec les mêmes paramètres pour les 3 supports, il y a juste une très légère adaptation pour le passage sur le support XAU/US (Or).
Son principe général est qu'il tente d'identifier les sommets et les creux. Il agit en UT 4 Heures.
Je pourrais très facilement atténuer les DD présents sur les courbes ci-après mais au détriment du rendement global.
A l'inverse je pourrais le "brutaliser" et lui faire sortir beaucoup plus, mais je n'en suis pas encore à cette étape.
Quoiqu'il en soit, je le trouve assez prometteur et je vais travailler à l'améliorer lors des prochaines semaines. La configuration qui crée les DD est très claire.
Pour les amateurs de tests, le xau a été jeté juste comme cela dans le portefeuille, c'est du "non vu"... ça Ticktack c'est pour la robustesse et pour répondre au cahier des charges "Don et Vacances"
. Si j'ai besoin de l'optimiser autrement que sur les grands ordres de grandeur, cela ne va pas le faire...
Comme 2018 était intéressant (130%), j'ai lancé 2017 et obtenu également 130% mais trop chaotique
A suivre, lorsque ce sera meilleur, ie plus stable.
Encore beaucoup de travail sur cette solution
NB: on note aussi des plateaux horizontaux sur les courbes, ce sont des périodes où il ne trade pas, aucun ordre d'ouvert
NB2: Cet algo me permet de trader en discrétionnaire en parallèle, afin d'améliorer les résultats. Je pourrais ainsi compenser lors des configs qui génèrent les DD.
Je ne sais pas, je n'ai jamais utilisé/codé sur cet outil.
J'ai commencé à assembler un début de portefeuille avec l'algo dont je vous ai montré quelques tests ci-dessus.
Voici le résultat actuel avec 3 supports traités. Ce n'est pas encore assez propre (MaxDD), néanmoins j'apprécie la façon dont les ordres sont passés.
L'algo est assez frugal, il passe environ 650 ordres par support/par an, ce qui devrait me permettre d'intégrer d'autres supports.
C'est le même algo avec les mêmes paramètres pour les 3 supports, il y a juste une très légère adaptation pour le passage sur le support XAU/US (Or).
Son principe général est qu'il tente d'identifier les sommets et les creux. Il agit en UT 4 Heures.
Je pourrais très facilement atténuer les DD présents sur les courbes ci-après mais au détriment du rendement global.
A l'inverse je pourrais le "brutaliser" et lui faire sortir beaucoup plus, mais je n'en suis pas encore à cette étape.
Quoiqu'il en soit, je le trouve assez prometteur et je vais travailler à l'améliorer lors des prochaines semaines. La configuration qui crée les DD est très claire.
Pour les amateurs de tests, le xau a été jeté juste comme cela dans le portefeuille, c'est du "non vu"... ça Ticktack c'est pour la robustesse et pour répondre au cahier des charges "Don et Vacances"
Comme 2018 était intéressant (130%), j'ai lancé 2017 et obtenu également 130% mais trop chaotique
A suivre, lorsque ce sera meilleur, ie plus stable.
Encore beaucoup de travail sur cette solution
NB: on note aussi des plateaux horizontaux sur les courbes, ce sont des périodes où il ne trade pas, aucun ordre d'ouvert
NB2: Cet algo me permet de trader en discrétionnaire en parallèle, afin d'améliorer les résultats. Je pourrais ainsi compenser lors des configs qui génèrent les DD.
-
YRU IDP UTS
- Padawan
- Messages : 462
- Enregistré le : 03 oct. 2017 22:09
Re: Futur robot à l'imparfait
146k de gains en 2018 avec ton algo donc Euraed ? Drawdown et performance ?
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
Toutes les courbes sont dans les pages précédentes, celles en orange sur fond blanc pour le réel
Le vert sur fond anthracite pour les essais d algorithme
Avec les commentaires sur le parcours
Le vert sur fond anthracite pour les essais d algorithme
Avec les commentaires sur le parcours
-
YRU IDP UTS
- Padawan
- Messages : 462
- Enregistré le : 03 oct. 2017 22:09
Re: Futur robot à l'imparfait
54 pages tu es dur ! ^^
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
Yes !
Faut de la rigueur et de la persévérance pour intervenir sur les marchés
A moins de se contenter du rôle de spectateur
Et malheur...cela peut éventuellement faire plus que 50 pages
car tu pourrais aussi lire entre les lignes.
Mais si tu es amateur de coupe file, tu devrais pouvoir trouver l’info au bilan début janvier....
Et par attention pour les lecteurs engagés tant que par irrespect pour les fainéants j’évite dans la mesure du possible d’aborder maintes et maintes fois les mêmes sujets...
En toute impolitesse mais efficacité, je ne réponds alors simplement pas. (Affirmation non bijective... dans cette hypothèse alors insister)
Faut de la rigueur et de la persévérance pour intervenir sur les marchés
A moins de se contenter du rôle de spectateur
Et malheur...cela peut éventuellement faire plus que 50 pages
Mais si tu es amateur de coupe file, tu devrais pouvoir trouver l’info au bilan début janvier....
Et par attention pour les lecteurs engagés tant que par irrespect pour les fainéants j’évite dans la mesure du possible d’aborder maintes et maintes fois les mêmes sujets...
En toute impolitesse mais efficacité, je ne réponds alors simplement pas. (Affirmation non bijective... dans cette hypothèse alors insister)
-
YRU IDP UTS
- Padawan
- Messages : 462
- Enregistré le : 03 oct. 2017 22:09
Re: Futur robot à l'imparfait
Je comprends ta philosophie et la partage d'ailleurs.
Mais donc en revanche je ne vois pas la réponse à la question sur ton drawdown max et sur la distinction de ta performance entre ton trading manuel et ton algo ?
Mais donc en revanche je ne vois pas la réponse à la question sur ton drawdown max et sur la distinction de ta performance entre ton trading manuel et ton algo ?
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
lecture graphique page 46, MaxDD de 25%
Mon trading manuel est aujourd'hui issu de mon expérience mixte discrétionnaire/algo. J'ai expliqué les aller-retours et effet de miroirs de l'un sur l'autre. Je ne lance rien en algo réel tant que je n'obtiens pas une perf supérieure à ce que je fais en discrétionnaire, donc objectif >=100% annuel, fiable, toute taille de compte, sans intervention etc
Mon trading manuel est aujourd'hui issu de mon expérience mixte discrétionnaire/algo. J'ai expliqué les aller-retours et effet de miroirs de l'un sur l'autre. Je ne lance rien en algo réel tant que je n'obtiens pas une perf supérieure à ce que je fais en discrétionnaire, donc objectif >=100% annuel, fiable, toute taille de compte, sans intervention etc
-
YRU IDP UTS
- Padawan
- Messages : 462
- Enregistré le : 03 oct. 2017 22:09
Re: Futur robot à l'imparfait
Attends mais donc dans ton trading quelle est la proportion de trading manuel et algo en 2018 ?
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
2018 99% manuel
Avec inspiration algo
Avec inspiration algo
-
YRU IDP UTS
- Padawan
- Messages : 462
- Enregistré le : 03 oct. 2017 22:09
Re: Futur robot à l'imparfait
Tu es donc vraiment brillant alors !
Tu entends quoi par "inspiration algo"
Tu entends quoi par "inspiration algo"
-
Euraed
- Chevalier Jedi
- Messages : 2276
- Enregistré le : 19 juin 2016 19:52
Re: Futur robot à l'imparfait
Lecture attentive...depuis avril 2018. Beaucoup y est dit.
Ne pas se laisser épater par les résultats (d'autres en ont des meilleurs et/ou différents). Il semble que j'aie trouvé une forme d'équilibre personnel entre modes d'interventions sur les marchés, contraintes de disponibilités et portrait psychologique.
Et attention à ne pas introduire de biais cognitifs: qu'un trader puisse gagner en bourse ne signifie pas non plus que ce qu'il raconte soit nécessairement plus intéressant que d'autres traders qui trouveront eux même et plus tard leur propre équilibre.
Parfois cela pourrait être l'inverse.
Je fournis de l'info personnelle (si possible non répétitive), au lecteur/trice la responsabilité de la comprendre et interpréter de la façon la plus critique possible. C'est finalement ce qui sera pour lui/elle le plus constructif.
Spoiler:
Et attention à ne pas introduire de biais cognitifs: qu'un trader puisse gagner en bourse ne signifie pas non plus que ce qu'il raconte soit nécessairement plus intéressant que d'autres traders qui trouveront eux même et plus tard leur propre équilibre.
Parfois cela pourrait être l'inverse.
Je fournis de l'info personnelle (si possible non répétitive), au lecteur/trice la responsabilité de la comprendre et interpréter de la façon la plus critique possible. C'est finalement ce qui sera pour lui/elle le plus constructif.