ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests
Répondre

Création d'un algorythme de trading auto scalp + backtest

par Epitaf » 18 août 2015 07:53

Bonjour à tous,

J'ai pu constater que la partie "robotisée" du trading n'emballe pas grand monde. Je me tente quand même à présenter mon projet.

Ce que je recherche : la performance, ou plutôt la régularité. Je ne suis absolument pas intéressé par un record de point dans une journée, mais plutôt par un record de journée positive. Je recherche donc mon équilibre entre ratio w/l et points gagnés

Dans la continuité de mon journal et depuis cet été où les marchés sont moins évidents à trader, j'ai entamé la création d'un algo de backtest au tick par tick que j'appelle personnellement BBT pour big backtest car j'y réalise des millions ( milliard ? ) de calculs.

Dans un premier temps je vais parler du côté purement technique

J'avais dans l'idée au début d'en créer un logiciel, puis j'ai rapidement été confronté à la limite de mon processeur ( 1h50 pour 1 calcul sur 1 an de tick par tick pour 1 sous jacent pour un i5-480M). J'ai alors complétement épuré l'algo et je l'ai complétement ( à mon niveau, est-ce qu'on peut mieux faire ? ) optimisé, je suis tombé à 14 secondes le calcul/an et je tombe à 3 secondes avec un i7 2600k à 8 coeurs.

J'ai réalisé quelques backtest tout récemment et j'en suis à l'analyse des résultats

Ce que j'analyse : Je ne vais pas rentrer dans les détails, ce n'est que la continuité de mon journal. Tous mes tests sont basés sur les seuils et indices les plus performants. Rien de bien sorcier, suffit de lire les 114 pages du blog bourse d'andlil et l'historique complet du forum :mrgreen:

Le comment : J'ai décidé de réaliser mon bbt et mon futur algo de trading auto ( que je vais appeler TAF ) en python. Pourquoi ? alors non je ne me suis pas réveillé en pleine nuit à 3h en criant python. J'ai découvert ce langage avec la L3 de falex. Et ça m'apporte deux choses, d'un : profiter de ce projet pour apprendre un langage en parallèle et de deux comprendre comment falex a réussi à se "brancher" avec l'api ( Falex si tu passes par là :mercichinois: )

Les prochaines étapes :
- Créer des graphiques pour analyser les résultats [OK]
- Étendre mes backtests, tester d'autres seuils et affiner la direction de mes recherches, ensuite je rajouterai divers facteurs important à prendre en compte ( idem que cité supra, je n'ai rien inventé, je n'ai fait que prendre ce que j'ai trouvé sur andlil et que j'ai analysé pendant ma période démo ) et je souhaite que mes futurs calculs se recoupent. Bon la, je crains un peu pour le temps du calcul.
- Créer mon TAF, ça à la rigueur, ça me fait moins peur
- Gagner mes premiers points :lol2:

J'ai déjà lu des commentaires sur le trading automatique, ce qu'il en ressort :

Des logiciels trop lourd: Je ne recherche pas un schéma redondant dans la matrice. Je ne fais que analyser minutieusement ce que j'ai déjà testé en démo pour le rendre encore plus efficace. De plus je ne compte pas créer un micro nano algo à la prt, mais je compte bien prendre en compte un maximummum d’élément que l'algo prendra en compte et il gérera les événements en fonction du "poids" de chaque information recueillie

Un marché qui change : D'où la création de mon bbt, chaque nouvelle journée sera re-analysée et ma stratégie en sera modifiée de façon infime

Je suis ouvert à toute critique ou conseil ;)
Et puis même si c'est pas pour parler de mon projet, au plaisir de re-discuter du monde automatique et de voir l'évolution de la vision des membres sur ce sujet :-)

Re: Création d'un algorythme de trading auto perso

par bobbyO » 18 août 2015 09:37

Bonjour Sevice,
Interessant ...
Je me suis également lancé dans un projet assez ressemblant :
- Backtest en ticks. Pour l'instant, j'ai des backtests positifs sous prt dans toutes les ut (3T, 4T, 5T, 10T, ...) mais je voudrais faire du multi-ut pour des détections de trades automatique
- Utilisation de l'Api IG en C# .NET
- Utilisation de la librairie TA-LIB pour les indicateurs
- Comme toi, visualisation graphique pour les résultats (pour l'instant, pas commencé mais je suis intéressé par la manière dont tu vas t'y prendre
- Visualisation des equity curve et indicateurs du backtest (Le report tool de beni me semble d'un bonne inspiration)
- A priori pas de trading automatique mais plutôt du semi-automatique qui me permette de me donner les points d'entrée et sortie théorique pour du trading manuel. Mais il est vrai qu'avec cette Api IG, des portes se sont ouvertes pour aller plus loin

Ton projet ressemble beaucoup au mien, je pense que l'on pourra partager pas mal de points.

Re: Création d'un algorythme de trading auto perso

par lemerou » 18 août 2015 09:44

Entre le mandarin et le trading auto, tu ne chomes pas, on dirait :D

Re: Création d'un algorythme de trading auto perso

par Epitaf » 18 août 2015 10:47

Bonjour bobbyO,

Oh ok, j'ai testé prt, mais j'étais trop limité dans la programmation :-) Et je n'ai même pas envisagé pour l'instant du multi ut. J'ai déjà beaucoup de boulot sur mon projet actuel.

Je connais peu le C et encore moins TA-LIB

ça y est j'ai mes graphiques ! Je vais faire chauffer l'imprimante au boulot cette aprèm. J'ai utilisé Numpy et tout un tas d'autres librairies, c'est simple et très efficace :-)

Pour ce qui est de la visualisation de l'equity et des indicateurs, ça se rapproche de ce que je voulais faire avec mon tableau de bord en php, je récurerais les flux réel en ajax, calcul du rsi,, etc

Tu en es où dans ton projet ?

@lemerou : Non je ne chôme pas, j'ai même entamé l'écriture d'un livre ;-)

Re: Création d'un algorythme de trading auto perso

par Benoist Rousseau » 18 août 2015 18:11

beau projet, je ne peux pas beaucoup t'aider, je code pas ou très mal

Re: Création d'un algorythme de trading auto perso

par Epitaf » 21 août 2015 06:18

Merci Benoist :-)

Premier ordre automatique passé !
Au boulot j'ai peaufiné mes bbt, j'ai maintenant plusieurs stratégies très précises à convertir en automatique.
Aujourd'hui je fais ça, mais d'abord petite sieste :mrgreen:

Prochaine étape, faire fonctionner le taf sur plusieurs sous-jacent en même temps

Est-ce que quelqu'un sait comment compiler python ?

Re: Création d'un algorythme de trading auto perso

par bobbyO » 21 août 2015 09:53

Bonjour Sevice,

Je ne connais pas Numpy, mais apparemment c'est fait pour Python. ça me parait différent de TA-LIB qui est une librairie de fonctions de trading.

A propos d'où j'en suis dans mon projet, comme je l'ai dit, j'ai d'un côté des backtests positifs sur prt dans différentes ut. En parallele je fais 2 choses : améliorations de ces backtests prt et migration en C# avec l'Api IG pour merger les différentes ut en un seul backtest, puis simuler en trading auto dans un compte demo à voir .... La première partie est opérationnelle, la 2ème est en cours (disons 20%).
Mais je trouve que ça avance trop lentement . A un moment donné, je pensais décrire mon avancement dans un journal de trading dans le but d'expliquer mes points de blocage et vérifier que finalement avec le temps ça avance mais je n'ai pas franchi le pas encore.
Difficile également de trouver du temps :(

Re: Création d'un algorythme de trading auto perso

par Epitaf » 02 sept. 2015 22:32

Oups, désolé bobby, je ne t'ai pas répondu.
Heikin Ashi bon une librairie de trading, ho je vais voir ça :-)

Tu codes en C ! whoo, j'aimerai bien savoir le faire, ça doit être bien plus rapide :-)
Oui ça avance lentement, tellement de petit truc à faire, à améliorer, à tester.
La j'ai été bloqué par le poids des fichiers log, j'ai un gros backtest de 1.3Million de calcul à réaliser, mais après un calcul de primaire, j'ai réalisé que j'allais me retrouver avec 60Gio de donnée à trier ... Donc, j'ai du tout repenser, éliminer toute information inutile, limiter les caractères au strict minimum et j'ai divisé par 40 le poids, au final ça me fera 1.5Gio.

J'ai accéléré tant que j'ai pu mon algo bbt. pour un calcul sur un an d'historique au tick par tick ( 200 fichiers avec parfois 180.000 lignes ), ça me prend 0.05 seconde, mais multiplié par 1.300.000, ça prend 18 heures ... pour un i72600k.

J'ai failli me résigner à acheter un nouveau processeur de compet', mais après avoir vu les différences de perf avec les nouveaux modèles, c'est pas mirobolant par rapport à l'investissement ..

Mais !! après ce premier backtest, j'enclenche mon algo trieur et j'adapte immédiatement en démo les stats optimales, peut être mes premiers tests en démo demain !!!

A faire ensuite : le même backtest sur le dax, dow, etc, et je vais multiplier les algos TAF en démo !
A faire aussi, les backtests sur d'autres seuils, puis rajouter des facteurs, bref, plein de boulot :-) Mais ça me pationne :-)

N'hésite pas à me solliciter si tu as besoin d'aide vu qu’apparemment, je suis en avance sur ton projet :-)
Bon par contre en temps libre, j'en ai énormément de mon côté, c'est important pour un tel projet sinon ça va te prendre des mois.

Re: Création d'un algorythme de trading auto perso

par Epitaf » 05 sept. 2015 10:05

Calcul première stratégie sur CAC40 -> OK !!!

J'avais fait des petits calculs avec peu de boucle, mais la je suis passé au niveau supérieur.
Test effectué sur 16 stops, 200 entrées différentes ( au dixième de point ), 20 limites différentes, et 20 autres facteurs soit 1.3 million de boucle.

Une boucle teste la stratégie sur 200+ jours au tick par tick.
Environ 30 heures de calcul

J'ai été freiné par le fichier log qui sortait, plusieurs dizaines de Gio ( 60 de mémoire ). Après épuration, il sort 1.4Gio.

Ensuite gros problème pour le traitement des données, car j'avais 80 millions de trade à analyser ensuite. Je remercie chaleureusement un membre avec qui j'ai pu skyper qui m'a donné la solution. "Seulement" 18 heures de calcul supplémentaires et ça y est !

J'ai vite remis au travail mon pc, il calcule maintenant le DAX.
Ce week-end, j'adapte mes stratégies sur mon TAF et j'espère mes premiers trades lundi !

Re: Création d'un algorythme de trading auto perso

par swapping » 05 sept. 2015 11:15

Vrai Quiche en programmation, je te souhaite bonne chance pour ce projet qui doit être passionnant :top:

Re: Création d'un algorythme de trading auto perso

par Epitaf » 05 sept. 2015 17:22

- Swapping : Oui, il faut être passionné ( ou fou :mrgreen: ), il ne faut pas que je compte le nombre d'heure de développement :-)

- - : Merci pour ton intervention et ton point de vue :)

C'est la deuxième fois aujourd'hui que tu mentionnes Matlab. Je vais décortiquer les nombres que tu avances, Il y a 10 millions de minute en 20 ans. Et ça te prend quelques secondes pour un seul backtest, calcul et analyse.

De mon côté j'ai 20 millions de tick en 1 an.
Un seul backtest me prend ( en moyenne ) 0.084 seconde
L'analyse d'un backtest me prend ( en moyenne ) 0.05 seconde

Soit 0.134 seconde / backtest

En fait je m'approche d'un algorithme génétique. Quand je dis que j'ai réalisé 1.3 millions de boucle, c'est en fait 1.3 million de backtest. La même stratégie calculée inlassablement dixième de point par dixième de point, limite par limite, etc pour obtenir le trade le plus parfait possible.
Alors si un seul backtest me prenait 5 secondes, je serai en train de mélanger alcool et doliprane :lol2:
Je vais me pencher sur ta solution mais pour l'instant le temps de calcul que tu m'avances me semble peu optimisé

Re: Création d'un algorythme de trading auto perso

par Epitaf » 05 sept. 2015 17:55

C'est l'inconvénient de rendre mon travail public, c'est que l'on me demande quel carburant je met dans ma mobylette pour qu'elle aille aussi vite :lol2:

C'est une mixture perso, je veux bien en parler à certains passionné comme toi mais en privé :-) Et si il le faut j'irai encore plus vite avec ton logiciel ;-)

Re: Création d'un algorythme de trading auto perso

par Epitaf » 07 sept. 2015 09:51

Bon je suis passé au DAX, j'ai eu droit à mes 30 heures de calcul, mais par contre l'analyse va me prendre 42 heures au lieu des 20 pour le cac, différence du au nombre de trade qui doit être plus du double, je vais dépasser les 160 millions de trade.

C'est décidé, je vais investir dans de la ram, ainsi je vais pouvoir monter en mémoire beaucoup plus de tableau.

Bon la sur la photo c'est descendu à 3Gio sur 4, je pense que windows cherche à vider en permanence des tableaux ou il doit attendre qu'un tableau soit terminé avant de passer au suivant
IMG_20150907_091820.jpg
IMG_20150907_091820.jpg (64.63 Kio) Vu 1561 fois
Je vais m'acheter 16Gio de ram, ou peut être carrément l'ensemble proc/cm/mv

Et ça y est, mon algo est fonctionnel, minimaliste pour l'instant

Il récupère le cours via api
Je l'ai programmé pour qu'il ne fasse qu'un seul trade à la fois.
Il regarde s'il touche un seuil
Il regarde si le marché est haussier/baissier
Il se fixe des conditions d'entrées -> Si ok, il passe un ordre sur mon compte démo avec limite et stop déjà pré-configuré.

Tant que le trade est présent il est inactif.
Très simple, mais .. pas eu le temps de faire plus pour l'instant, puis chaque soit il va falloir que je passe au crible les graphiques de la journée et vérifier si tout s'est correctement déroulé.
Je vais ensuite l'améliorer par petite touche et vérifier chaque soir qu'il n'y ait pas de bug.

A faire :
Un deuxième algo pour le DAX
Calcul du DOW
Continuer à analyser les calculs et voir si je peux lancer plusieurs ordre sur le même seuil
Créer script détecteur de haute volatilité
Créer nouveau BBT sur seuil N°2
A suivre ..

Re: Création d'un algorythme de trading auto perso

par Epitaf » 07 sept. 2015 13:12

Bonjour -,

Merci pour ton message :-)
Cette file servira au prochain motivé souhaitant se créer son propre algorithme :-)
Je ménage ma monture, je lui ai offert un ventilateur énorme, le noctua d14 et aucun overclooking ;-)

Re: Création d'un algorythme de trading auto perso

par OpenBar » 07 sept. 2015 13:33

Intéressant, ça a l'air très carré. C'est bien.

Petite question : le fait de faire un algorithme génétique, est-ce que ça ne revient pas à faire du "curve fitting" ?

Re: Création d'un algorythme de trading auto perso

par Epitaf » 07 sept. 2015 13:40

Peut-être, je ne connais pas ce terme, c'est quoi ?
Mon concept, je sais d'où partir. Je donne donc tout les éléments à algorithme. Il les décompose et se déplace jusqu'à trouver les conditions optimales

Re: Création d'un algorythme de trading auto perso

par OpenBar » 07 sept. 2015 13:49

Le curve fitting, dans ce domaine, c'est adapter un algorithme à des conditions de marché précises.

Plus l'algorithme colle à certaines conditions, meilleurs seront les résultats sur le backtest. L'inconvénient est que l'algorithme va se spécialiser sur ces cours passés. En présence de nouvelles conditions, son efficacité sera énormément réduite car il sera en quelques sortes "perdu" face à ce monde nouveau.

Un curve fitting extrême serait de lui dire jour par jour ou acheter et ou vendre, aux moments des plus hauts et plus bas du jour. Résultat merveilleux sur le backtest, par contre une fois branché sur le monde présent, le zéro pointé serait assuré.

Re: Création d'un algorythme de trading auto perso

par Epitaf » 07 sept. 2015 15:05

Exact,
L'historique que j'utilise ne dépasse pas 1 an.
Et mon objectif final est de lancer une analyse quotidienne après chaque journée et de vérifier si les meilleures variables le sont toujours et les modifier immédiatement si le marché évolue.

Je ne recherche pas les plus hauts et les plus bas.

Re: Création d'un algorythme de trading auto perso

par recall » 07 sept. 2015 18:45

bonsoir sevice

je n'ai absolument aucune compétence dans ton champ d'application, en revanche j'ai chez moi trois Workstation Z800 hp 2x Quad Core de 48 Go de RAM chacune sur disc SSD
J'en n'ai bien évidemment besoin durant la journée en revanche si tu souhaites m'initier à ta problématique je peux faire tourner mes machines la nuit pour toi!
Bien à toi

Re: Création d'un algorythme de trading auto perso

par Epitaf » 07 sept. 2015 19:28

Bonsoir recall, ta proposition est alléchante, pour l'instant le temps de calcul ne me dérange pas, j'ai beaucoup de travail en attente. Mais j'espère monter d'un cran et encore multiplier mes boucles et mes tableaux, peut-être que j'accepterai ton aide :-) c'est en tout cas très gentil de ta part.

-, je me suis penché sur matlab, ça a l'air de correspondre à mes besoins, spécialisé dans la gestion de tableau. Ça me donne très envie. Mais son coût est prohibitif

Sujets similaires
Scalp gagnant/ Scalp perdant.
par Abime » 14 juil. 2016 12:44 (4 Réponses)
Journal de trading scalp=peur
par Scorpy Trader » 20 août 2015 18:02 (10 Réponses)
Scalp sur indice - Futur ou Index ?
par SenseiTrader1 » 09 oct. 2011 14:25 (14 Réponses)
Actif pr Scalp le soir?
Fichier(s) joint(s) par Matema6757 » 03 juin 2013 15:52 (12 Réponses)
Achat / Vente Rapide pour scalp
par Abdel » 06 sept. 2013 00:49 (23 Réponses)
IG : Choisir son sous-jacent pour du Day/Scalp
Fichier(s) joint(s) par falex » 18 nov. 2013 15:19 (22 Réponses)
Quelle paire Forex pour scalp et daytrade la nuit!!!
par spirou » 16 déc. 2014 00:29 (6 Réponses)
scalp dax 30
par mohai » 25 janv. 2015 18:19 (6 Réponses)
Mes premiers pas en scalp
par raiden500 » 01 févr. 2015 20:24 (1 Réponses)
Scalp de centaine / vous entrez quand ?
par Renaud-C » 13 mai 2015 18:26 (4 Réponses)