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

 
hrenfx:

Comment ce problème est-il résolu via DTW (exemple) :

  1. Nous devons trouver des situations similaires sur l'historique comme les barres extrêmes de 100.
  2. L'historique disponible est de 1 000 000 de barres.
  3. Tout d'abord, nous avons pris 1 000 000 de séquences de 50 mesures et les avons comparées avec le modèle par DTW.
  4. Ensuite, nous avons pris 1 000 000 de séquences supplémentaires de 55 barres et les avons comparées au modèle par DTW.
  5. Cette fois, il s'agit de 60 bars.
  6. .....
  7. A 100 bars.
  8. .....
  9. 300 bars. Et c'est là que nous pouvons nous arrêter.

Au total, nous avons effectué 50 000 000 de comparaisons en utilisant l'algorithme DTW qui a une complexité de O(N^2). Cela signifie qu'environ 5 * 10^11 (500 milliards) d'opérations de calcul élémentaires ont été effectuées.

Maintenant, une nouvelle barre est arrivée - nous avons refait 500 milliards de calculs.

Nous avons décidé de l'exécuter sur l'historique, en commençant par 200 000 de l'élément le plus éloigné. En gros, il faut 200 000 fois 500 milliards de calculs chacun pour faire une course. Cela fait 10^17 calculs au total.

Même s'il existe une optimisation délicate, elle ne permettra pas un gain de plus de deux ordres de grandeur. C'est-à-dire que vous devrez effectuer 10^15 calculs au maximum.


Comprenez d'abord le principe de l'algorithme avant de dire de telles bêtises. La complexité de l'algorithme est O(n*m), où n et m sont les longueurs des deux vecteurs d'entrée.

p.s. Il ne faut pas faire de "à 50 barres, à 55 barres", car l'une des trois distorsions possibles est de manquer une observation.

p.p.s. DTW avec des contraintes de forme de chemin existe aussi, votre "et nous pouvons nous arrêter là" est aussi complètement inutile.

p.p.p.s. Votre méthode "zigzag + calcul de corrélation" ne donnera rien, puisque le zigzag sera basé sur les maxima d'une variable aléatoire bruyante, ce qui ne vous dit pas grand chose.

p.p.p.s. Pour la recherche dans un grand flux audio, des méthodes complètement différentes sont utilisées.

 
IgorM:
L'article sur DTW sur Habrahabr http://habrahabr.ru/blogs/algorithm/135087/ semble être assez bien écrit, mais je n'arrive pas à comprendre comment utiliser DTW pour OHLC, quelqu'un pourrait-il m'expliquer ?


Pour l'OHLC, vous devez penser à une fonction pour l'espacement des barres. Par exemple :

1. deux barres sont données

2. approximer chacune des barres par un polynôme du troisième degré (pour la barre C>O par des points : {(t[0];Open), (t[1];Low), (t[2];High), (t[3];Close)}, pour la barre O>C par les points {(t[0];Open), (t[1];High), (t[2];Low), (t[3];Close)}, où t[i]=i/3)

3. considérer la distance comme une racine carrée de l'intégrale du carré de la différence de deux polynômes sur l'intervalle 0..1.

(je ne l'ai pas inventé, la méthode semble être bien connue et disponible pour toutes les personnes intéressées).

 
Integer:

Vous devriez d'abord lire la tâche de l'auteur du fil et ses réponses.

Je suis d'accord, la tâche a été formulée pour trouver un critère de similarité. J'ai fait une étape logique supplémentaire que l'auteur appliquera, sur la base de son travail antérieur avec le critère de similarité via le QC de Spearman. Peut-être à tort, l'auteur pense appliquer un critère de similarité nouveau pour lui à un autre.
 
hrenfx:

J'ai décidé de suivre l'histoire, en commençant par les 200 000 éléments les plus éloignés. En gros, l'exécution nécessite 200 000 fois 500 milliards de calculs chacun. Cela représente 10^17 calculs au total.

Même s'il existe une optimisation délicate, elle ne permettra pas un gain de plus de deux ordres de grandeur. C'est-à-dire qu'il devra effectuer 10^15 calculs au maximum.

La tâche est beaucoup plus modeste : il s'agit de comparer ce qui s'est déjà produit aujourd'hui avec le début de la journée précédente (les tailles des modèles sont différentes !) et d'évaluer la similitude. S'il est présent - pour dessiner une trajectoire approximative pour le reste de la journée. Si nous prenons H1, cela fait 24 mesures. Dans tous les cas, pas plus de 24 comparaisons. Sur le M15, il y a 96 comparaisons au maximum. D'après mes observations, la similitude est de 2 jours au maximum, puis le marché "oublie" tout. L'optimisation pendant des mois et des années va à l'encontre du but recherché.
 
anonymous:


Commencez par vous familiariser avec le principe de l'algorithme, avant d'inventer de telles inepties. La complexité de l'algorithme est O(n*m), où n et m sont les longueurs de deux vecteurs d'entrée.

Pourquoi êtes-vous si hostile et agressif ? Lire les estimations de la complexité de l'algorithme. O(N^2) ne contredit pas ce que vous avez écrit. Les algorithmes d'une telle complexité sont adaptés aux tâches comportant de petites quantités de données.

p.s. Il n'est pas nécessaire de faire "à 50 barres, à 55 barres", car l'une des trois distorsions possibles consiste à manquer une observation.

p.p.s. DTW avec des contraintes de forme de chemin existe aussi, votre "et vous pouvez vous y arrêter" est aussi complètement inutile.

Notez le mot "brut" mentionné plusieurs fois dans l'exemple ci-dessus. Si l'on tient compte de toutes les nuances, le poste atteindra une taille considérable et non négligeable. Vous pouvez mentionner l'algorithme FastDTW et d'autres optimisations algorithmiques supplémentaires. Il est préférable de faire briller vos cerveaux et vos connaissances dans la pratique.

p.p.p.s. Votre méthode "zigzag + calcul de corrélation" ne donnera rien, puisque le zigzag sera basé sur les maxima d'une variable aléatoire bruyante, ce qui ne vous dit pas grand chose.

Dans votre langue - "absurdité". Pourriez-vous illustrer cela de manière constructive à l'aide d'un exemple ?

p.p.p.s. Pour la recherche dans un grand flux audio, des méthodes complètement différentes sont utilisées.

C'est intéressant.
 
wmlab:
La tâche est beaucoup plus modeste.

Alors j'en ai trop fait. Il n'y a probablement rien de plus simple que DTW pour une tâche aussi simple. Mais la comparaison de si petites séquences de données est discutable.

Pouvez-vous donner un exemple de la vie où votre hypothèse semble avoir fonctionné ?

 
hrenfx:

Alors j'en ai trop fait. Il n'y a probablement rien de plus simple que DTW pour une tâche aussi simple. Mais la comparaison de si petites séquences de données est discutable.

Pouvez-vous donner un exemple de la vie, où votre hypothèse semble avoir fonctionné ?


Cela vient en quelque sorte de la vie réelle - j'ai remarqué que sur l'EURUSD, je déplace mentalement le graphique d'aujourd'hui déjà obtenu vers celui d'hier. Si au moins la première moitié de la journée coïncide visuellement, nous pouvons faire une prévision (si ce n'est pas vendredi et s'il n'y a pas de nouvelles). "Visuellement" est une alternance de hauts et de bas, les niveaux ne correspondent pas. Eh bien, c'est comme regarder une illustration de l'évolution - les images adjacentes sont similaires, celles qui sont éloignées ne le sont pas. Eh bien, si les photos d'aujourd'hui et d'hier ne coïncident pas, alors cette méthode ne fonctionne pas.
 
Est-il possible de citer des graphiques de sites visuellement appariés ?
 
wmlab:
La tâche est beaucoup plus modeste : il s'agit de comparer ce qui s'est déjà passé aujourd'hui avec le début de la journée précédente (les tailles des modèles sont différentes !) et d'évaluer la similitude. Si oui, pour dessiner une trajectoire approximative pour le reste de la journée. Si nous prenons H1, cela fait 24 mesures. Dans tous les cas, pas plus de 24 comparaisons. Sur le M15, il y a 96 comparaisons au maximum. D'après mes observations, la similitude est de 2 jours au maximum, puis le marché "oublie" tout. L'optimisation sur l'intervalle des mois et des années est une auto-illusion.

Cependant, mon indicateur et mon Expert Advisor sur H4, par exemple, fonctionnent avec un recul de 900-1000 barres et captent clairement les événements des dernières barres https://forum.mql4.com/ru/46596/page124, cela signifie que la mémoire du marché n'est pas une chose si fugace ?
 

J'ai quelque chose... Je ne l'avais pas réalisé. Expérimenter un sentiment d'extase mystique :)

Dossiers :
idtw2.mq4  8 kb