Un seul indicateur de qualité pour la stratégie - page 7

 
Youri Tarshecki:

Pour comparer les deux stratégies, même une adéquation au marché de 60 % serait suffisante pour faire un choix en faveur de l'une ou l'autre. Vous devrez simplement augmenter la taille de l'échantillon.

Pour le travail en code réel, la précision de 95% de la simulation de l'environnement à 1m est très bonne. De nombreux modèles d ' environnement scientifiques et pratiques ne peuvent se vanter d'une telle précision.

Et je ne vois aucune raison de croire que la méthode automatique de création de stratégies est en quelque sorte miraculeusement différente de la méthode manuelle en termes de dépendance de la qualité de l'historique.

Si l'historique est mauvais, c'est mauvais pour tous les conseillers experts.

En d'autres termes, la question du choix de l'environnement n'est pas directement liée aux critères d'évaluation du système.

"Je ne vois pas de raisons de croire que la méthode automatique de création de stratégies est en quelque sorte miraculeusement différente de la méthode manuelle en termes de dépendance à la qualité de l'historique." - Une recherche automatique peut trouver une "stratégie" qui exploite les caractéristiques techniques (défauts) du testeur lui-même combinées à la qualité des données historiques. Apparemment, vous n'avez pas rencontré un tel problème)). Voici un exemple illustratif :

Supposons que des données historiques au format OHLC soient utilisées, que les ticks ne soient pas modélisés, que des périodes plus petites ne soient pas utilisées, que les conditions d'entrée/sortie du marché soient calculées à chaque arrivée de la valeur O, H, L ou C.

Dans la figure :

Comme (O-L) + (H - C) < (H - O) + (C-L), le testeur simule les mouvements du marché en utilisant des valeurs dans l'ordre indiqué sur la figure, ce qui est tout à fait logique.

Par conséquent, il s'avère qu'au moment indiqué par la ligne rouge, les deux valeurs Open et Low (pour la stratégie, ce sera Close) contiendront des informations sur le "futur".

Voici la règle de la "prise de bénéfices" :

si (Open[0] - Close[0])> X et (High[0] == Open[0]), alors acheter, où X est une certaine valeur recouvrant le spread.

Notez qu'à ce moment-là, les valeurs OHLC de la stratégie correspondront aux valeurs OOLL des données historiques ! !!

Le défaut du testeur et la mauvaise qualité de l'historique sont montrés.

 
Aliaksandr Hryshyn:


Montre le défaut du testeur et la mauvaise qualité de l'histoire.

C'est ce que vous entendez par le futur. Ce phénomène est connu depuis longtemps. Je me souviens qu'il y a environ trois ans, il y avait même un article sur l'étude des conséquences de la prise de profit sur la base d'un EA avec cette fonctionnalité. Le profit a été généré par cet EA sans aucune pause.

Mais quelle est la probabilité que la stratégie apprenne à attraper ce jeton par elle-même et même en tenant compte de l'écart si vous ne lui apprenez pas à le faire ? Cela me semble négligeable.

Bien sûr, en réalité, le prix peut aller et venir à sa guise à l'intérieur d'une bougie. C'est ce qui crée ces 5-10% d'erreurs entre le test et le réel. Je veux dire que ce n'est pas essentiel pour comparer les stratégies lors d'un test, car elles seront toutes dans les mêmes conditions de toute façon.

Et je veux dire que si vous pensez que c'est critique, alors prenez l'historique des tics réels, en sacrifiant la vitesse.

C'est-à-dire que tout cela n'a pas d'importance par rapport à la méthode d'essai à utiliser.

 
Vous ne comprenez rien à l'affaire.) Dans le testeur de stratégie, dans mon exemple avec le défaut, l'EA ne donnera que des trades positifs, un graal)). Lors de l'autodétection des stratégies, qui est conçue pour rechercher des "grails", elle peut tomber sur ces défauts.
Croyez-moi, c'est un problème sérieux pour le générateur de stratégie, il est déjà là, certainement mieux que dans l'exemple. Une bonne équité pour une parcelle non optimisée peut être donnée dans une minute, pendant que je travaille à augmenter l'"intelligence". Les programmes similaires que j'ai trouvés sur Internet n'ont pas et ne peuvent pas avoir beaucoup de problèmes, ceci est dû à un certain modèle de génération de règles, exemple d'une règle générée : (A<B) & (A>C) & if(D>C;true;A>B).
 
À certains moments, le système a trouvé une "stratégie" qui, sur environ 150 transactions, comportait environ 15 transactions perdantes, et ce sur un terrain non optimisé. D'une manière ou d'une autre, la confiance dans ces résultats est faible.
 
Aliaksandr Hryshyn:
À certains moments, le système a trouvé une "stratégie" qui, sur environ 150 transactions, comportait environ 15 transactions perdantes, et ce sur un terrain non optimisé. D'une manière ou d'une autre, la confiance dans ces résultats est faible.
Vous allez vous tirer dessus ?
 
Il y a aussi d'autres défauts... D'ailleurs, ils peuvent aussi donner les meilleurs résultats dans une zone non optimisée, car ils utilisent des modèles de comportement non tarifaires.
 
Алексей Тарабанов:
Vous vous tirez dessus ?
))
 
Aliaksandr Hryshyn:
Vous ne comprenez rien à l'affaire.) Dans le testeur de stratégie, dans mon exemple avec le défaut, l'EA ne donnera que des trades positifs, un graal)). Lors de l'autodétection des stratégies, qui est conçue pour rechercher des "grails", elle peut se heurter à ces défauts.
Croyez-moi, c'est un problème sérieux pour le générateur de stratégie, il est déjà là, certainement mieux que dans l'exemple. Une bonne équité pour une parcelle non optimisée peut être donnée dans une minute, pendant que je travaille à augmenter l'"intelligence". J'ai trouvé de nombreux problèmes avec des programmes analogues sur Internet, cela a à voir avec le modèle spécifique de génération de règles, par exemple la règle générée : (A<B) & (A>C) & if(D>C;true;A>B).

Nous parlons de deux choses différentes.

1. je connais votre exemple depuis longtemps. A mon avis, la probabilité d'une telle création accidentelle au cours de l'"évolution" est insignifiante. Si vous avez encore peur de ce genre d'astuces "hors prix", il vous suffit de vérifier l'historique des tics avec un écart plausible, et tout se révélera immédiatement. Il suffit parfois de changer le type de test dans le fichier ini.

Les modèles de génération de règles, à mon avis, pour qu'il n'y ait pas de contretemps, devraient fonctionner à un niveau suffisamment élevé de généralisation de ces règles et de compatibilité des blocs. Ensuite, l'utilisateur lui-même peut définir ces dépendances et les éléments avec lesquels le générateur doit travailler.

2. Si le générateur contient une sélection de stratégies basée sur des tests, alors le volking forward est un MUST. En outre, cela simplifiera considérablement le critère de sélection.

 
Youri Tarshecki:

Nous parlons de deux choses différentes.

1. je connais votre exemple depuis longtemps. Je pense que la probabilité de la création accidentelle d'une telle chose au cours de l'"évolution" est négligeable. Si vous avez encore peur de ces astuces "hors prix", il vous suffit de faire un test de contrôle sur un historique de tics avec un écart plausible, et tout se révélera immédiatement. Il suffit parfois de changer le type de test dans le fichier ini.

Les modèles de génération de règles, à mon avis, pour qu'il n'y ait pas de contretemps, devraient fonctionner à un niveau suffisamment élevé de généralisation de ces règles et de compatibilité des blocs. Ensuite, l'utilisateur lui-même peut définir ces dépendances et les éléments avec lesquels le générateur doit travailler.

2. Si le générateur contient une sélection de stratégies basée sur des tests, alors le volking forward est un MUST. En outre, cela simplifiera considérablement le critère de sélection.

C'est probable).

Quelles devraient être les règles, selon vous ? Je me demande juste comment vous voyez le problème.

 

Je suggère cette option.

Cette évaluation est adaptée aux stratégies qui présentent les caractéristiques/limitations suivantes :

  • la présence d'un stop loss
  • le risque de chaque transaction est fixé et mesuré dans la devise. le lot est calculé sur la base de la taille du stop loss, donc lorsqu'il se déclenche, nous ne perdons que le montant défini par le risque.
  • plusieurs transactions peuvent être considérées comme une seule transaction, si elles font partie d'un certain schéma de négociation et que le risque total est fixé.

Le profit et le drawdown sont représentés comme le ratio de leurs valeurs respectives par rapport au risque/stop loss fixé.

Les principaux indicateurs de performance de la stratégie sont pris et transformés comme indiqué dans la figure ci-dessous, l'ordre des formules correspond à l'ordre des indicateurs dans le titre.

Sur le graphique il y a aussi la complexité de la stratégie, vous ne pouvez pas l'utiliser, j'en avais besoin.

La volatilité montre la somme des déviations maximales des valeurs des actions par rapport à la ligne de régression dans les valeurs correspondantes, graphiquement c'est ainsi :

La volatilité est la somme des valeurs absolues de A B, c'est-à-dire A+||B|.

Il existe également une valeur de rentabilité légèrement modifiée qui se calcule comme suit

Rentabilité=(bénéfice total + 1)/(perte totale + 1)

Il est transformé comme suit :

Comme la rentabilité n'est pas très utile avec un petit nombre de transactions, nous procédons comme suit :

le graphique ci-dessus montre comment la valeur de rentabilité sera calculée en fonction du nombre de transactions.

Ensuite, nous modifions à nouveau la rentabilité (en fonction de son importance en fonction du nombre de transactions) en utilisant la formule suivante

Rentabilité = 1 + Rentabilité * Significativité - Significativité

Ensuite, toutes les valeurs obtenues de profit, de drawdown, de nombre de transactions, de volatilité et de rentabilité (à partir de la dernière formule) sont multipliées. Le résultat est un coefficient unique reflétant la qualité générale de la stratégie basée sur les transactions effectuées pendant une certaine période.

Valeurs des ratios :

0 - impitoyablement terrible)

0,3 - mauvais

~0,8 - bon

>1 - très bon

Voici les résultats de l'évaluation de cette manière :

Ici, ce facteur est représenté par le coefficient Z, vous pouvez évaluer les ensembles de formation (ligne verte) et de test (ligne violette).

Un bon résultat pour la ligne d'équité verte (0.993) et la ligne inférieure violette (0.5714).

Pour la ligne violette, c'est légèrement mieux que mauvais, la rentabilité est de 1.447

Exemples de mauvais résultats.