ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...

Backtesting horaire

par falex » 21 févr. 2013 10:47

Hello,

Pour ne pas trop "polluer" le forum day trading et après discutions avec RogCas, j'initie une fil de discutions pour parler uniquement des backtests et des stratégies que j'ai proposé.

Re: Backtesting horaire

par falex » 21 févr. 2013 10:49

Stratégie DAX UT15 TRENDY Recherche de l'heure d'entrée

Le code ci-dessous cherche le point d'entrée optimal (jour et heure) en fonction du StopWin.
L'entrée se fait sur les horaires du cash (9h00 / 17h30)
La sortie se fait soit sur StopWin soit sur Time stop à 17h30 (GMT+1)

Méthodologie d'analyse de l'optimisation
Pour choisir le bon jour et le bon horaire :
Je tri par "jour"
Pour chaque jour je regarde les horaires qui ont le plus grand gain, je clique dessus pour voir la forme de l'équity-curve et arbitrairement j'élimine celle-qui ne sont pas régulière ou avec n creu en début/milieu/fin trop marqué
En // sur Excel je note les valeur des Drawndow (disponible dans la fenêtre rapport), le % de trade gagant, le gain. ça aide aussi à choisir sans être influencé par la ligne de gain.

Une fois que j'ai arrêté mon choix, je prend le premier code posté, et je rentre pour chaque jour, l'horaire choisi et le SW correspondant.
et je regarde si la sommes des X (de 1 à 5) tests vont bien ensemble et dans le bon sens (croissance la plus rectiligne possible)

Variables (la casse est importante)
- minutes de 0 à 45 par pas de 15 (ne pas oublier de changer la condition <0)
- heures de 7 à 16 par pas de 1
- jour de 1 à 5 par pas de 1
- SW de 5 à 20 par pas de 5 (ou 1 si tu as le courage)

Code : #

//Achat Trendy sur quelle barre et jour ?
    //Variables
    //heures = 14
    //minutes = 45
    once pos = 1
    //SW = 9

    //Traitement de l'entrée
    if (hour = heures and minute = minutes) and (jour = dayofweek) then
        if close < open  then //bougie rouge
            sellshort pos share at market thisbaronclose
        elsif close > open then //bougie verte
            buy pos share at market thisbaronclose
        endif
    endif

    //Traitement Sortie
    //Ajustement en NIGHT pour tenir compte du spread plus élevé
    horaireFut = (time >=070000) AND (time <=204500) //horaire d'ouverture des futurs et donc du spread 1,2/2,2 entre 8h et 22h heure GMT+1
    if horaireFut then
    //Stop Win sur Long
        sell countofposition share at (ENTRYQUOTE + SW) LIMIT
    //Stop Win sur Short
       exitshort countofposition share at (ENTRYQUOTE - SW) LIMIT
    endif

    //stop sur la barre de 16h15
    If time = 161500 then
            sell countofposition share at market thisbaronclose
            exitshort  countofposition share at market thisbaronclose
    endif

Re: Backtesting horaire

par falex » 21 févr. 2013 11:25

Stratégie DAX UT15 CONTRARIANT Recherche de l'heure et du jour d'entrée

Variables
- minutes de 0 à 45 par pas de 15 (ne pas oublier de changer la condition <0)
- heures de 7 à 16 par pas de 1
- jour de 1 à 5 par pas de 1
- SW de 5 à 20 par pas de 5

Code : #

    //Achat Contrariant sur quel barre et jour ?

        //Variables
        //heures = 14
        //minutes = 45
        once pos = 1
        //SW = 9

        //Traitement de l'entrée
        if (hour = heures and minute = minutes) and (jour = dayofweek) then
            if close > open  then //bougie verte
                sellshort pos share at market thisbaronclose
            elsif close < open then //bougie rouge
                buy pos share at market thisbaronclose
            endif
        endif

        //Traitement Sortie
        //Ajustement en NIGHT pour tenir compte du spread plus élevé
        horaireFut = (time >=070000) AND (time <=204500) //horaire d'ouverture des futurs et donc du spread 1,2/2,2 entre 8h et 22h heure GMT+1
        if horaireFut then
        //Stop Win sur Long
            sell countofposition share at (ENTRYQUOTE + SW) LIMIT
        //Stop Win sur Short
           exitshort countofposition share at (ENTRYQUOTE - SW) LIMIT
        endif

        //stop sur la barre de 16h15
        If time = 161500 then
                sell countofposition share at market thisbaronclose
                exitshort  countofposition share at market thisbaronclose
        endif

Re: Backtesting horaire

par Amarantine » 21 févr. 2013 11:38

falex a écrit :Hello,

Pour en pas trop "polluer" la forum Day trading et après discutions avec RogCas, j'initie une fil de discutions pour parler uniquement des backtests et des stratégies que j'ai proposé.
Excellente initiative falex. Je pensais justement à te le proposer en fin de semaine si tu avais continué sur les backtests (les nouveaux inscrits postent parfois énormément au début, puis disparaissent très vite :( )
Et merci pour cette discussion qui a l'air de passionner pas mal de membres.
:bravo: Allez les amis! http://www.servimg.com/image_preview.php?i=2549&u=11654795 :lol:

Re: Backtesting horaire

par DéBé » 21 févr. 2013 13:11

Falex va-t-il devenir pédagogue ?
Nous le saurons au prochain numéro :lol:

Et pour ta peine, un p'tit dessin ;)
Fichiers joints
202_desactive.jpg
202_desactive.jpg (63.61 Kio) Vu 2872 fois

Re: Backtesting horaire

par VinceMan » 21 févr. 2013 14:22

Bonjour Falex,

Je te suit de prés ^^

Re: Backtesting horaire

par falex » 21 févr. 2013 14:27

@Vinceman : as-tu regardé pour ton historique disponible ?

Re: Backtesting horaire

par VinceMan » 21 févr. 2013 14:36

oui, sur mt4 mais c'est ridicule en fait, il n'y a que 3 mois d'histo DAX pas gérable.

De plus j'ai noté des différences de couleur de barres en ut 5 min par rapport à ig et ça ne me plait pas des masses...

Re: Backtesting horaire

par Rogue » 21 févr. 2013 15:30

Allez hop c'est parti pour DAX UT15 TRENDY... la bécane tourne, résultats :

Meilleure performance (en terme de gain) :

% gain : +77.35%
Nbre de trades : 119
% de trades gagnants : 69.75%
Gain moyen : 65
Minutes : 15
Heures : 10
Jour : 2
SW : 20

Démarrage de l'échantillon : 27/09/2010

Tu fais la traduction pratique falex ? :mrgreen:

Re: Backtesting horaire

par falex » 21 févr. 2013 15:44

Est-ce que tu pourrais faire une copie d'écran du tableau de résultat ?
Tu es en GMT ou en GMT+1 sur PRT ? -> Pas d'incidence, le résultat est forcément en GMT, je viens de faire le test.

119 trade ? sachant qu'il y a environ 49 à 52 jours de trade depuis 2010 ça devrait tourner à quelque chose comme :
3 * 50 = 150 trade, Ah mais non l'échantillon commence au mois de septembre 2010, donc 119 ok, c'est fous ça fait à peine le double.

Ou alors est-ce que tu peux trier par "Jour" et donner les 3 plus gros gains par jour s'il te plait ?

Dans le backtest sur IG avec 12 mois d'historique en J2 la meilleur perf était obtenu à 8:15 (GMT).
Je vais refaire tourner de mon côté et regarder ce qui sort en J2 10:15 SW 20
En faisant tourner J2 10:15 SW 20 TRENDY sur 1 an j'obtiens : -65pts de gain, 66% de trade gagnant, ...

En triant par ordre décroisant des gain j'ai dans le top 3 :
8:15 SW 20
8:15 SW 15
8:15 SW 10
puis 12:15 SW 20


Est-ce que l'écart est du au fait que tu backtest sur l'Index, ? ça peut influencer ... à creuser
Ou alors est-ce que PRT calcul de la même manière les gains sur Index, pas sur ... je regarde comment vérifier ces points de mesure

Re: Backtesting horaire

par Rogue » 21 févr. 2013 18:42

Hello, je viens de rentrer, ce petit break m'a fait du bien... du coup je me suis rendu compte que j'avais fait tourner la macro sur le Future CAC et non le DAX. Ah la la fatigue mentale quand tu nous tiens !

Bon, je viens de finir sur le CASH DAX, et c'est pas fameux-fameux...

Meilleure perf en gain : +11,70%
196 trades
73,47% de trades gagnants
5,97 de gain moyen
minutes : 15
heures : 10
jour : 2
SW : 20

Début historique : 30 avril 2009
Petit problème : en juin 2009 tu es à -9900 environ... avant de remonter

Copie du rapport d'optimisation :
DAX_TRENDY.JPG
DAX_TRENDY.JPG (217.03 Kio) Vu 1421 fois

Re: Backtesting horaire

par Rogue » 21 févr. 2013 19:07

Et hop, DAX CONTRARIANT :
DAX_CONTRARIANT.JPG
DAX_CONTRARIANT.JPG (198.84 Kio) Vu 1415 fois
Dis-moi falex, tu penses que ces résultats sont normaux ?

Déjà, tu n'attaques que très peu le capital de départ, c'est mieux que TRENDY... mais pas fameux encore. :?

Re: Backtesting horaire

par VinceMan » 21 févr. 2013 19:12

My 2 cents :
Ces résultats sont plus qu'intéressant, ceci dit je persite et je signe :
comportement le matin <> comportement l'apres midi <> comportement toute la journée

A mon avis tu auras de bien meilleurs résultats en ne mettant pas 161500 (16h15 GMT) comme heure de sortie mais 123000 (12h30 GMT) soit 1 heure avant le premier afflux d'opérateurs US sur futures.

Re: Backtesting horaire

par falex » 21 févr. 2013 19:26

oui l'écart me semble bizare, instinctivement j'aurais tendance à penser qu'une année doit être proche d'une autre. Surtout ce que je trouve bizare ce n'est pas trop le fait que l'heure et le jour soit différent mais plutôt les écarts de gain ...

On va déjà vérifier un point si tu veux bien :
Est-ce que tu peux refaire tourner le backtest en mettant comme 1er jour : 23 ou 24 février 2012 ? (Dans la fenêtre où il y a le code du backtest, en bas)
ça permettra déjà de comparer avec les données d'ig.

Ensuite il y a effectivement l'idée de Vinceman à creuser aussi.

Re: Backtesting horaire

par falex » 22 févr. 2013 11:08

Hello, breack aujourd'hui : pas de trade et je prend le temps de la réflexion et de reposer mes neuronnes.

Une autre constante que j'observe dans mes backtests et qui reprend un peu le débat sur un autre fil :
Si on cherche un TP élevé cela a pour conséquence direct :
- Le gain potentiel est élevé (10 * 52 sera toujours plus petit que 80 * 52)
- Le pourcentage de trade gagnant est toujours plus faible
- Le SL est un vrai souci : souvent plus il est élevé plus le trade a de chance d'être gagnant.

Re: Backtesting horaire

par DéBé » 22 févr. 2013 11:57

falex a écrit :... je prend le temps de la réflexion et de reposer mes neurones.
Heureux pour toi de savoir que tu en possèdes :lol:

Re: Backtesting horaire

par Rogue » 22 févr. 2013 12:22

Et hop, retour dans la partie (je trade pas hein, je m'amuse à backtester les strats de falex...) !

Je vais tout recommencer à zéro, histoire d'être sûr de bien tout faire comme il faut et pas me faire taper sur les doigts par falex ! :mrgreen:

Re: Backtesting horaire

par Rogue » 22 févr. 2013 12:37

Résultats pour le DAX CONTRARIANT UT15 depuis le 23/02/2012 :
DAX_CONTRARIANT_022012.JPG
DAX_CONTRARIANT_022012.JPG (183.11 Kio) Vu 1391 fois
Et hop ! :musique:

Re: Backtesting horaire

par Rogue » 22 févr. 2013 12:54

Partant de ton idée instinctive qu'une année ressemblait à une autre, je te post ci-dessous le résultat du BT sur les dates suivantes (de haut en bas) :
23/05/2011 - 22/05/2012
13/09/2010 - 12/09/2011
01/01/2010 - 31/12/2010
DAX_CONTRARIANT_Annuel.JPG
DAX_CONTRARIANT_Annuel.JPG (165.33 Kio) Vu 1390 fois

Re: Backtesting horaire

par falex » 22 févr. 2013 16:01

Je ne tape personne, je vous rassure. Merci pour ton aide.

Oui Débé, il m'en reste encore quelques un après toutes ces années à faire fonctionner ma pauvre cervelle :-)

Merci RogCas.
1er analyse : Comme ton échantillonage est de type "Index" il faut obligatoirement éliminer les trades qui sont ouvert sur les barres de 16h30 et 16h45 car il ne "joue" pas de la même manière, j'explique :
Tous les trades initié avant 16:15 sont fermé à la cloture du cash soit 16h30 (GMT). Mais comme il y a le fixing quelques minutes après, prt enregistre deux barre à 16h30 et 16h45. Donc de facto, les trades commençants à 16h45 passe la nuit au chaud puis sont fermé le lendemain.
On pourrait modifier le code pour ne pas ouvrir de position après 16h15 mais on fera avec.

Une fois que l'on éliminé les intrus, je constate que les trades ouverts sur barre de 9h00 en J5 SW 20 on été gagnant en 2010/2011 mais pas en 2012 (je ne le vois pas dans le tableau).
Sur 2011/2012 c'est la barre de 11:00 J2 SW20 qui est bien placé.

Donc premier constat : sur un échantillon de presque 3 ans, il n'y a pas de tendance "absolue", ce qui conforte l'idée que la bourse est imprevisible.
Il se dégage tout de même quelque "horaire/jour/SW" qui semble être gagnant.
Un peu comme Benoit qui monte 3 idées pour en avoir au moins une ou deux gagnante et donc "supporter" le coût de la 3ème, cela renchérie mon idée qu'il faut obligatoirement jouer plusieurs scénarii en // afin de compenser les mouvements isolés de chaque stratégie.

RogCas afin d'analyser les gains, peux-tu faire un screenshot de l'onglet "Position" que tu trouveras dans le tableau de "Rapport détaillé" (qui s'ouvre quand tu as fini les tests). Le but est de voir comment compte prt chaque points gagné perdu. Par exemple sur prt/ig chaque points vaut 10€ (quelque soit le contrat). C'est l'info de la colonne "Perf abs".

Petit truc, dans tous les tableaux, si tu maintiens, via un clique gauche le titre d'une colonne tu peux la déplacer à gauche/droite. Je fais ça pour mettre dans l'ordre "Heures" et "Minutes" au moins.

Sujets similaires
backtesting horaire cash
par LVO » 21 févr. 2014 10:05 (4 Réponses)
backtesting : utile ??
Fichier(s) joint(s) par kapistar » 09 févr. 2013 09:06 (25 Réponses)
Backtesting PRT
par thomas1531 » 04 juil. 2013 00:21 (8 Réponses)
Backtesting Most important ?
par GOLDS » 27 déc. 2013 23:10 (15 Réponses)
reglage fenetre backtesting
par adibool » 24 févr. 2014 15:25 (4 Réponses)
Avis sur backtesting
par Tulipe » 14 juin 2014 01:18 (10 Réponses)
Petite question sur le backtesting
par Benoist Rousseau » 04 mars 2015 11:44 (9 Réponses)
HELP Backtesting - stop loss pas exécuté !
par plataxis » 29 juil. 2016 17:49 (3 Réponses)
Backtesting
par Benoist Rousseau » 04 août 2017 15:12 (12 Réponses)