Besoin d'aide pour l'optimisation des résultats - page 3

 
Invalid:

Je trouve difficile de décider d'un paramètre optimal à partir du résultat d'une optimisation.

Quelqu'un pourrait-il me dire quel est le meilleur choix à faire à partir du résultat d'une optimisation, le plus faible drawdown, le facteur de profit ou tout autre élément que je devrais prendre en compte ?

Merci !


Juste pour partager mon expérience à ce sujet, j'ai fait une analyse discriminante sur ces 6 colonnes pour voir si je pouvais deviner quels paramètres seraient les plus performants en avant par rapport à un choix aléatoire et ma conclusion est que ce n'est pas utilisable : Il choisit les meilleurs lorsque l'agent est adapté au marché et choisit les moins bons lorsqu'il ne l'est pas, sans être capable de savoir s'il est adapté au moment présent.
Avec l'agent que j'ai utilisé, la colonne la plus discriminante était le nombre de transactions, et le meilleur choix était une sorte d'équilibre subtil entre le nombre de transactions, le profit et le drawdown, mais je ne pouvais pas exprimer une règle claire.

Maintenant, j'essaie ce que zzuegg suggère : Je prends chaque paramètre rentable de l'optimisation et je le teste dans le passé afin de conserver les meilleurs. L'idée est d'avoir des paramètres qui sont à la fois adaptés au marché à court et à long terme. Comme vous pouvez l'imaginer, le but est de faire une optimisation automatique.

 
pindurs:


Juste pour partager mon expérience, j'ai fait une analyse discriminante sur ces 6 colonnes pour voir si je pouvais deviner quels paramètres seraient les plus performants par rapport à un choix aléatoire et ma conclusion est que ce n'est pas utilisable : Il choisit les meilleurs lorsque l'agent est adapté au marché et choisit les moins bons lorsqu'il ne l'est pas, sans être capable de savoir s'il est adapté au moment présent.
Avec l'agent que j'ai utilisé, la colonne la plus discriminante était le nombre de transactions, et le meilleur choix était une sorte d'équilibre subtil entre le nombre de transactions, le profit et le drawdown, mais je ne pouvais pas exprimer une règle claire.

Maintenant, j'essaie ce que zzuegg suggère : Je prends chaque paramètre rentable de l'optimisation et je le teste dans le passé afin de conserver les meilleurs. L'idée est d'avoir des paramètres qui sont à la fois adaptés au marché à court et à long terme. Comme vous pouvez l'imaginer, le but est de rendre l'optimisation automatique.


IMO, utiliser l'optimiseur comme un générateur d'espoir peut être une affaire délicate. Comme Phillips le dit toujours "c'est comme si on attendait du marché qu'il se comporte exactement comme il l'a fait pendant les périodes d'optimisation". L'optimiseur est un "cruncher" qui adapte les résultats en fonction (généralement) de sl_tp ou period_time. Pour en avoir fait l'expérience moi-même, je soupçonne que beaucoup de paramètres prometteurs ont des performances médiocres en dehors des périodes d'optimisation ou dans les tests à terme.

Il faut créer des stratégies indépendantes de l'Optimizer, les tester sur les données de 2010 et, si elles sont prometteuses, passer à 2009, 2008, 2007, etc. Même avec les meilleurs résultats de ces 10 dernières années, il faut garder son sang-froid et ne pas penser que l'on a le Saint Graal car il n'existe pas. Toute stratégie employée sur le marché comporte des risques, comme des risques incontrôlables par exemple.

IMO, la meilleure utilisation d'outils comme ceux fournis par Phillip, Gordon, WHRoeder, BB et tous les autres analystes/programmeurs doués de ce site, est d'aider à comparer si le système A est meilleur que le système B. Alors, est-ce que j'ai créé un système qui passe le back-test de 10 ans au premier passage ? ... bien sûr que non. Mais dernièrement, j'ai programmé plus de systèmes qui fonctionnent bien en 2010->2008 et qui se cassent quelque part en cours de route. C'est un progrès par rapport aux programmes des manuels pour débutants qui ressemblaient à si RSI>80 && MA-1 croise MA-2 alors Vendez. Tirer un système comme celui-là à travers le back-tester échouerait 99% du temps. Ensuite, la plupart des gens tombent dans le piège de le faire passer par l'Optimiseur.

Avec mes systèmes nouvellement formés, je suis toujours tenté de regarder les courtes périodes où il n'a pas bien fonctionné et de trouver des moyens de les exclure du système. Mais je crains que ce ne soit qu'une autre forme d'ajustement des courbes. Je ne parle pas seulement de codage en dur (lundi 1-5-2003 = ne pas trader), ce serait tout simplement faux, lol. Je parle de l'utilisation de tout type d'indicateur ou d'oscillateur. Quand un système échoue comme ça, la meilleure approche pour moi est d'enregistrer ce qui fonctionne en mémoire et d'archiver l'EA, puis de recommencer à programmer depuis le début.

Quoi qu'il en soit, joli fil de discussion. J'aime beaucoup le suivre.

 
ubzen:


Avec mes systèmes nouvellement formés, je suis toujours tenté de regarder les courtes périodes où il n'a pas bien fonctionné et de trouver des moyens de les exclure du système. Mais je crains que ce ne soit qu'une autre forme d'ajustement des courbes. Je ne parle pas seulement du codage en dur (lundi 1-5-2003=ne pas trader) qui serait tout simplement faux lol. Je parle de l'utilisation de tout type d'indicateur ou d'oscillateur. Lorsqu'un système échoue comme cela, la meilleure approche pour moi est d'enregistrer ce qui fonctionne en mémoire et d'archiver l'EA, puis de recommencer à programmer depuis le début.

Oui, et j'ai aussi essayé de découper l'historique en plusieurs périodes distinctes selon différents niveaux de pente ou d'ATR, mais l'optimisation sur des périodes discontinues est plus ou moins comme l'optimisation sur les trois derniers mois, le risque d'ajustement de la courbe est toujours là comme au premier jour.

La chose la plus difficile à comprendre est que même lorsque vous arrivez à un agent qui est rentable sur les 10 dernières années lorsqu'il est optimisé sur les derniers mois avec des valeurs de grande amplitude, vous ne savez toujours pas à quel point vous sur-optimisez sur les données historiques, car pour y arriver vous avez jeté des centaines de bonnes idées, ce qui est exactement ce que fait l'algo génétique de l'optimiseur.

Non, vraiment, nous avons un travail difficile.

 
1005phillip:

La façon dont vous utilisez les calculs de risque de perte est de définir une période de temps (mensuelle, hebdomadaire, annuelle, etc.), ou un incrément quelconque (par transaction, par 10 transactions, etc.), et ensuite vous rassemblez les statistiques pour ces périodes. Il est important de savoir ce que le résultat du calcul du risque de ruine signifie réellement (ses unités).

Parfois, il est utile de s'assurer d'abord que vous posez la bonne question (en d'autres termes, assurez-vous que la réponse que vous essayez de calculer va réellement répondre à la question à laquelle vous voulez répondre).

Par exemple, mes clients fonctionnent sur une base mensuelle. Ils ne se soucient pas de l'aspect quotidien ou hebdomadaire, pour eux, tout ce qui compte, ce sont les résultats mensuels. Dans mon cas, il n'est donc pas utile que je calcule le risque de ruine pour les résultats hebdomadaires ou pour chaque transaction.

En conséquence, ce que je dois faire dans le backtest, c'est capturer le taux de rendement moyen (profits, pertes, ROR, etc.) sur une base mensuelle. Quelque chose comme ce qui suit :


Pour calculer le risque de ruine, vous devez d'abord rassembler les données pour votre période de temps. Dans mon cas, dans cet exemple, je devais rassembler les résultats des taux de rendement mensuels, calculer le ROR mensuel moyen et ensuite calculer l'écart type de ces taux de rendement mensuels.

Dans cet exemple, le taux de rendement mensuel moyen était de 12 % avec un écart type de 8 %... d'après les résultats du backtesting, cela aurait dû être une valeur sûre pour l'avenir, mais ce n'est pas le cas (comme vous pouvez le voir). Notez que je fais référence au risque de ruine en tant que risque de perte (ROL) car je ne suis pas intéressé à savoir quand mon compte sera ruiné (c'est la question triviale) mais plutôt à savoir à quelle fréquence je dois m'attendre à ce que le compte soit sous-dimensionné d'un montant fixe, disons 20%.

Ainsi, un taux de rendement mensuel de 12 % avec un écart type de 8 % signifie que je peux m'attendre à ce que mon compte subisse une perte de valeur de 7,4 % environ 6,5 % du temps (6,5 % des événements de fin de mois, soit environ une fois tous les 15 mois).



Ainsi, alors que j'ai été initialement pris au dépourvu par le résultat apparemment inexplicable du test avant, il était parfaitement raisonnable de s'attendre à un tel résultat mensuel sur la base des résultats du backtesting, une fois tous les 15 mois je peux m'attendre à un tel drawdown négatif sur le point culminant de mon compte.

Vous voyez donc que pour calculer une évaluation significative du risque de perte, vous devez d'abord décider quelle période est pertinente pour vous, puis vous devez rassembler les résultats sous une forme qui permette de calculer la moyenne et l'écart type du RdR sur cette période.

Une fois que vous disposez des données du backtest, vous pouvez effectuer une myriade d'analyses statistiques en utilisant les calculs du risque de ruine (ou du risque de perte, comme j'aime l'appeler).

voici mes résultats pour 30 groupes de 50 transactions ( du 18/03/2001 au 21/12/2010 )

avec un dépôt initial de 700


pour le suivant j'ai calculé le :

ROR moyen de => 2,9

écart-type de => 6.5%.

(ce qui est assez mauvais.... n'est-ce pas ? )

maintenant pour chaque groupe de 50 trades... le pourcentage maximum de perte que je peux attendre est : $0.1 X 50 X (20pips+3pip spread ) = $115

115/700 = 16.5%

Je ne peux pas perdre plus que cela par session de 50 transactions.

Y a-t-il un moyen de prendre cela en considération lors du calcul du risque de perte ?

 
sergeyrar:

pour la suite, j'ai calculé le :

ROR moyen de => 2,9

écart-type de => 6,5%.

(ce qui est assez mauvais.... n'est-ce pas ? )


Oui, vous voulez que votre ratio μ/σ soit >1, de préférence 2 au minimum.

Et Sharpe n'est pas suffisant, la valeur σ elle-même compte dans la détermination du ROL à une valeur Sharpe donnée (c'est un fait moins connu, mais c'est la raison fondamentale pour laquelle l'effet de levier est problématique et c'est pourquoi la CFTC réduit l'effet de levier maximum aux États-Unis).



C'est pourquoi il existe un mantra selon lequel "le bêta tue". Le meilleur μ du monde ne va pas sauver votre compte d'un risque de ruine éventuel si le σ est grand. L'effet de levier rend le σ important, le dimensionnement excessif des positions rend le σ alors que les gens recherchent de grands μ.

Mais si la seule façon d'obtenir un grand μ est de rendre σ grand, alors vous êtes prédestiné à la ruine. C'est une certitude mathématique que beaucoup ne sont pas prêts à comprendre ou à étudier, alors la CFTC va le faire pour eux en imposant un plafond sur la taille de σ en retirant aux novices la possibilité de composer des positions de grande taille.

Il y a beaucoup d'indignation dirigée contre la CFTC au sujet de ses contrôles de l'effet de levier sur le marché des changes, mais la CFTC essaie vraiment de sauver les gens de leurs propres pires ennemis.

sergeyrar:

maintenant pour chaque groupe de 50 trades... le pourcentage maximum de perte que je peux attendre est : $0.1 X 50 X (20pips+3pip spread ) = $115

115/700 = 16.5%

Je ne peux pas perdre plus que cela par session de 50 transactions.

Y a-t-il un moyen de prendre cela en considération lors du calcul du risque de perte ?


Le risque de perte lui-même est une distribution de probabilité, la valeur maximale que vous risquez de perdre (115 $) n'est qu'un point de cette distribution. Ce qui vous intéresse probablement, c'est de savoir à quelle fréquence un tel scénario est susceptible de se produire. Subirez-vous une perte de 115 $ une fois tous les 5 ans ou une fois tous les 5 mois ?

C'est à ces questions que vous répondez en utilisant le RdL : " À quelle fréquence dois-je m'attendre à perdre XYZ ? " Vous demandez quelle est la probabilité que vous perdiez 115 $, le RdL maximum autorisé en fonction de vos étapes, et la réponse est 9 %.

 
sergeyrar:

Oh...

Il y a une chose que je ne comprends toujours pas.... n'y a-t-il pas d'autres facteurs qui influencent ce calcul ?

Prenons vos résultats ROR calculés sur une base mensuelle.

Supposons (pour les besoins de l'argumentation) que plus il y a de transactions dans un mois, plus le ROR est élevé.

par exemple : pour 0 transaction, vous gagnez 0%.

pour 10 transactions vous gagnez 5% (en moyenne)

pour 20 trades vous gagnez 10% (en moyenne)

et ainsi de suite...

Supposons que pour cette période de 30 mois, il y ait une grande dispersion des valeurs dans la distribution du ROR (pour chaque mois, il y a un nombre complètement différent de trades effectués).

de sorte que le rendement moyen soit de 10 % et l'écart type de 20 % et qu'il n'y ait pas de ROR négatif (on ne peut pas avoir un nombre négatif de transactions...).

maintenant le calcul du risque de perte d'un écart type de 20% nous donne approximativement 37% ... ce qui n'a pas vraiment de sens...

Vous voyez où je veux en venir ?


Je n'essaie vraiment pas d'être stupide, mais je ne vous suis pas. Je ne comprends pas l'argument que vous avancez ici. Tirez à pile ou face 10 fois par mois, ou 20 fois par mois, la probabilité d'obtenir face est toujours de 50/50 à chaque essai, quelle que soit l'histoire des tirages à pile ou face jusqu'à présent. Le fait que la réalité des tirages à pile ou face diffère parfois des statistiques ne rend pas ces dernières invalides, mais simplement d'une utilité limitée.

L'objectif du calcul de la RdL est que c'est quelque chose qui est mathématiquement valide, mais ce n'est pas garanti. Il s'agit simplement d'un guide, d'une manière d'évaluer les résultats, qui permet de mieux capturer et présenter le risque indicatif (systématique) de votre stratégie commerciale. Mais le hasard n'est que cela, le hasard. Il y a une chance que vous ne subissiez jamais de perte, et il y a une chance que vous subissiez une perte totale.

RoL vous aide à calculer ce hasard d'une manière qui se prête à un classement et à une sélection de stratégies commerciales et de paramètres optimisés. Ce n'est pas le Saint Graal, car il ne peut pas prédire l'avenir, mais si l'avenir est statistiquement comparable au passé, vous pouvez légitimement tenter de faire correspondre les statistiques du passé à celles de l'avenir (c'est ce que font les modélisateurs météorologiques en préparant leurs prévisions à l'aide d'ensembles de modèles) dans le but non pas de prédire le marché futur, mais simplement de prédire le caractère statistique du marché futur.

C'est à peu près le mieux que l'on puisse espérer, vraiment.

 

Merci beaucoup pour votre temps ! J'apprécie vraiment cela

Donc, d'après les résultats des tests suivants, j'ai eu beaucoup de chance...

le nombre maximum de trades perdants consécutifs pour toute cette période (sur environ 23 groupes de 50 trades - je n'ai pas pu tout mettre dans un seul test) a été de 41 (qui peuvent être répartis entre 2 groupes de 50 trades).

J'aurais dû voir ce type de drawdown plus fréquemment ?

Finalement, si je continue à "jouer" à ce jeu, j'obtiendrai 9 % du temps ce type de perte ?

Encore une chose

Selon ce rapport

la probabilité moyenne pour moi d'avoir un trade profitable est de 8.85% et un trade perdant est de 91.15%.

donc selon ce rapport, la probabilité d'avoir 50 pertes consécutives est de : 0.9115^50 = 0.97% ...

ce qui est assez éloigné de 9% ... comment est-ce possible ?

Si je devais perdre par 95,3% du temps, ce serait correct, et avec un tel pourcentage mon espérance serait négative O_O

Ex= 0.953*(-23)+0.047*(247) = -10.31 pips de profit par trade

 

Je constate que vous attribuez aux distributions la forme fonctionnelle d'une distribution gaussienne alors que, d'après ce que j'ai compris, les calculs du risque de ruine ont été effectués sur la base d'anticipations de processus poisson/stochastique.

Si vous voulez comprendre la dérivation des équations, je vous recommande de poursuivre la lecture du livre suivant : The Theory of Stochastic Processes by Cox and Miller

Ce sont les auteurs cités des équations de risque de ruine.

Dans le cadre de mes propres travaux visant à mettre en œuvre l'évaluation du risque de perte dans mes caractérisations de backtest/forward test, j'ai pris les équations de Cox et Miller ainsi que de Chamness, effectué quelques substitutions simples de variables et (IMO) une étape d'intégration utile et l'équation résultante m'aide à classer les paramètres de stratégie commerciale sur la base d'un risque de perte sur une base ROR normalisée. (similaire à 1 sur le RAROC)

 
1005phillip:

Une chose que je vois ici, c'est que vous attribuez aux distributions la forme fonctionnelle d'une distribution gaussienne alors que je crois comprendre que les calculs du risque de ruine ont été dérivés sur la base d'attentes de processus poisson/stochastique.

Si vous voulez comprendre la dérivation des équations, je vous recommande de poursuivre la lecture du livre suivant : The Theory of Stochastic Processes by Cox and Miller

Ce sont les auteurs cités des équations de risque de ruine.

Dans le cadre de mes propres travaux visant à mettre en œuvre l'évaluation du risque de perte dans mes caractérisations de backtest/forward test, j'ai pris les équations de Cox et Miller ainsi que de Chamness, effectué quelques substitutions simples de variables et (IMO) une étape d'intégration utile et l'équation résultante m'aide à classer les paramètres de stratégie commerciale sur la base d'un risque de perte sur une base ROR normalisée. (similaire à 1 sur le RAROC)


C'est une erreur de la traiter comme je le fais (comme une distribution guassienne) ?

J'ai l'impression que c'est un livre lourd

mais je l'ai quand même acheté... je vais essayer de m'y plonger et de le comprendre.

Merci !

 

Ce n'est pas faux, c'est juste que cela ne vous donnera pas les résultats que vous pensez obtenir.

Par exemple, il n'est pas faux de dire "1+1 = 2"... car le calcul est évidemment correct.

Mais vous auriez tort de dire "1+1=2, cela signifie que je peux m'attendre à doubler mon compte en 6 mois, car le nombre obtenu par mes calculs est un 2".

Quoi qu'il en soit, vous voudrez diriger votre attention vers les dérivations qui mènent à l'équation 91 à la page 61.