Bonjour à tous,
Merci Fred pour ton système. Où en es-tu avec la NRTR et les backtests?
Dans le prolongement de mes posts sur le filtre de Hodrick-Prescott, je vous propose les bases d'un petit système de trading qui l'utiliserait.
Ceci n'est qu'un proto qui demandera des vérifications/améliorations ultérieures sans doute.
Comme montré dans le post "Anatomie d'un effet de bord" à :
http://www.pro-at.com/forums-bourse/bourse-Informa...
on pourrait profiter du mécanisme de "repeinte du passé" du filtre pour entrer/sortir au mieux.
Structure des progammes :
Les programmes "HODRICK_PRESCOTT" et "HP_CONV_CONC" ont déjà été présentés page 132 de la file [Graphe AT PRo : programmation].
Il reste à écrire le programme qui va élaborer les signaux d'achat/vente.
Une solution qu'on peut qualifier de "prudente" consisterait à entrer/sortir après la phase de rectification telle que présentée dans le post "Anatomie d'un effet de bord" dans la file citée ci-dessus.
Les règles d'achat/vente sont très simples. Elles sont implémentées dans la programme "HP_AV" ci-dessous.
Programme HP_AV :
//========
//HP_AV
//========
//v1.0
//30/11/2008
//smallcaps90
//================
Achat = Flag=0 //Flag assure l'alternance des op d'achat et de vente
ET
((HP_CONV_CONC.BAISSE_FIN(3)<>0 OU HP_CONV_CONC.BAISSE_DEBUT(3)<>0)
ET
HP_CONV_CONC.HAUSSE_DEBUT(2)<>0
ET
NON(HP_CONV_CONC.BAISSE_DEBUT(0))
ET
NON(HP_CONV_CONC.HAUSSE_FIN(0)))
Si Achat=1 Alors Flag=1
Vente = (Flag=1)
ET
((HP_CONV_CONC.HAUSSE_FIN(3)<>0 OU HP_CONV_CONC.HAUSSE_DEBUT(3)<>0)
ET
HP_CONV_CONC.BAISSE_DEBUT(2)<>0
ET
NON(HP_CONV_CONC.HAUSSE_DEBUT(0))
ET
NON(HP_CONV_CONC.BAISSE_FIN(0)))
Si Vente=1 Alors Flag=0
//fin du code
Fenêtre Propriétés :
Visualisation des signaux d'achat/vente sur Alstom daily :
Un test effectué avec les programmes fournis par MLOG, qui ne tiennent pas compte des frais de bourse ni du slippage, donne de très bons résultats, c'est même trop beau pour être vrai, chercher la faille...
Pour faire ce test il suffit d'écrire dans "Trading System 2" le programme qui suit qui récupère les signaux d'ACHAT/VENTE émis par le programme "HP_AV" :
//=================
// Trading System 2
//=================
//Système HODRICK_PRESCOTT
//01/12/2008
//smallcaps90
//=========================
//Si RangHisto>FinHisto-500 Alors //si on veut limiter le nombre de périodes testées à 500 par exemple
ACHAT=HP_AV.ACHAT=1
VENTE=HP_AV.VENTE=1
SIGNAL = ACHAT-VENTE
//FinSi
//=========================
Remarque :
Vous pourriez faire l'économie du programme "HP_AV" si vous le souhaitez en écrivant directement ses règles dans "Trading System 2".
J'ai choisi d'effectuer chaque opération au cours de Cloture du jour du signal d'achat/vente émis.
Il faut donc faire P1=0 dans le programme "Trad Gains 2"
faire aussi P2=0( pas de stop ici évidemment) et P3=0 (pas de liste complète des opérations dans le bilan final).
Sur Alstom daily cela donne :
Le bilan du test :
======================================================
RAPPORT DES OPERATIONS D'ACHAT/VENTE
(Strategie 'Stop And Reverse')
======================================================
Alstom FR0010220475
Date début backtest : 03/01/2005
Date fin backtest : 28/11/2008
Nombre de barres testées : 827
NOMBRE TOTAL D'OPERATIONS : 45
Nombre d'opérations gagnantes : 36 (soit 80%)
Nombre d'opérations perdantes : 9 (soit 20%)
TOTAL DES GAINS : 178,75
Gains des opérations gagnantes : 191,37
Gains des opérations perdantes : -12,62
MOYENNE DES GAINS : 3,97
Moyenne des gains des opérations gagnantes : 5,32
Moyenne des gains des opérations perdantes : -1,4
Meilleure opération gagnante : 23,72
Plus petite opération gagnante : 0,2
Plus grande opération perdante : -3,9
Plus petite opération perdante : 0
Maximum d'opérations gagnantes consécutives : 10
Gain : 43,62
Maximum d'opérations perdantes consécutives : 2
Perte : -3,9
MAXDRAWDOWN : -5,04 constatée le 25/09/2008
======================================================
Une tactique plus "optimiste" consisterait à entrer/sortir dès la phase de basculement. Le programme "HP_AV" deviendrait :
//========
//HP_AV
//========
//v1.0
//30/11/2008
//smallcaps90
//================
Achat = Flag=0 //Flag assure l'alternance des op d'achat et de vente
ET
((HP_CONV_CONC.BAISSE_FIN(2)<>0 OU HP_CONV_CONC.BAISSE_DEBUT(2)<>0)
ET
HP_CONV_CONC.HAUSSE_DEBUT(1)<>0
ET
NON(HP_CONV_CONC.BAISSE_DEBUT(0))
ET
NON(HP_CONV_CONC.HAUSSE_FIN(0)))
Si Achat=1 Alors Flag=1
Vente = (Flag=1)
ET
((HP_CONV_CONC.HAUSSE_FIN(2)<>0 OU HP_CONV_CONC.HAUSSE_DEBUT(2)<>0)
ET
HP_CONV_CONC.BAISSE_DEBUT(1)<>0
ET
NON(HP_CONV_CONC.HAUSSE_DEBUT(0))
ET
NON(HP_CONV_CONC.BAISSE_FIN(0)))
Si Vente=1 Alors Flag=0
//fin du code
Le test donne bien sûr de meilleurs résultats :
Bilan :
======================================================
RAPPORT DES OPERATIONS D'ACHAT/VENTE
(Strategie 'Stop And Reverse')
======================================================
Alstom FR0010220475
Date début backtest : 03/01/2005
Date fin backtest : 28/11/2008
Nombre de barres testées : 827
NOMBRE TOTAL D'OPERATIONS : 67
Nombre d'opérations gagnantes : 61 (soit 91,04%)
Nombre d'opérations perdantes : 6 (soit 8,96%)
TOTAL DES GAINS : 293,29
Gains des opérations gagnantes : 297,97
Gains des opérations perdantes : -4,68
MOYENNE DES GAINS : 4,38
Moyenne des gains des opérations gagnantes : 4,88
Moyenne des gains des opérations perdantes : -0,78
Meilleure opération gagnante : 19,67
Plus petite opération gagnante : 0,21
Plus grande opération perdante : -2,5
Plus petite opération perdante : 0
Maximum d'opérations gagnantes consécutives : 15
Gain : 76,72
Maximum d'opérations perdantes consécutives : 2
Perte : -2,5
MAXDRAWDOWN : -10,51 constatée le 22/01/2008
======================================================
Il reste à mettre ces systèmes à l'épreuve des faits.
Mais vous avez sans doute déjà quelques remarques à formuler, n'hésitez donc pas à vous exprimer.
Si vous êtes plutôt intéressés par une règle statistique, pas de problème je peux la développer.
Merci par avance.
Cordialement.
édité le : 01-12-2008 21:13:32