ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Re: Futur robot à l'imparfait

par takapoto » 03 Jan 2019 12:26

Spoiler:
Comme d'h.a.b. ! :musique:

Re: Futur robot à l'imparfait

par Euraed » 03 Jan 2019 12:27

146KEuros ( +79%) moins les impôts à payer, soit 102KEuros.

C'est Noko le prolifique, c'est bon... :mrgreen:

Re: Futur robot à l'imparfait

par noko » 03 Jan 2019 12:41

ah cool j'avais cru que tu avais perdu quelques dizaines de K

mal lu sorry

Re: Futur robot à l'imparfait

par Deejay87 » 04 Jan 2019 14:56

Je suis ok avec toi sur le fait d être transparent mais chacun est libre
Si tu veux tout dire : fais toi plaisir

Si d autres ne veulent rien dire, ils sont libre aussi

Par contre je rejoins benoist sur le fait qu un point reste un point : dans les faits, il faut travailler son psycho pour parler en nombre de points (ainsi, si on gagne à 10, on peut passer à 20, 50, 100.... etc

D autant plus en trading auto (tant qu on respecte son money management

Bien joué en tout cas pour ton travail

:mercichinois:

Re: Futur robot à l'imparfait

par Euraed » 05 Jan 2019 18:52

Après un échange sur la file de notre ami Ticktack, j'ai indiqué que je présenterai ici les procédures de test que j'utilise lors de mes développements.
L'objectif étant de ne lancer en réel que des robots sûrs.

Je rappelle brièvement le contexte, car il implique des contraintes fortes qui justement sont intégrées dans ces procédures.
- Solution algorithmique valable sur tous les marchés (à minima Forex pour l'instant)
- Valable à toute époque et quelles que soient les évolutions de marché
- Donc Valable lors des news et krachs. C'est en quelque sorte le "Whatever it takes" de Mario Draghi... :D
- Valable pour toute taille de compte comprise entre 10 000 et 10 millions de capital (les contraintes ne sont pas les mêmes aux deux extrémités de l'échelle)
- Rendements élevés. Idéalement supérieur à 100% par an. Remplir les conditions précédentes avec seulement 15% par an n'est, dans mon contexte, pas suffisamment attractif.

La raison de ces contraintes. Premièrement je le fais afin de pouvoir le donner à quelques proches, à des personnes qui n'y entendent rien au trading ou à la programmation.
Deuxièmement, pour ne pas avoir à y penser pendant les vacances.
Il devra donc être très fiable et durable, ce qui explique la liste précédente.

Je sais pertinemment que 99,9% des traders estiment que ceci est tout à fait impossible.
Un seul à ma connaissance travaillait dans cette perspective et y croyait fermement, xxxx xxxx. Il a quitté le forum.
Je ne débattrai donc nullement de la pertinence, ou impertinence, de ces objectifs.

Voici donc en quelques messages, ce qui me semble être approprié pour tester mes algos.


Suite tout à l'heure, je pars dîner en famille à un restaurant d'altitude (vosgienne)

Re: Futur robot à l'imparfait

par Santé-Fitness » 05 Jan 2019 20:13

Ça c'est de l'ambition tu me rappelles les traders us qui réussissent, hors de question d'être étouffés par le "soyez raisonnable n'essayez pas d'être excellent"

Bonne réussite et bonne année 2019 cher Euraed !
Spoiler:
Concernant le pseudo x x je me demande bien qui est-ce, deux noms séparés en un seul pseudo?
Je ne vois pas.
Et sinon bonne digestion de ton dîner !

Re: Futur robot à l'imparfait

par LeChat » 05 Jan 2019 22:25

Spoiler:
Swing Gagnant

Re: Futur robot à l'imparfait

par Euraed » 06 Jan 2019 00:47

Au commencement était le néant.
:)

On débute avec le premier algo, puis d'autres et des dizaines, peut être même une (des) centaines pour les plus pugnaces.
Au commencement j'ai commis l'erreur de la sur-optimisation, comme tout le monde il me semble.
Sur-optimiser c'est rechercher les paramètres qui fournissent la plus belle equity dans un espace de temps donné (1 année, deux années, 5 années etc) sur un support donné (Eurusd, Dax etc...).
C'est tentant et exaltant, du moins au début. Il faudra apprendre à sortir de cette phase initiale, et tout compte fait plutôt initiatique.

1. La toute première étape est de valider la chaîne de développement. Données correctes, validation du mode démo et validation du mode réel. Démo et réel doivent évidemment être alignés.
Il est donc nécessaire de faire un test en réel, après la démo, afin de le vérifier en live.
Ensuite on peut développer l'esprit tranquille.

Pour ma part, cette activité de développement se répartit aujourd'hui en 5% de temps à coder et 95% à analyser et tester.
En phase d'apprentissage, on passe bien sûr plus de temps à apprendre comment faire les choses. (Voir mes témoignages initiaux sur cette file).

2. Validation visuelle de la fidélité de l'algo
Après avoir écrit un algo, il est utile et nécessaire de vérifier qu'il réalise bien dans la réalité ce que l'on a voulu programmer. Il n'est pas rare de commettre des erreurs de codage.
Avant de se lancer dans l'analyse et les étapes suivantes, il faut donc vérifier.
A noter que parfois les erreurs accidentelles peuvent être source de créativité. Elles ne sont pas uniquement et toujours néfastes, toutefois il faut les identifier, le pire étant de penser faire une chose alors qu'en réalité la logique de l'algo suit une autre voie.
Si écart, on corrige le code et on retient pour un prochain programme les éventuelles inspirations issues de ces détours buissonniers.

Exemple:
On vérifie que les ordres sont passés précisément au bon endroit, bon niveau , bonne logique, et idem pour les fermetures etc. Selon le type d'algo, l'UT utilisée, on n'hésitera pas à descendre à la seconde/au tick près
Fichiers joints

Re: Futur robot à l'imparfait

par Euraed » 06 Jan 2019 01:37

3. Plages larges et Détection de faux optimum

La sur-optimisation est mon ennemi numéro 1.
On a relativement "vite fait" de développer ce que l'on pense être la huitième merveille du trading (je ne connais pas les 7 premières, je n'ai pas lu Stan :D )

On trouvera un peu plus de détails sur la détection de faux optimums ici https://www.andlil.com/forum/detecter-un-faux-optimum-t25586.html, une file satellite que j'avais créée spécifiquement sur ce sujet.

A présent, je vais utiliser des résultats de tests de certains de mes algos pour illustrer mes propos.

Mes tests incluent TOUJOURS de larges plages paramétriques.
Un paramètre est une dimension variable du programme.
Exemple: un TP, un SL, une condition paramétrique de sortie, d'arrêt du programme, un paramètre d'indicateur etc
Quand on a n paramètres cela crée donc des espaces de possibilités à n dimensions.
On notera au passage que cela peut très vite se transformer en gigantesque explosion combinatoire.
Exemple simple: 10 valeurs de TP, 10 valeurs de SL, 15 valeurs de moyenne mobile donnent déjà 10*10*15= 1500 versions possibles du programme.
En réalité, on peut vite se retrouver avec des centaines de milliers, voire des millions de combinaisons possibles qui seront impossibles à toutes tester.

Comment les réduire ? cela n'est pas évident. L'expérience en trading discrétionnaire pourra nous guider pour un premier débroussaillage du sujet. Exemple ridicule: pas la peine de tester des Arrêts d'urgence programme sur equity=0.
Ensuite, on fixe ce qui nous paraît intuitivement de bons ordres de grandeur sur tous les paramètres, sauf 1, appelons le P, qui sera celui que l'on souhaite étudier.
Alors on lance des tests pour évaluer le comportement du programme sur une large plage paramétrique (P prendra les valeurs P1,P2,P3....Pi).

On lance et on peut obtenir par exemple ceci

Ici les Pi sont des TPs. Test par année.

En noir, l'algo a touché le max DD, défini à partir de ma sensibilité au risque, ici 30% (Je réalise tous mes tests avec des equity de départ de 100 000, s'il touche 70 000 c'est un scénario noir)
Peu importe les valeurs de TPs, c'est toujours perdant !
ô rage, on a codé pour rien... idée bidon.
Mais attendons un peu la suite avant de jeter le bébé avec l'eau du bain.

En effet, il s'agit là de la variation d'une dimension parmi n. Donc (n-1) dimensions ont été fixées, apparemment ici mal dimensionnées...

On peut aussi obtenir avec le même algo et les mêmes paramètres ceci


Ou bien cela


Je précise que tous ces résultats sont indiqués en points nets gagnés (aux variations de valeur de pip près). Net c'est à dire après commissions et frais d'overnight (peuvent être calculés automatiquement par ma plateforme de dév, j'ai testé et validé après avoir découvert un bug qui fut corrigé par l'offreur de service)

Re: Futur robot à l'imparfait

par Euraed » 06 Jan 2019 01:57

4. Matrices multi-supports

Je procède donc en testant le même algo sur de multiples supports (pour l'instant de multiples paires de devises).

Je trouve ceci nettement plus exigeant qu'un test d'algo sur plusieurs années du même support. C'est dans une étape ultérieure du processus de test que je passerai au multi-année.
Pourquoi ?
Sur plusieurs années on va avoir de multiples configurations et c'est intéressant. Il y aura par exemple de grands gaps qui est l'une des "figures de style" que tout algo robuste devrait pouvoir traiter car elles peuvent potentiellement intervenir à tout moment (exemple: inattendue décision de dérégulation de la banque suisse) etc
Mais sur une seule année, un test du même algo en multi-support est, je trouve après expérience, plus révélateur des faiblesses potentielles. Parce que chaque paire a ce que certains appelle une "personnalité" propre, en termes plus précis, les volatilités, les rythmes de mouvement sont variés et souvent plus variés qu'en comparant une année n et n-1.
C'est aussi une contrainte imposée par mes objectifs de recherche d'un algo polyvalent.
Ma priorité numéro 1 est la recherche de la robustesse.
Ce n'est qu'ensuite que je regarde comment développer la perf sans remettre en cause la robustesse des résultats fournis.

A mes débuts j'allais directement chercher la perf, ce fut en quelque sorte une perte de temps (pas tout à fait, c'est de l'apprentissage).

Après avoir testé plusieurs paires sur une année, je vais donc obtenir un tableau comme celui-ci:



Commentaires sur ce tableau
Sur le paramètre étudié ici, le TP, avec une variation entre 30 et 130, on constate des résultats assez disparates. Néanmoins on perçoit un meilleur équilibre entre 70 et 110.
Et ce que l'on voit évidemment, c'est qu'il paraît difficile de construire un portefeuille à faible alpha avec cela.
Mais c'est réalisé avec les (n-1) autres dimensions définies à certaines valeurs.

Après analyse, on peut alors relancer les mêmes tests mais en ayant fait un autre choix sur les (n-1) autres paramètres.

Et par exemple la nouvelle version donnera cela
Ici c'est un peu meilleur car avec un TP110 on gagne 202000 points et on en perd 90000, il en resterait donc 112 000 si l'on construisait un portefeuille de ce type avec cette version d'algo.

Mais ce qui importe est la description de la méthode.
En l'occurrence construire de multiples matrices de résultats.

On comprendra donc pourquoi les tests représentent 95% du temps...
Fichiers joints

Articles en relation
Mon Robot de Trading
par VB6backtester » 07 Juil 2018 16:23 (8 Réponses)
mon robot, votre avis
par nememoris » 21 Aoû 2015 16:09 (4 Réponses)
Comprendre le fonctionnement d un robot
Fichier(s) joint(s) par nememoris » 02 Sep 2015 22:26 (7 Réponses)
Geronimo, mon robot scalper...
Fichier(s) joint(s) par Renaud-C » 11 Sep 2015 08:23 (27 Réponses)
Création d’un robot parfait
par Euraed » 20 Oct 2015 23:11 (69 Réponses)
Deep Learning Trading robot
Fichier(s) joint(s) par JFLB » 01 Jan 2018 15:19 (41 Réponses)
Besoin d'aide optimisation de mon robot
par Euraed » 15 Déc 2018 22:22 (3 Réponses)
Création et suivi de mon premier robot
par Zefran » 28 Mar 2019 13:03 (1 Réponses)
Trading automatique , robot et broker
par Jim » 20 Avr 2019 20:19 (6 Réponses)
Chronique d'un nouveau robot cuisinier.
par Jim » 13 Mai 2019 18:09 (7 Réponses)

ProRealTime