tests multiples

36 réponses

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #114121

Bonjour,

 

Il est bien connu que la méthodologie utilisée dans la stratégie quan introduit une fausse découverte des stratégies.

 

http://link.brightcove.com/services/player/bcpid2207682327001?bckey=AQ~~,AAAAt6-8xFk~,r8nyyutNWdB9cOzqmiiiQxC0oXMNGP7d&bclid=2204845638001&bctid=3878525144001

http://eranraviv.com/multiple-testing/
 

http://www.financial-math.org/

 

voir aussi David H. Bailey, Jonathan M. Borwein, Marcos Lopez de Prado et Qiji Jim Zhu, "Pseudo-mathematics and financial charlatanism : The effects of backtest over fitting on out-of-sample performance," (Pseudo-mathématiques et charlatanisme financier : les effets du surajustement du backtest sur la performance hors échantillon) Notices of the American Mathematical Society (en anglais), mai 2014, pg. 458-471

 

Pouvez-vous présenter la mesure de la probabilité d'overfitting des backtests ?

 

Krzysztof

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #132929

J'ai constaté qu'en général, les résultats du backtest de SQ et ceux de MT4 s'alignent. Si ce n'est pas le cas, je soupçonne que le backtesting de MT4 n'est pas correct. Pour que MT4 puisse faire des backtests correctement, il faut le support d'une tierce partie comme la Tick Data Suite de Birt.

 

On dirait que vous avez pris votre décision, SQ et EA analyzer ne sont pas les produits qu'il vous faut pour l'instant. Peut-être que certaines versions futures correspondront à ce que vous recherchez.

 

Bonne chance dans vos activités commerciales.

J'ai oublié une chose. Bien entendu, le fait de ne pas prendre en compte le biais dû aux tests multiples contamine l'ensemble de l'analyse de robustesse, car les données d'entrée (stratégie choisie) sont biaisées, ce qui constitue également un obstacle à la démonstration.....

 

Le backtester MT4 est OK, ce qui ne l'est pas, ce sont les fonctions internes de MQL comme iMAOnArray, iRSI et d'autres. J'ai eu le même problème avec la non-concordance entre MT4 et MATLAB, mais lorsque j'ai remplacé ces fonctions par des fonctions MQL personnalisées, tout est rentré dans l'ordre.

 

Personnellement, je pense que SQ et EA sont des outils formidables car même avec ce que j'ai écrit, ils ont une longueur d'avance sur la concurrence grâce, par exemple, à la possibilité d'extension personnalisée, mais il est certain qu'ils ont besoin de plus de travail.

 

Krzysztof

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 8 ans #133207

Krysztof, j'ai lu ces articles il y a déjà un certain temps, et je voudrais incorporer certaines des choses qui y sont mentionnées dans le nouveau SQ 4.

 

Mais surtout, nous développons le nouveau SQ 4 comme un système plus ouvert et plus extensible, ce qui vous permettra, en tant qu'utilisateur, d'ajouter des fonctions comme celles-ci au programme avec plus ou moins de programmation.

 

En ce qui concerne les différences entre SQ et MT4, il s'agit d'un thème récurrent, et le problème se situe généralement au niveau des données ou des paramètres de test. De petites différences dans les données ou les paramètres peuvent avoir un impact sur les résultats - seulement 1 ou 2 trades manqués peuvent faire une très grande différence.

Lorsqu'il est exécuté sur les mêmes données et paramètres, le test dans SQ est virtuellement équivalent à NT4, à l'exception de petites erreurs d'arrondi - qui peuvent parfois créer une grande différence dans certaines stratégies.

 

Mais ce qu'il est important de comprendre, c'est que si une stratégie a des backtests différents dans SQ et mT4, cela peut aussi signifier qu'elle n'est pas assez bonne - parce que chaque test n'est qu'une approximation.
Votre trading réel sera encore différent de n'importe quel backtest et votre bonne stratégie devrait être capable de fonctionner dans un environnement modifié.

Il suffit de rejeter ces stratégies et d'en chercher d'autres.

Marque
StratégieArchitecte de Quantités

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133226

Krysztof, j'ai lu ces articles il y a déjà un certain temps, et je voudrais incorporer certaines des choses qui y sont mentionnées dans le nouveau SQ 4.

 

Mais surtout, nous développons le nouveau SQ 4 comme un système plus ouvert et plus extensible, ce qui vous permettra, en tant qu'utilisateur, d'ajouter des fonctions comme celles-ci au programme avec plus ou moins de programmation.

 

En ce qui concerne les différences entre SQ et MT4, il s'agit d'un thème récurrent, et le problème se situe généralement au niveau des données ou des paramètres de test. De petites différences dans les données ou les paramètres peuvent avoir un impact sur les résultats - seulement 1 ou 2 trades manqués peuvent faire une très grande différence.

Lorsqu'il est exécuté sur les mêmes données et paramètres, le test dans SQ est virtuellement équivalent à NT4, à l'exception de petites erreurs d'arrondi - qui peuvent parfois créer une grande différence dans certaines stratégies.

 

Mais ce qu'il est important de comprendre, c'est que si une stratégie a des backtests différents dans SQ et mT4, cela peut aussi signifier qu'elle n'est pas assez bonne - parce que chaque test n'est qu'une approximation.
Votre trading réel sera encore différent de n'importe quel backtest et votre bonne stratégie devrait être capable de fonctionner dans un environnement modifié.

Il suffit de rejeter ces stratégies et d'en chercher d'autres.

 

 

 

 

D'où viennent ces erreurs d'arrondi ? Si vous utilisez les mêmes données et les mêmes types de variables (double, float) et la même précision dans l'arrondi, il n'y aura pas d'erreurs. Je travaille dans le domaine des tests de logiciels depuis 25 ans, alors j'ai du mal à y croire......Parce que vous savez exactement ce qu'il en est ou que vous le soupçonnez ?

 

Krzysztof

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 8 ans #133237

D'où viennent ces erreurs d'arrondi ? Si vous utilisez les mêmes données et les mêmes types de variables (double, float) et la même précision dans l'arrondi, il n'y aura pas d'erreurs. Je travaille dans le domaine des tests de logiciels depuis 25 ans, alors j'ai du mal à y croire......Parce que vous savez exactement ce qu'il en est ou que vous le soupçonnez ?

 

Je sais exactement qu'il y a deux différences :

 

1. SQ est en Java, tandis que MT4 est probablement en C. Il y a de légères différences dans les fonctions d'arrondi (ou les paramètres qu'elles utilisent) entre les fonctions en Java et en C

 

2. vous ne tenez pas compte du fait que MT4 pourrait travailler avec toutes les transactions non arrondies, et n'arrondir que la somme résultante. Mais dans le rapport que QA charge, les transactions sont déjà arrondies, d'où une petite différence dans la somme finale.

Marque
StratégieArchitecte de Quantités

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133244

Je sais exactement qu'il y a deux différences :

 

1. SQ est en Java, tandis que MT4 est probablement en C. Il y a de légères différences dans les fonctions d'arrondi (ou les paramètres qu'elles utilisent) entre les fonctions en Java et en C

 

2. vous ne tenez pas compte du fait que MT4 pourrait travailler avec toutes les transactions non arrondies, et n'arrondir que la somme résultante. Mais dans le rapport que QA charge, les transactions sont déjà arrondies, d'où une petite différence dans la somme finale.

Ticket Open Time Type Size Item Price S / L T / P Close Time Price Commission Taxes Swap Profit
461143512015.08.24 01:28:12sell 0.01 eurusd 1.13764 1.15767 1.11767 2015.08.24 02:36:001.14471 -0.08 0.00 0.00 -7.07

.

Par curiosité, j'ai vérifié. Voici l'exemple. Prix d'ouverture 1,13764, prix de clôture 1,14471 taille de lot 0,01 donc profit = (1,13764-1,14471)*10000*0,01 = -7,07 donc c'est exactement ce qui est écrit dans le rapport. Si vous utilisez les mêmes données et la même technique, vous obtiendrez exactement les mêmes résultats.

 

Si la somme finale est arrondie, on ne peut obtenir que de petites différences, mais les différences entre MT4 et SQ sont parfois énormes. Je pense que Richard a envoyé un tel exemple à Tomas il y a environ 2 semaines, mais il n'y a pas eu de réponse jusqu'à présent. Si les différences sont énormes, cela signifie que le backtester SQ n'est pas fiable.

 

Krzysztof

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133245

Je n'arrive pas à poster un nouveau sujet dans la section QA, j'obtiens l'erreur 'page non trouvée'. Pouvez-vous résoudre ce problème ?

 

Krzysztof

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 8 ans #133247

Si la somme finale est arrondie, on ne peut obtenir que de petites différences, mais les différences entre MT4 et SQ sont parfois énormes. Je pense que Richard a envoyé un tel exemple à Tomas il y a environ 2 semaines, mais il n'y a pas eu de réponse jusqu'à présent. Si les différences sont énormes, cela signifie que le backtester SQ n'est pas fiable.

 

 

Vous mélangez deux choses différentes. Les différences importantes entre SQ et MT4 peuvent être dues à des différences de données ou de paramètres, et non à des arrondis. 

Les arrondis peuvent entraîner des différences en cents seulement.

 

 

Si les différences sont importantes, cela signifie que le backtester SQ n'est pas fiable.

 

 

Il s'agit d'une mauvaise compréhension du fonctionnement du backtesting. Le backtesting dans MT4 et SQ n'est qu'une approximation. On ne peut pas dire que le backtesting dans MT4 est meilleur que dans SQ, simplement parce qu'il produit des résultats différents pour une stratégie donnée.

Ce que l'on peut dire, c'est que cette stratégie exacte a probablement des propriétés inhérentes qui la rendent difficile à tester à rebours, de sorte qu'aucun test à rebours ne sera fiable.

Si vous prenez la même stratégie et que vous la testez dans un autre programme, vous obtiendrez à nouveau des résultats différents - c'est un problème de stratégie, pas de backtester.

 

C'est vraiment une perte de temps de travailler avec des stratégies qui ont des résultats trop différents entre MT4 et SQ - prenez-les comme elles sont - des stratégies qui ne peuvent pas être backtestées de manière fiable et qui devraient être évitées.

Marque
StratégieArchitecte de Quantités

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133249

Wow

 

Le backtesting dans MT4 et SQ n'est qu'une approximation.

 

Je n'arrive pas à y croire. J'ai un système d'IA avec MATLAB et MT4 et MATLAB backtesting qui correspond presque au pip, ce n'est donc pas du tout une approximation ! !!!

 

Le décalage le plus important peut se produire si votre implémentation interne des indicateurs est différente de celle des indicateurs MT4 et si, dans le code généré, vous les faites correspondre aux indicateurs et aux fonctions MT4. Par exemple, iRSI est implémenté différemment de Wilder RSI. Le générateur de code MT4 fait-il correspondre les indicateurs aux indicateurs MT4 intégrés ou aux fonctions personnalisées ?

 

Krzysztof

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 8 ans #133251

L'EA généré par SQ utilise les indicateurs standards de MT4, et le calcul des indicateurs dans SQ devrait correspondre à ceux de MT4, nous les avons tous réimplémentés en Java.

Mais vous avez raison de dire qu'il pourrait y avoir un bug (bien que cela soit peu probable) ou simplement une erreur d'arrondi dans l'implémentation de certains indicateurs dans SQ qui pourrait causer des valeurs d'indicateurs légèrement différentes -> des signaux d'entrée/sortie différents -> des résultats de stratégie différents.

 

Mais c'est la raison pour laquelle je dis que le backtesting est toujours une approximation.

 

Si vous avez une stratégie qui fonctionne bien dans un backtest et qu'en utilisant des données ou des indicateurs légèrement différents (pas une logique différente, seulement des erreurs d'arrondi), l'ensemble de la stratégie échoue, il ne s'agit pas d'une stratégie fiable.

Cela signifie que la stratégie est adaptée à la combinaison spécifique de données et d'indicateurs.

 

Vous devez utiliser des tests de robustesse pour identifier les stratégies vulnérables aux changements de données ou d'indicateurs.

Ce n'est qu'une fois que votre stratégie aura bien fonctionné, y compris lors du test de robustesse, que vous pourrez être plus sûr qu'elle est fiable et qu'elle n'est pas adaptée à la courbe.

 

Je ne veux pas insister sur les différences entre MT4 et SQ, les résultats dans les deux programmes devraient être identiques ou similaires dans la plupart des cas. Mais lorsqu'ils ne le sont pas, cela signifie généralement qu'il y a autre chose qu'un bug dans SQ.

Marque
StratégieArchitecte de Quantités

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133276

Marc,

Il n'y a pas d'approximation dans la conception de logiciels - il n'y a que des bogues ! !!!

La raison de ces disparités est la différence d'implémentation des indicateurs de base dans MT4 et SQ. Suivez mes messages (fajst_k) dans ce forum.

http://www.forex-tsd.com/metatrader-4/8221-rsi-moving-average-30.html#post671448

jusqu'au poste 325

Je le sais car j'ai eu des problèmes de correspondance entre MATLAB et MT4 et lorsque j'ai remplacé certaines fonctions intégrées dans MT4 par des fonctions personnalisées, j'ai obtenu une correspondance.

L'analyse de robustesse ne garantit pas le filtrage des stratégies dont le backtest ne correspond pas à MT4. Si une "bonne" stratégie est confrontée à de nouvelles données pendant le trading, elle peut prendre une autre direction et de "mauvaises" fonctions MT4 peuvent être appelées. En plus de cela, dans ce cas, on jette la stratégie uniquement à cause des bugs et cette stratégie peut être utile. Il suffit de changer votre générateur de code MT4 et de remplacer les 'mauvaises' fonctions intégrées de MT4 (iRSI, IMA, IMAoNArray et qui sait quoi d'autre) par des fonctions personnalisées.

Je n'arrive toujours pas à poster un nouveau sujet dans la section QA du forum, j'obtiens 'page not found'. Pouvez-vous résoudre ce problème ?

Krzysztof

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 8 ans #133292

Mon objectif est que les indicateurs dans SQ et MT4 correspondent et que nous ayons des tests pour tous les indicateurs implémentés.

Ils correspondent avec de très petites différences occasionnelles à la troisième et quatrième décimale, dues à des erreurs d'arrondi et à une implémentation légèrement différente des fonctions mathématiques en Java.

 

Je ne connais pas de bugs dans SQ où l'indicateur aurait des valeurs très différentes de celles calculées par MT4.

 

 

Je n'arrive toujours pas à poster un nouveau sujet dans la section QA du forum, j'obtiens 'page not found'. Pouvez-vous résoudre ce problème ?

 

Je ne trouve pas ce qui ne va pas. Pourriez-vous m'envoyer l'URL exacte que vous essayez d'ouvrir ?

Marque
StratégieArchitecte de Quantités

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133298

Après avoir essayé de créer un nouveau sujet dans la section Quant Analyzer, je reçois l'erreur 'page not found'. Voir la capture d'écran.

 

Krzysztof

Fichier : scr.jpgscr.jpg

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133299

Mon objectif est que les indicateurs dans SQ et MT4 correspondent et que nous ayons des tests pour tous les indicateurs implémentés.

Ils correspondent avec de très petites différences occasionnelles à la troisième et quatrième décimale, dues à des erreurs d'arrondi et à une implémentation légèrement différente des fonctions mathématiques en Java.

 

Avez-vous un fichier journal de ces tests ? Pouvez-vous le présenter sur le forum ?

 

Krzysztof

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 8 ans #133303

Avez-vous un fichier journal de ces tests ? Pouvez-vous le présenter sur le forum ?

 

Que voulez-vous exactement ? Voulez-vous vérifier que c'est bien ce que je dis ou quoi ?

Il s'agit de tests JUnit standard, qui renvoient OK lorsque tous les tests sont réussis. Je n'ai pas de fichier journal pour cela. 

Marque
StratégieArchitecte de Quantités

0

krzysiaczek99

Subscriber, bbp_participant, community, 57 replies.

Visiter le profil

Il y a 8 ans #133310

Que voulez-vous exactement ? Voulez-vous vérifier que c'est bien ce que je dis ou quoi ?

Il s'agit de tests JUnit standard, qui renvoient OK lorsque tous les tests sont réussis. Je n'ai pas de fichier journal pour cela. 

Vous devez envoyer le signal de test à vos indicateurs, puis le même signal aux indicateurs intégrés de MT4, par exemple. Vous devez ensuite comparer les résultats obtenus. La seule différence autorisée doit être une très petite erreur d'arrondi. Ce test doit être répété pour différentes combinaisons et valeurs des paramètres d'entrée car vous ne connaissez pas l'implémentation des fonctions intégrées dans MT4 et vous ne pouvez pas garantir qu'elles se comportent correctement. Et bien sûr, ce test devrait être effectué avec les indicateurs de toutes les plateformes de trading pour lesquelles SQ génère le code de la stratégie. Avez-vous effectué ces tests ? Si oui, fournissez un fichier journal au moins pour MT4.

 

Krzysztof

0

Affichage de 15 réponses de 16 à 30 (sur un total de 36)

1 2 3