Comparaison de deux graphiques de cotation avec des distorsions non linéaires sur l'axe des X - page 11

 
gpwr:

Le système est basé sur l'hypothèse qu'il existe des modèles répétitifs dans les citations. À la page 9 de ce fil de discussion, j'ai décrit la méthode permettant de trouver ces modèles (unleashed coding). Il existe d'autres méthodes. Vous pouvez également comparer les prix en utilisant la méthode du plus proche voisin. Lisez mes messages précédents. Je ne veux pas me répéter.
Bien sûr que je l'ai lu, c'est ce que je dis.
 
gpwr:

Pour éviter d'ouvrir un fil de discussion distinct, j'ai décidé de décrire ici les résultats de mes recherches sur les motifs. Peut-être cela fera-t-il gagner du temps à quelqu'un et lui donnera-t-il de nouvelles idées.

En 2006, lorsque j'ai commencé à m'intéresser au Forex, ma première idée a été de comparer les N dernières barres (modèle actuel) avec tous les modèles passés de la même cotation, en utilisant le coefficient de corrélation comme mesure de similarité. Il s'agit de la même méthode du plus proche voisin (SN). L'avantage du coefficient de corrélation par rapport à la longueur euclidienne est qu'il tient compte de la distorsion de l'axe des prix. J'ai construit un Expert Advisor utilisant cette méthode qui a montré une rentabilité extraordinaire pendant 2-3 mois de test à terme (10к en 10М ou quelque chose de similaire), mais ensuite il perdait 2-3 mois. Et ainsi de suite : un énorme profit, puis une perte totale. J'ai plusieurs fois repris cette méthode BS, fait des comités de voisins, etc., mais le résultat était le même. Finalement, j'ai été déçu et j'ai mis le code de la méthode BS dans la base sur 5.

En 2007-2008, je me suis intéressé aux PNN, et plus particulièrement aux GRNN. L'essence est la même que la BS, mais au lieu de sélectionner un (ou quelques, comme dans le comité) voisin similaire, tous les modèles passés sont automatiquement sélectionnés et leur influence sur la prédiction est pondérée par une fonction exponentielle comme exp(-mesure_différence). Ainsi, les parties de l'histoire les plus similaires sont pondérées de manière exponentielle. Vous pouvez prendre les prix des modèles (moins la moyenne) et calculer la distance euclidienne comme mesure de la différence, ou prendre la différence entre les lectures vectorielles de certains indices. La précision de la prédiction était légèrement supérieure à celle de la méthode BS, 52% au lieu de 50,5% (je ne me souviens plus exactement).

Ma dernière idée était d'utiliser les méthodes utilisées par notre cerveau pour transformer l'information. J'ai décrit ces méthodes en détail au point 5. L'un d'eux consiste à trouver des modèles (ou fonctions de base) dans lesquels les prix actuels peuvent être décomposés. Comme

Prix[i] = somme (a[k]*fonction[i][k], k=1...L) i=1...N

Bien sûr, nous pouvons prendre les fonctions trigonométriques au lieu de chercher les bases et utiliser la transformée de Fourier. Mais il est plus perspectif de trouver les fonctions de base sur l'histoire en utilisant la méthode du codage raréfié. L'essence de cette méthode consiste à ajuster le modèle linéaire mentionné dans les prix à divers intervalles historiques de longueur N par ANC de telle sorte que l'erreur spécifiée soit atteinte au plus petit nombre de coefficients non nuls a[k], k=1...L. Idéalement, chaque vecteur de prix historique ne contient qu'une seule fonction de base (ou modèle). À chaque étape, les coefficients et les fonctions elles-mêmes sont optimisés. Il y a beaucoup de paramètres qui ne sont pas connus à l'avance. Par exemple, la longueur du motif N, le nombre de fonctions de base dans le dictionnaire L, le nombre de coefficients non nuls dans notre décomposition (je choisis 3, comme chaque segment de prix est constitué de la queue de l'ancien motif, du motif actuel et du début du nouveau motif). Il est important que N*L soit bien inférieur à la longueur totale de l'historique, sinon l'algorithme trouvera des modèles égaux aux prix passés eux-mêmes et nous aurons alors quelque chose comme la méthode des plus proches voisins. Par exemple, le dictionnaire de 64 motifs de 64 mesures chacun pour EURUSD H1 formé en utilisant la méthode de codage raréfié appliquée à l'historique de 1999-2010 (74 mesures) se présentera comme suit

J'ai remarqué la régularité suivante : plus le motif est long et plus il est nombreux dans le dictionnaire, plus le bénéfice dans le bactest est élevé, ce qui peut s'expliquer par le surentraînement. Mais dans tous les cas, avec des N et des L différents, le test à terme semble tourner autour du zéro profit. Je commence à être frustré par les modèles. Apparemment, ils ne sont pas constants dans le forex, ou en d'autres termes, le forex n'a pas de mémoire pour les modèles - de nouveaux modèles sont créés à chaque fois.


Avez-vous de l'expérience avec le réseau d'état Echo ? http://www.scholarpedia.org/article/Echo_state_network
 
yacoov:

Avez-vous une expérience du Réseau d'Etat Echo ? https://www.mql5.com/go?link=http://www.scholarpedia.org/article/Echo_state_network

Demandez à TheXpert . Il a de l'expérience.
 
gpwr: Je n'ai jamais entendu parler de corrélation entre les signaux binaires. Au fait, j'ai essayé de coder des motifs avec une séquence binaire en utilisant un zigzag. J'ai pris les 6 derniers genoux en l'air et les 6 derniers genoux en bas.

J'ai cherché sur Google la corrélation des signaux binaires, il semblait plus facile de faire un XOR et de compter le nombre 1 dans le résultat.

vous avez pris 6 genoux ZZ, c'est le problème : je ne sais pas combien de barres (j'utilise des barres avec des fractales, de 8 à 16) à utiliser pour l'analyse

gpwr:Le système est basé sur l'hypothèse qu'il existe des modèles répétitifs dans les citations.

L'hypothèse selon laquelle le marché contient des modèles ou des régularités est correcte, mais ces régularités apparaissent ou non sans périodicité apparente. Apparemment, la recherche et l'analyse des modèles est similaire à la tâche des experts en optimisation des indicateurs, si c'est le cas, il s'avère que nous perdons notre temps - il est plus facile d'écrire un expert auto-optimisant qui choisirait la sélection des indicateurs (stratégies) en fonction de l'histoire actuelle.

J'ai l'intention de faire des recherches pour l'euro, mais je n'en ai pas trouvé jusqu'à présent - peut-être que les croix ont plus de régularités ?

 
sever32:
Bien sûr que je l'ai lu. C'est ce que je dis.


Alors je ne comprends pas votre question : "Je n'ai pas trouvé de justification pour que votre système fonctionne, pour moi-même". Justification de quoi :

1. justification de l'hypothèse de l'existence de schémas répétitifs ? Ou

2. la raison d'être de la méthode de codage disjoint pour trouver ces modèles ?

3. ou une justification pour quelque chose d'autre ?

 
IgorM:

J'ai cherché sur Google la corrélation des signaux binaires, il semblait plus facile de faire un XOR et de compter le nombre 1 dans le résultat.

vous avez pris 6 genoux de ZZ, c'est le problème : vous ne savez pas combien de barres (j'utilise des barres avec des fractales, de 8 à 16) à utiliser pour l'analyse

L'hypothèse selon laquelle le marché contient des modèles ou des régularités est correcte, mais ces régularités apparaissent ou non sans périodicité apparente. Apparemment, la recherche et l'analyse de modèles est similaire à la tâche d'optimisation des experts en indicateurs, si c'est le cas, il s'avère que nous perdons notre temps - il est plus facile d'écrire un expert auto-optimisant qui choisirait la sélection d'indicateurs (stratégies) en fonction de l'histoire actuelle.

J'ai eu l'idée de chercher l'euro, mais je ne l'ai jamais trouvé - peut-être que les croix ont plus de régularités ?


6 genoux à la hausse et 6 genoux à la baisse étaient tout à fait suffisants sur la période H1. Jugez-en par vous-même. Supposons que nous ayons le dernier genou zz est le genou en haut. Numérotons les genoux 1v-6v, 1n-6n. Nous avons alors cette séquence de bits :

Bit 1 : -1 = 1v < 2v, 1 = 1v > 2v

bit 2 : -1 = 1v < 3v, 1 = 1v > 3v

...

Bit 5 : -1 = 1v < 6v, 1 = 1v > 6v

bit 6 : -1 = 2v < 3v, 1 = 1v > 3v

et ainsi de suite, pour tous les genoux en haut et en bas. Un total de 30 bits. Le nombre de motifs qui peuvent être décrits par 30 bits = 2^30. Mais tous les bits ne sont pas importants. Par exemple, comparer le genou 1v le plus récent avec les genoux 4v, 5v et 6v n'est pas important dans la plupart des cas. Mais vous ne pouvez pas déterminer à l'avance quels éléments sont importants et lesquels ne le sont pas. Vous devez optimiser par historique afin que chaque motif soit décrit avec le moins de bits non nuls ("importants") possible. C'est ce qui prend beaucoup de temps. L'ajout de genoux supplémentaires à la description d'un motif conduit à un dictionnaire de motifs suréduqué et à un manque de généralisation.

Comparer des modèles de façon "non rigide" et permettre que certains bits ne correspondent pas signifie que ces bits ne sont pas importants pour ce modèle et qu'ils sont annulés dans mon système. Les bits zéro n'ont pas été appariés du tout. Encore une fois, ce système de description de motifs basé sur zz en utilisant des bits binaires n'a rien à voir avec le système de recherche de motifs basé sur le codage non chargé, dont j'ai parlé à la page précédente. Dans ce système, les échantillons sont constitués des prix eux-mêmes et s'inscrivent dans le schéma ISC actuel. La similarité du motif actuel avec le motif exemplaire était jugée par l'erreur ISC (bien que ce soit en réalité plus compliqué que cela).

 
gpwr:

Un total de 30 bits. Le nombre de motifs qui peuvent être décrits par 30 bits = 2^30. Mais tous les bits ne sont pas importants. Par exemple, comparer le genou 1v le plus récent avec les genoux 4v, 5v et 6v n'est pas important dans la plupart des cas.

Je me suis à nouveau occupé de la recherche statistique sur les motifs, en cherchant des correspondances dans l'histoire avec les "motifs 8-bit", en fait peu importe comment...

J'ai remarqué une caractéristique intéressante : il y a des séquences de barres répétées (par mon algorithme) sur l'historique, moins de 30% de l'historique relèvent du codage, ce qui provoque immédiatement la conclusion précédemment annoncée que le trading par motifs est difficile à mettre en œuvre en raison de leur rareté .....

approximativement :

numéros des motifsnuméromotif ##numéromodèle ## no.non.
1 83 11 3 21 2
2 34 12 3 22 2
3 19 13 3 23 2
4 12 14 3 24 2
5 6 15 3 25 1
6 5 16 3 26 1
7 5 17 2 27 1
8 4 18 2 28 1
9 4 19 2 29 1
10 4 20 2 30 1

Mais s'il n'y a pas beaucoup de modèles dans l'histoire selon mon algorithme de codage, alors plus de 60 % de l'histoire ne contient pas du tout les parties répétables de l'histoire, et nous pouvons supposer que ces 60 % d'informations n'apparaîtront pas à l'avenir.

C'est un peu chaotique pour l'instant, je vais y réfléchir un peu plus.

 
IgorM: Pour l'instant, c'est un peu décousu, je vais y réfléchir un peu plus.

Au début, j'ai pensé qu'il serait plus logique d'utiliser les modèles résultants par analogie avec les actions du marché sur l'historique, mais j'ai décidé d'afficher les modèles simplement par des chiffres :

La hauteur de la barre d'indicateur est le numéro du motif, les vides sont l'absence de combinaisons similaires dans l'historique, jusqu'à présent je suis arrivé à ce qui suit - il semble que les motifs sont les soi-disant attracteurs, de Wiki ils correspondent à la description : ".... et impair (irrégulier - souvent fractal et / ou dans une certaine section disposée comme un ensemble de cantor ; la dynamique sur eux est généralement chaotique)". En effet, au stade initial de la conception d'un algorithme de recherche de motifs, j'ai utilisé les ensembles de Cantor

SZZ : jusqu'à présent, c'est chaotique, je vais réfléchir encore un peu :)

 
wmlab:

L'un d'entre vous a-t-il remarqué que deux graphiques intraday de l'EURUSD ou du GBPUSD sont souvent similaires ? Ce n'est pas toujours le cas, bien sûr, mais il arrive souvent que le modèle d'hier se répète de manière surprenante aujourd'hui, ce qui peut vous permettre d'en tirer profit. Mais...

Les pics et les creux, bien que répétant le modèle, ne coïncident pas dans le temps. Par exemple, le creux de la journée d'hier a commencé à 14h15 et celui d'aujourd'hui à 13h. Il existe de nombreux critères de similarité - Spearman, Pearson, moindres carrés, mais je n'en connais aucun qui permette de comparer des graphiques sujets à de petites distorsions sur l'axe des X. Personne ne connaît de telles méthodes ?



Vous n'êtes pas seul dans ce monde.
Dossiers :
 
IgorM:

Au début, j'ai pensé qu'il serait plus logique d'utiliser les modèles obtenus par analogie avec les actions du marché sur l'histoire, mais j'ai décidé de simplement dessiner les modèles par des chiffres et cela s'est avéré de cette façon :

La hauteur de la barre d'indicateur est le numéro du motif, les vides sont l'absence de combinaisons similaires dans l'historique, jusqu'à présent je suis arrivé à ce qui suit - il semble que les motifs sont les soi-disant attracteurs, de Wiki ils correspondent à la description : ".... et impair (irrégulier - souvent fractal et / ou dans une certaine section disposée comme un cantor ; la dynamique sur eux est généralement chaotique)". En effet, au stade initial de la conception d'un algorithme de recherche de motifs, j'ai utilisé des ensembles de Cantor

ZS : c'est un peu chaotique pour l'instant, je vais y réfléchir un peu plus :)


Des modèles basés sur DTW ?