ProRealTime
Un Forum pour discuter des méthodes de trading que nous utilisons, de nos recherches...

Re: Backtests en stock

par salador » 22 Déc 2015 18:42

Pour finir, c'est Ross stores qui gagne la palme (159 000), maintenant, pour voir la fiabilité de tout ceci, il va falloir recommencer les mêmes backtests, mais avec des dates de débuts complètement aléatoires, pour voir si le système est fiable peut importe le moment d'entrée.

Ce sera pour ces prochains jours

Re: Backtests en stock

par salador » 22 Déc 2015 20:09

Optimisons, optimisons.

Donc, même principe d'achat, mais sortie de position si croisement à la baisse d'une moyenne mobile 10 calculée sur les plus bas.

Admirez.


Re: Backtests en stock

par plataxis » 22 Déc 2015 21:48

Joli !
Quelques critiques :
1) les drawdowns me semblent considérables
2) le nombre de position me semble faible pour se faire une idée
3) les sociétés choisies sont des sociétés qui ont, je pense, globalement bien marché sur la période. Est-ce que la stratégie aurait limité la casse dans le cas d'une société qui s'est cassé la figure ?

As-tu testé sur un indice ?

Re: Backtests en stock

par salador » 22 Déc 2015 23:08

Un drawdown de 65 000, quand un runup est de 350 000... je trouve pas cela si terrible en fait.
Mais bon, j'ai fait cela à la va vite, pour qu'un backtest soit crédible, je pense qu'il faut :

1 - qu'il marche sur un moins 30-40 actions
2 - sur chacune de ces actions, tester une 20aine de dates de début de test différentes

Si c'est ok pour au moins 80% des backtests, on peut commencer une optimisation, mais à chaque changement, même infime, il faut refaire tous les tests des points 1 et 2.

J'avais utilisé des backtests sur un site de tracker... il y avait moyen d'optimiser sur un tas de critères, de modifier à souhait son bassin de trackers etc...

J'arrivais parfois à des perfs de +3000% en 6-7 ans... sauf qu'il suffisait que je change la date de début du test pour que la perf tombe à -10%... Donc le souci, c'est que le backtest t'indique ce qu'il aurait été parfait de faire dans le passé... mais ne promet rien pour le futur.

Mais si ton backtest donne de bon résultat qu'il commence le 01/01/2007 ou le 20/10/2011, ainsi qu'une 20aine d'autres dates, alors cela devrait indiquer que normalement, peu importe quand tu commences, cela devrait aller.

Pour le choix des actions :
C'est une partie de ma sélection sur base fondamentale. Je ne suis pas assez fou que pour investir long sur une société en faillite ou qui se fait bouffer ses marges par la concurrence. ca ce serait plutot pour un backtest short.

Pour le nombre de positions :
Depuis tout le temps que je fais de la bourse, un constat s'impose, pour les actions du moins, rien de tel que le long terme.
De plus, le backtest ne tient pas compte des dividendes...

Petite idée :
Une fois le backtest validé selon les points 1 et 2, il faut sélectionner les 20 meilleurs titres, et selon les signaux, investir graduellement par tranches de 10%. Au final, si tu es totalement investis, le risque serait réparti sur 10 actions, avec par exemple une diversification monétaire (50% dollars, 50% euros).
Si ton broker le permet, tu investis sur 12 ou 13 actions pour te retrouver investit à 120 ou 130%. le miens le fait via crédit Lombard, cela peut mettre encore un peu plus de beurre dans les épinards...

-> j'ai tenté sur un tracker or, le backtest est négatif, c'est le seul en fait.
-> je pense également regarder l'effet d'un peu de levier, genre 1.3 ou 1.5, mais bon, bcp de boulot en perspective, pas bcp de temps...

Re: Backtests en stock

par salador » 22 Déc 2015 23:31

Petit exemple :

Je prends AB INBEV, et je fait démarrer le backtest le mois précédent chaque signal lancé par le croisement à la hausse du RSI5 et de sa MM2 : depuis 2011, cela me donne 10 signaux, le dernier en septembre 2015.
Les performances, selon la date de début du backtest, vont de 280% à 0.5% pour le dernier.
Je fais un test d'avant crise, soit au 1/01/2007, on commence par une perte, puis on entre en position pour ne plus jamais en sortir et finir avec 26 000 euros, soit un k multiplié par 2.6...

Donc, si j'obtiens le même genre de résultats sur une 20aine d'autres titres, je pourrais dire que ce backtest est concluant.

Qu'en penses-tu?

Re: Backtests en stock

par plataxis » 23 Déc 2015 09:36

Ca parait pas mal. Bizarre la contre performance de l'or : l'exception qui confirme la règle ? Je jetterais un oeuil sur un indice : après tout c'est un panier d'action, ce qui est sensé lisser le risque...

Re: Backtests en stock

par Mister Hyde » 23 Déc 2015 12:05

Sur les backtests d'actions, attention au biais du survivant, que se passe-t-il si tu as applique ton système sur des actions qui ont été délistées. Même avec une sélection rigoureuse on est pas à l'abri d'une magouille comptable, ou d'un évènement exogène qui ruine une société.

J'arrivais parfois à des perfs de +3000% en 6-7 ans... sauf qu'il suffisait que je change la date de début du test pour que la perf tombe à -10%... Donc le souci, c'est que le backtest t'indique ce qu'il aurait été parfait de faire dans le passé... mais ne promet rien pour le futur.


Le backtest ne dit pas ce qu'il aurait été parfait de faire, mais prend les signaux comme ils se présentent. Si tu commences avec $10,000 et que ton premier trade, perdant, emporte plus de 40% de ton capital (exemple du dernier backtest avec une plus grosse perte de $4,200) c'est très difficile de remonter ton capital sans utiliser de levier excessif.

D'ailleurs je ne comprends pas le dernier backtest, comment avec 3 positions perdantes, une perte max de $4,200 et une perte moyenne de $1,700 on arrive à un draw down de $65,000 :shock:

Re: Backtests en stock

par salador » 23 Déc 2015 13:44

Pour le drawdown, faudrait analyser l'affaire, je n'en ai pas le temps en ce moment, mais j'imagine ceci :
Imagine que tu es en gain de 200 000 euros, puis le marché se casse la figure, tu perds donc 65 000 euros, mais ton stop n'est pas déclenché, et le marché repart à la hausse.
Tu as donc bel et bien un drawdown de 65 000 euros, mais comme la perte n'a pas déclenché le stop, cela ne figure pas dans la perte maximale.

Sur mon portefeuille perso, je suis en gain de 18% sur ces 6 derniers mois, avec un pic à 27%; et j'ai pourtant un max drawdown de 12%.

Donc, en résumé, je suis gagnant à long terme, mais mon portefeuille à trébuché de temps à autre, ce qui a provoqué ce drawdown de 12%.

Le biais du survivant : voila pourquoi je préconise la diversification sur au moins une 12aine de titres,
De plus, si je fais une sélection sur base fondamentale pour élaborer un bassin d'actions, il semble évident de faire ses devoirs, et chaque année au minimum, réanalyser les bilans.

Et si un titre est pourri, cela se répliquera sur le cours, qui passera sous sa moyenne mobile 50, pour ne plus repasser au dessus... et les ordre d'entrées ne passerons plus.
Logique, non?

Après, on peut encore plus diversifier : secteurs, pays, devises, continent etc etc etc

Ouvert à tout débat et toutes suggestions! :D

Re: Backtests en stock

par plataxis » 23 Déc 2015 15:23

salador a écrit:
Données mensuelles

Conditions d'achat :
prix>MME50
RSI5 croise à la hausse sa MM2
Je mets le budget initial à chaque ordre, ici 10000 euros


salador a écrit:Optimisons, optimisons.

Donc, même principe d'achat, mais sortie de position si croisement à la baisse d'une moyenne mobile 10 calculée sur les plus bas.


Pas réussi à reproduire la MME50 (file ton code :mrgreen: ), à défaut j'ai pris une MM50 simple et... sur le DAX, 2 positions de février 2012 à septembre 2015 (j'ai pas plus d'historique sur PRT démo). Une gagnante plusieurs fois renforcée, et une perdante. C'est du buy and hold pyramidé finalement...

Je n'ai pas tout vérifié mais je note que les 2 premières entrées sont des bugs : on dirait que le code ne tient pas compte de l'instruction DEFPARAM PreLoadBars = 50 qui est censé indiquer qu'il faut au moins 50 barres d'historique avant de prendre une position (sinon pas de MM50... c'est bête un robot quand même :roll: )
Spoiler:
Code: Tout sélectionner
// Définition des paramètres du code
DEFPARAM CumulateOrders = true
DEFPARAM PreLoadBars = 50

// Conditions pour ouvrir une position acheteuse
indicator1 = close
indicator2 = Average[50](close)
c1 = (indicator1 > indicator2)

indicator3 = RSI[5](close)
indicator4 = Average[2](RSI[5](close))
c2 = (indicator3 CROSSES OVER indicator4)

IF c1 AND c2 THEN
BUY 1 CONTRACT AT MARKET
ENDIF

// Conditions pour fermer une position acheteuse
indicator5 = low
indicator6 = Average[10](low)
c3 = (indicator5 CROSSES UNDER indicator6)

IF c3 THEN
SELL  AT MARKET
ENDIF

Re: Backtests en stock

par salador » 23 Déc 2015 16:45

Bah, ca semble logique que pour calculer une mm50, il faut au moins un historique de 50 mois avant de créer le 1er point.

peut être que ton tracker n' existait pas avant 2012? N'oublie pas que ces produits ne sont pas très anciens, surtout en Europe.

je crée les backtest via la création simplifiée, et la j' écris avec mon téléphone, mais j' essaie s'y penser ce soir


ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé