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

 

La version 10 du classificateur ternaire de jPrediction a été publiée

La validation croisée est implémentée dans la nouvelle version.

Grâce à la validation croisée, la capacité de généralisation sur OOS par rapport à la version 9 s'est nettement améliorée, notamment sur les données non stationnaires. En même temps, la capacité de généralisation selon les résultats des tests sur différentes parties de l'échantillon, qui est donnée comme caractéristique du modèle dans les versions 9 et 10, est restée presque inchangée.

Comme les changements n'ont pas affecté l'interface utilisateur, les instructions destinées aux utilisateurs de la version 9 restent valables. Les liens pour télécharger les nouvelles versions de jPrediction ainsi que son code source se trouvent dans les instructions.

 

L'écrivain Awl:
1) il compare simplement les deux séries temporelles par des valeurs absolues, c'est-à-dire qu'un décalage et une échelle de prénormalisation sur l'axe vertical sont nécessaires, et dépendent en grande partie de l'implémentation particulière.

2) Par exemple, ici https://www.mql5.com/ru/code/10755 prend 2 pièces de longueur fixe pour comparaison

3) et ne tient pas compte du fait que l'un d'eux peut être plus long, l'autre plus court.

4), et la quantité de calcul peut être considérablement réduite, etc. Nous pouvons parler de regroupement par des paramètres spécifiques à DTW - nous pouvons calculer non seulement le "degré de similarité" de deux fragments, mais aussi le rapport des échelles horizontales.

1) Avant une comparaison de similarité de deux séries par l'algorithme DTW, la normalisation se fait bien sûr de manière habituelle... c.a.d. remplacer les valeurs absolues de prix dans la gamme disons de 0 à 1, qu'entendez-vous par normalisation dudécalage et de l'échelle ? expliquez svp

2) Merci pour le lien, je suis pour le moins choqué, j'ai exactement la même idée que l'auteur, j'ai fait exactement les mêmes recherches, je suis passé par exactement le même chemin d'évolution, de la corrélation régulière à DTW, ça me donne la chair de poule.... nous faisions la même chose, nous pensions à la même chose, mais à des moments différents, dans des endroits différents, des picotements...

3) Oui pas pris en compte, bien qu'il serait correct de considérer, mais je devine pourquoi l'auteur ne l'a pas mis en œuvre, le fait est que si vous commencez à penser plus profondément type : "mais comment le mettre en œuvre" alors sort un grand nombre de questions qui n'ont pas de réponses ...

parce qu'il ne s'agit pas simplement de rechercher des similarités avec DTW sur des segments de longueur fixe, comme je l'ai fait dans le clustering ou l'algorithme de l'auteur de cet article, mais c'est beaucoup plus compliqué...

voici quelques questions qui se posent

1. Comment comparer la similitude du modèle de prix actuel avec les modèles historiques, si nous devons non seulement parcourir l'histoire et rechercher la similitude, mais aussi élargir/diminuer dynamiquement le modèle actuel et le modèle historique auquel nous comparons ?

2. comment lutter avec une puissance déduite insuffisante personnellement pour DTW même sur une longueur fixe de deux sections je n'ai pas assez de puissance en totalité, et avec la variante ( 1.) la charge augmente des milliers de fois sans exagération....

4) Comment ?

 
mytarmailS:

1. Vous pouvez ramener les valeurs de la série dans l'intervalle [0;1], mais il est préférable, à mon avis, d'éliminer la composante constante en soustrayant la moyenne (MA) de chaque élément et en divisant chaque élément par l'écart type. Le navigateur, un tel parasite, a détruit une partie du texte.

3-4. Si vous examinez l'essence de l'algorithme, la façon dont la matrice est remplie, beaucoup de choses deviendront claires. Nous comparons deux segments de longueur égale, qui ont un début et une fin fixes. Nous pouvons fixer le début et rendre la fin flottante, et introduire une restriction du facteur d'échelle de 0,5 à 2 dans l'algorithme - vous obtiendrez DTW avec des contraintes. Le résultat ne sera pas un mais deux chiffres, et cela nous donnera un prédicteur supplémentaire. Comment réduire la quantité de calculs - trouver des "points singuliers" (extrema), les tirer les uns vers les autres et ainsi jeter une grande partie de la zone de la matrice, voir les liens pour plus de détails. Voir aussi wikipedia Dynamic Time Warping, section Références.

 
Alexey Burnakov:

Messieurs, une nouvelle tâche de ma part :

Voici un jeu de données au format .R : https://drive.google.com/open?id=0B_Au3ANgcG7CcjZVRU9fbUZyUkE

Il y a environ 40 000 lignes et 101 colonnes dans le jeu. La colonne la plus à droite est la variable cible. Sur le côté gauche se trouvent 100 entrées.

Je vous suggère d'essayer de construire un modèle de régression prédisant la valeur de la 101e colonne en fonction des 100 colonnes restantes, sur les 20 000 premières observations.

Sur les 20 000+ observations restantes, le modèle construit devrait montrer un R^2 d'au moins 0,5.

Je révèle ensuite la manière dont les données sont générées et je donne ma solution.

L'indice est la série de données temporelles. L'entrée est de 100 échantillons, prédits 1 avant. Il ne s'agit pas de prix, de cotations ou de leurs dérivés.

Alexei

Qui a essayé ? Mes collègues et moi voulons former une convolution NS. Il y a une certaine cartographie en cours. Nous l'espérons.

Une sorte d'application non conventionnelle de la méthode. D'un autre côté, nous présentons simplement une "image" unidimensionnelle en entrée et nous pouvons y plaquer des "pixels" voisins et leurs diverses interactions.

 
Alexey Burnakov:

Qui a essayé ? Mes collègues et moi voulons former une convolution NS. Il y a une certaine cartographie en cours. Nous l'espérons.

Une sorte d'application non conventionnelle de la méthode. D'un autre côté, nous présentons simplement une "image" unidimensionnelle en entrée et nous pouvons y plaquer des "pixels" voisins et leurs diverses interactions.

Laissez donc les collègues l'essayer, ou est-ce faible ?
 
Alexey Burnakov:

Mes collègues et moi voulons former une convolution NS. Il y a une certaine cartographie en cours. Nous l'espérons.

Intéressant, j'attends les impressions...
 
mytarmailS:


1. Comment pouvons-nous comparer la similitude de la tendance actuelle des prix avec les tendances historiques, si nous devons non seulement parcourir l'histoire et rechercher les similitudes, mais aussi élargir/diminuer dynamiquement la tendance actuelle et la tendance historique à laquelle nous nous comparons ?


Quel est le besoin pour ça ? Si un motif a une analogie dans l'histoire, alors il devrait être le même en termes de durée. Au moins, je cherchais des sections proportionnelles quand je faisais une recherche de motifs.
 
Youri Tarshecki:
Pourquoi un tel besoin ? Si un motif a une analogie dans l'histoire, alors il doit aussi correspondre dans sa durée. Au moins, je cherchais des sections proportionnelles quand je faisais une recherche de motifs.

1) Au moins parce qu'aucun modèle n'est exactement le même sur le marché,

2) et parce que dtw offre une si grande opportunité

3) et parce que nous connaissons tous le résultat de la recherche de patrons identiques par taille, vous y compris... ou allez-vous me surprendre ? :)

 
Événement:
Laissez donc vos collègues essayer, ou est-ce faible ?
Où voulez-vous en venir, passager ? Tu ne veux pas essayer, ou à ta façon. Je travaille sur ma propre tâche et je suis intéressé.
 
mytarmailS:
Intéressant, j'attends avec impatience les impressions...
Que diriez-vous d'autre ? Vous attendez les résultats ?