L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 437

 
elibrarius:

Je ne suis pas encore sûr qu'il soit juste de considérer les graphiques comme similaires lorsque les différences de pente sont si importantes. En reprenant le même exemple :

la variante trouvée donne un pullback à partir du point de tendance supérieur ou de la fin de la tendance, en la transférant sur le graphique de configuration, elle donnera une prédiction de continuation de la tendance à la baisse plutôt qu'un renversement - essentiellement un signal inverse. Quelque chose ne va pas ici....

mais si vous conduisez le testeur, vous trouverez rarement des variantes avec une très grande différence dans la pente, ce qui signifie qu'à une certaine limite, il s'agira d'un modèle ascendant mais pas descendant et sa structure sera différente avec une faible corrélation avec le modèle actuel, c'est pourquoi il n'a jamais lieu.
 
Maxim Dmitrievsky:
tout est vrai, juste une grande différence dans la pente des motifs, vous pouvez faire une restriction de recherche si la pente est très différente, pour ne pas prendre en compte de telles variantes, mais si vous conduisez le testeur il trouvera rarement des variantes avec une très grande différence dans la pente, il dit qu'à une certaine limite ce ne sera pas vraiment un motif descendant mais un motif ascendant et la structure aura une faible corrélation avec la structure actuelle

Eh bien, 10-15 degrés (à l'œil), combien en moins ? Et il vaut mieux ne rien trouver qu'un faux signal.

PS. mesuré dans photoshop - 18 degrés

 
Elibrarius:
bien 10-15 degrés (à l'œil) combien moins ? Et il vaut mieux ne rien trouver qu'un faux signal.


Même avec une coïncidence parfaite de 50%, il prédit dans la mauvaise direction).

Et d'ailleurs, oui, la courbe pronostique n'est pas comptée correctement ici, je me suis trompé quelque part... et j'ai perdu l'ancienne version

 
Maxim Dmitrievsky:

il fait même une correspondance parfaite à 50% et prédit dans la mauvaise direction).

Parce que vous faites une prédiction sur la base d'une variante, avec une centaine de variantes similaires, la précision de la prédiction serait plus élevée. Mais la prévision moyenne sera de zéro ;))

Mauvais à la fois pour un et pour plusieurs. Je devrais confier cette tâche à l'optimiseur.

 
Elibrarius:

Parce que vous faites une prévision à une seule ligne, avec une centaine de prévisions similaires, la précision de la prévision serait plus élevée. Mais la prévision moyenne sera de zéro ;))

C'est mauvais à la fois pour une ligne et pour plusieurs. Nous devrions confier cette tâche à l'optimiseur.


Oui, mais tout d'abord, il faut qu'il soit correct, la prévision ne devrait pas tirer des lignes comme ça, elle montre juste la bonne direction ;)

Mais ce ne sont que des conneries par corrélation de toute façon, c'est pourquoi j'ai abandonné...

 
Maxim Dmitrievsky:

Au minimum, nous devons effectuer des transformations affines des graphiques, car les motifs ont des angles de pente différents (structures auto-affines), et deuxièmement, effectuer des recherches sur des horizons temporels différents. Mais il n'est d'aucune aide lorsqu'on utilise la corrélation - il trouve des modèles très dissemblables .

Si le principal problème de la corrélation est qu'"elle trouve des modèles qui ne sont pas très similaires", alors nous pouvons simplement définir des exigences plus strictes pour l'erreur acceptable et seuls les modèles très similaires seront trouvés. Mais cela ne se produira pas sur chaque barre, mais parfois (une fois en plusieurs heures, comme dans votre Expert Advisor avec un angle de pente). Là encore, l'optimiseur choisira l'erreur acceptable.
D'ailleurs, dans ma variante, la corrélation de Pearson n'est pas comptabilisée directement, comme dans votre cas, mais l'erreur totale (avec tamisage de l'erreur maximale acceptable sur chaque barre). Dans ce cas, les variantes les plus corrélées au motif sont sûrement trouvées, c'est pourquoi je l'ai comparé avec la corrélation.

 
Dr. Trader:

Supposons qu'il y ait deux tableaux de prix, avec 5 prix dans chacun d'eux
le premier est a1,a2,a3,a4,a5
Le second est b1,b2,b3,b4,b5.

1) Le graphique des prix peut être détendu, c'est-à-dire qu'il peut être placé horizontalement à partir d'une disposition tournée. Cela peut être fait avec une régression linéaire - trouvez-la, et utilisez le tableau d'erreurs au lieu de la série de prix originale. Je ne sais pas si cette étape peut aider à la recherche de motifs, je n'ai pas étudié son effet en détail. Jusqu'à présent, je n'ai pas utilisé cette étape moi-même.

2) Il est discutable d'appeler une rangée de prix un modèle ; il doit y avoir une description mathématique de la forme formée par ces prix. Par exemple, nous pouvons trouver l'augmentation du prix sur chaque barre et utiliser ces augmentations comme une certaine description du modèle.
le premier motif est obtenu par la formule a5-a4, a4-a3, a3-a2, a2-a1
le second est b5-b4, b4-b3, b3-b2, b2-b1.

3) "similarité" des modèles - soit la corrélation (je ne l'ai pas vérifiée moi-même), soit la distance cartésienne par le théorème de Pythagore (je l'ai vérifiée, et elle a bien fonctionné) -
sqrt( ((a5-a4)-(b5-b4))^2 + ((a4-a3)-(b4-b3))^2 + ((a3-a2)-(b3-b2))^2 + ((a2-a1)-(b2-b1))^2 )
ou autre chose, je pense qu'il doit y avoir de meilleures options.

1. Vous le faites - en augmentant la tolérance d'erreur lors de l'approfondissement de l'histoire.

2. Calcul de l'erreur Lop-side (somme des valeurs delta abs. sur chaque barre) Les graphiques doivent être sommés au préalable sur la barre zéro.
Abs(a5-b5)+ abs(a4-b4)+abs(a3-b3)+abs(a2-b2)+abs(a1-b2)

Calcul de l'erreur en fonction de votre variante
abs((a5-a4)-(b5-b4))+abs((a4-a3)-(b4-b3)+....
transformer le 1er élément
abs((a5-a4)-(b5-b4)) = abs((a5-b5)+(b4-a4)) -

(a5-b5)+(b4-a4) = delta 5 + ( - delta 4), ceci est similaire à la somme des deltas, c'est-à-dire des erreurs. Mais ce n'est pas la somme des valeurs absolues des deltas, mais juste la somme, et des deltas de signe différent ! Si les erreurs sur des barres voisines ont le même signe, elles se compensent (du fait que le deuxième delta a un signe moins). Même une énorme erreur de +1000pts et +1000pts sera réduite à zéro dans votre formule. Et il marquera comme similaire, un graphique avec une aberration de +1000pts sur 2 barres. Bien que sur l'élément suivant, seule une de ces valeurs aberrantes sera calculée et l'erreur qui en résulte écartera cette variante.
Mais tout de même, cette fonction de calcul d'erreur peut manquer comme une variante similaire, telle une série avec des deltas : 0, +10, +15, +12, +5. Votre formule pour cette combinaison donnera moins d'erreur (25 pt) que la simple somme des valeurs delta absolues sur chaque barre (42 pt).

3) Il s'agit de la même formule qu'au point 2, avec les mêmes inconvénients.

 
elibrarius:

Le plus simple est de décaler la largeur de la fenêtre en passant par toute la séquence et de trouver la somme des valeurs abs. du delt :

0,0,0 et 1,2,3 erreur = (1-0)+(2-0)+(3-0)=6

0,0,1 et 1,2,3 erreur = (1-0)+(2-0)+(3-1)=5

0,1,2 et 1,2,3 erreur = (1-0)+(2-1)+(3-2)=3

1,2,3 et 1,2,3 erreur = (1-1)+(2-2)+(3-3)=0

2,3,1 et 1,2,3 erreur = (2-1)+(3-2)+Abs(1-3) = 4

Où l'erreur minimale correspond à la similarité maximale.


Et la convolution est la même chose mais au lieu de l'addition et du module, c'est une multiplication et le maximum est choisi, c'est plus rapide.

0,0,0 et 1,2,3 erreur = 0*1+0*2+0*3 = 0

 
Gianni:

Et la convolution est identique mais au lieu de l'addition et du module on choisit la multiplication et le maximum, c'est plus rapide.

0,0,0 et 1,2,3 = 0*1+0*2+0*3 = 0

C'est un processeur cool que vous avez ! ))
Le mien ajoute et soustrait plus vite qu'il ne multiplie, et trouve le module simplement en mettant le bit 64 à zéro.
 
elibrarius:

3) Il s'agit de la même formule qu'au point 2, avec les mêmes inconvénients.


C'est toujours la même formule, je l'ai juste divisée en trois étapes pour la rendre plus claire. Donc les signes ne seront pas un problème, puisqu'il y a une mise au carré.

Raison: