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

 
Vladimir Perervenko:

LSTM que nous verrons plus tard.

Pour l'instant, mon collègue et moi sommes arrivés à un R^2 de 0,2 sur le test. Quelques filtres de convolution et quelques neurones dans une couche entièrement connectée. L'idée est que la récurrence n'est pas nécessaire à cet endroit. Une extraction correcte des caractéristiques est nécessaire.

 
mytarmailS:

Je commence à comprendre ce concept : à partir du modèle actuel "B" dans l'historique, nous recherchons un modèle similaire à "A". En utilisant l'algorithme dtw, nous recherchons la similarité...

Ce qui est triste, c'est que nous ne savons pas quelle taille "B" et "A" pourraient avoir. et ça cause beaucoup de maux de tête,

Vous avez besoin non seulement de la recherche elle-même, mais aussi d'étendre/réduire dynamiquement ces modèles...

Si quelqu'un a des idées sur la manière de rendre une telle recherche aussi efficace que possible avec intérêt, je suis à l'écoute...

J'avais l'habitude d'utiliser un indicateur qui recherche des modèles de prix par distance euclidienne et dessine une continuation dans le futur avec des intervalles de confiance. Mais il n'y avait pas de mise à l'échelle sur l'axe des x et cela ne fonctionnait pas très bien.
 
Dr. Trader:

L'indicateur standard "Bill Williams Fractals" dans MT est également une recherche d'un certain modèle, sans dtw, mais juste par barres. Il a bien fonctionné une fois, jusqu'à ce qu'il échoue en raison de sa popularité (sur certains symboles sur D1, il peut encore être utilisé, le bénéfice est toutefois minime).

Mais la stratégie de trading avec cet indicateur est plus compliquée que "acheter/vendre sur une barre". Il utilise le pending, le tp et le sl, donc en plus de rechercher des modèles, vous devez rechercher des stratégies de trading auxquelles ils sont applicables.

La tâche du système de négociation peut être formulée comme suit :

sur chaque barre où le recalcul a lieu, effectuez deux actions :

1) choix entre "haut" et "bas".

2) sélection du volume de transaction(de 0 à un certain maximum)

Le résultat est approximativement le suivant :

en hausse de 0,1

up 0

en hausse de 0,13

up 0

en baisse de 0,23

en baisse de 0,3

...

Il s'agit d'une tâche extrêmement difficile à optimiser.

Pour commencer, vous pouvez réaliser une alternance "parfaite" de ces actions simples, conduisant au profit maximum avec le drawdown minimum, en effectuant des calculs assez lourds sur l'ensemble de l'historique.

Dans un deuxième temps, en sélectionnant des fics d'entraînement, vous pouvez essayer d'entraîner la machine sur les actions sélectionnées précédemment. Exemple :

ficha1, ficha2,... itch10 : 0

fich1, fich2,... itch10 : 0.4

...

fich1, fich2,... fich10 : -0,25

La régression sous sa forme classique.

Même le premier point n'est pas facile à mettre en œuvre. Des idées, camarades mathématiciens ?

 
Alexey Burnakov:

La tâche du système de négociation peut être formulée comme suit :

à chaque barre sur laquelle le recalcul a lieu, effectuez deux actions :

1) choix entre "haut" et "bas".

2) sélection du volume de la transaction(de 0 à un certain maximum)

Le résultat est approximativement le suivant :

en hausse de 0,1

up 0

en hausse de 0,13

up 0

en baisse de 0,23

en baisse de 0,3

...

Il s'agit d'une tâche très difficile pour l'optimisation.

Difficile dans quel sens ?
 
Alexey Burnakov:
J'avais l'habitude d'utiliser un indicateur qui recherche des modèles de prix par distance euclidienne et dessine une continuation dans le futur avec des intervalles de confiance. Mais il n'avait pas d'échelle sur l'axe des x et n'était pas très bon.
Je l'ai fait aussi, j'ai passé environ un an dessus, et nous avons eu une conversation à ce sujet il y a environ 50 pages, mais apparemment vous avez la mémoire courte et donc aucun intérêt pour cela.
 
Andrey Dik:
Compliqué dans quel sens ?

En informatique. Imaginez que vous ayez 2 000 000 de transactions de 5 minutes. Pour chacun d'eux, vous devez optimiser la valeur de -1 à 1 par incréments de 0,01. L'objectif est d'obtenir une transaction parfaite, parfaite.

Par exemple, il n'est pas nécessaire d'acheter à chaque minute pendant une tendance ascendante - c'est une perte de spread. Il est nécessaire au tout début de la tendance d'acheter beaucoup en une seule fois. Et ce sera comme ça :

jusqu'à 1

up 0

up 0

...

up 0

... vers le bas 1

au lieu d'un système inefficace

en hausse de 0,02

en hausse de 0,02

...

en hausse de 0,02

..

down 1

 
mytarmailS:
Je l'ai fait aussi, j'ai passé environ un an dessus et nous avons eu une conversation à ce sujet il y a environ 50 pages, mais apparemment, vous avez la mémoire courte et donc aucun intérêt.

Ce n'est pas une suggestion très logique.

Je me souviens, mais il n'y a aucun intérêt. Mais pas parce que c'est une idée délirante ou parce que je ne respecte pas vos idées. C'est parce que je suis occupé par une autre idée pour le moment.

 
Alexey Burnakov:

En informatique. Imaginez que vous ayez 2 000 000 de transactions de 5 minutes. Pour chacun d'eux, vous devez optimiser la valeur de -1 à 1 par incréments de 0,01. L'objectif est d'obtenir une transaction parfaite, parfaite.

Par exemple, il n'est pas nécessaire d'acheter à chaque minute pendant une tendance ascendante - c'est une perte de spread. Il est nécessaire au tout début de la tendance d'acheter beaucoup en une seule fois. Et il en sera ainsi :

Tu dois trouver les points de l'idéal ZZ, c'est bien ça ?
 
Andrey Dik:
Vous devez trouver les points d'une ZZ idéale, n'est-ce pas ?
Exactement un idéal. C'est-à-dire, sans compromis. S'il était possible d'optimiser parfaitement les actions pour chaque barre, ce serait votre zigzag idéal.
 
Alexey Burnakov:
Exactement idéal. C'est-à-dire sans compromis. Mais si vous pouviez optimiser les actions pour chaque barre, ce serait votre zigzag idéal.
Avez-vous essayé de lire mon article? Un tel zigzag est considéré comme un exemple de problème d'optimisation complexe.