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

 
Alexey Burnakov:

Une fois de plus, j'ai aussi des dizaines de modèles, je truque aussi les prédicteurs et les paramètres. Et ces modèles réalisent de solides bénéfices pendant une période de 8 ans chacun ! Et c'est la période de test. Mais lorsque les "meilleurs" modèles sélectionnés par le test sont testés par échantillonnage différé, il y a des surprises. C'est ce qu'on appelle la validation croisée de l'ajustement du modèle.

Par exemple, vous avez effectué une validation sur un échantillon retardé. Supposons que le modèle sur les données différées ait fusionné. Que faites-vous dans ce cas ? Si vous commencez à modifier à nouveau les paramètres pour passer la validation sur l'échantillon en attente, vous incluez essentiellement les données de l'échantillon en attente dans votre validation croisée, et la validation croisée devient également ajustée. Cela peut être corrigé en ajoutant un nouvel échantillon différé. Et si le modèle échoue sur ce point aussi ? Devons-nous ajuster les paramètres pour passer le nouvel échantillonnage retardé aussi ? C'est une course sans fin.

Inclure un échantillon différé dans la validation croisée et créer un nouvel échantillon différé n'est pas la solution, mais une boucle sans fin jusqu'à ce que vous ayez de la chance et que le modèle réussisse la validation différée. Vous pouvez alors vous arrêter, mais ce n'est pas une solution de forex, c'est juste la chance qui vous sourit, ce qui statistiquement serait une perte.

Donc la question est - disons que le modèle sur les données en attente a chuté. Que faites-vous dans ce cas ?

 
Dr. Trader:

Donc la question est - disons que le modèle sur les données en attente a fusionné. Que faites-vous dans ce cas ?

Je pensais que cette question était trop personnelle :)

Mieux encore : si votre modèle échoue au test sur l'échantillon en attente, incluez-vous l'échantillon en attente dans la validation croisée, et créez-vous un nouvel échantillon en attente ? Ou le faites-vous différemment ?


Je me base, par exemple, sur ce que San Sanych a déjà répété 1000 fois - il faut évaluer la qualité des prédicteurs. La "qualité" est un terme élastique. Je le fais, par exemple, par le biais d'une telle validation croisée et il s'agit plutôt d'une sélection de prédicteurs que de paramètres de modèle. Si le modèle, pendant la formation, trouve les mêmes dépendances dans les données dans n'importe quel domaine, c'est un argument fort pour dire que les prédicteurs sont bons.
Je n'aime pas dans mon approche que je doive échanger des ensembles. Si les dépendances sont constantes, il suffit d'entraîner un modèle sur les prédicteurs sélectionnés à la fin et il retrouvera les mêmes dépendances et pourra s'échanger lui-même. Mais il me manque quelque chose dans la sélection des prédicteurs, un modèle échoue.

 
Dr.Trader: qualité des prédicteurs....
De l'exemple primitif, il découle que les propriétés de la cible sont tout aussi importantes...
 
J'irai même plus loin que ça. La fonction cible est un point TRÈS important lors de la construction d'un modèle, car c'est elle qui aidera l'algorithme à effectuer la répartition. J'ai été confronté à ce problème à plusieurs reprises mais je ne l'ai pas encore résolu, j'ai donc laissé la valeur cible de 50 pips. Juste au-dessus de l'écart...
 
Alexey Burnakov:

Encore une fois, j'ai des dizaines de modèles, je bricole aussi avec les prédicteurs et les paramètres. Et ces modèles vont en plus solide sur une période de 8 ans chacun ! Et c'est la période de test. Mais lorsque les "meilleurs" modèles sélectionnés par le test sont testés par échantillonnage différé, il y a des surprises. C'est ce qu'on appelle la validation croisée de l'ajustement du modèle.

Lorsque cela est clair, l'expérimentation pure se poursuit. Si ce n'est pas clair, vous constaterez une baisse multiple de la qualité dans le monde réel. C'est ce que vous voyez 99% du temps.

Tout cela arrive parce que le marché va à l'encontre de ses propres statistiques méga souvent...

1) Je vais d'abord vous montrer pourquoi je le pense et le prouver.

2) Ensuite, j'expliquerai pourquoi cela se produit, la mécanique du processus.

Donnez-moi quelques heures...

Je ne vous donnerai pas de solutions toutes faites, car je n'en ai pas moi-même, mais la compréhension même du processus est quelque chose...

1)

==================================================================

La première chose que j'ai faite a été d'entraîner deux réseaux profonds avec des sorties probabilistes, en fait, n'importe quel réseau fera l'affaire, l'essentiel étant que la sortie du réseau ne soit pas une réponse de classe claire - "1", "0"... C'est-à-dire que la sortie sera par exemple "0,13" et cela signifiera que les données actuelles appartiennent à la classe "1" avec une probabilité de "0,13%".

J'ai formé un réseau exclusivement pour l'achat, l'autre exclusivement pour la vente.

Le signal (fourchette cible) pour la vente est le point à partir duquel il y a eu une baisse d'au moins 0 ,2% du prix,


й

L'objectif ressemble à "000000000010000000000" où "1" correspond à un retournement baissier et "0" à un retournement non baissier.

Pour un renversement à la hausse, tout est pareil, respectivement ...

Tous les prix des trois dernières bougies OHLC ontété utilisés comme prédicteurs et toutes les combinaisons possibles de leurs différences ont été construites.

Ainsi, les réseaux sont entraînés, nous prenons les prédictions des réseaux (leurs sorties) et dessinons des graphiques sous le prix. Les graphiques ci-dessous montrent les sorties de deux réseaux pour l'achat et la vente. La sortie du réseau indique par exemple la probabilité du renversement à la baisse à la prochaine bougie. Voir FIG. 1, idem pour le Buy.

Le vert indique une sortie pour acheter, et le rouge une sortie pour vendre.

ф

Si vous regardez attentivement la FIG. 2 Vous pouvez remarquer que le graphique des prix va à l'encontre de ces probabilités, lorsque la probabilité de renversement à la hausse est plus élevée que la probabilité de renversement à la baisse (le graphique vert est plus élevé que le rouge) le prix baisse toujours, bien que nous ayons en fait enseigné le contraire au réseau, essayons de présenter les données d'une manière plus démonstrative. Pour commencer, établissons les sommes cumulées des sorties d'achat et de vente.

Cumsum(buy.neural); Cumsum (sell.neural)

я

fig. 3

Et maintenant, construisons la différence entre la somme cumulée du réseau d'achat et la somme cumulée du réseau de vente.

Cumsum(buy.neural)- Cumsum (sell.neural)


ц

Comme on peut le voir sur la FIG. 4 du graphique bleu et du graphique des prix, le prix est complètement inversement corrélé avec les prévisions du réseau (graphique bleu). Pour rendre les choses encore plus claires, je vais inverser le signe du graphique bleu.

Cumsum(buy.neural)- Cumsum (sell.neural)/ -1

к

En regardant la FIG. 5 nous n'avons aucun doute, le prix va à l'encontre des prévisions des réseaux et nous pouvons également faire une conclusion intéressante que l'utilisation des réseaux neuronaux et de leurs probabilités statistiques nous permet de reconstruire entièrement le prix juste sur la base de la connaissance de la probabilité si le renversement est fait à la prochaine bougie ou non.

C'est très cool, mais en fait c'est inutile parce que notre graphique bleu n'a aucune capacité prédictive, il ne surperforme pas le prix mais le suit. Cela signifie qu'en fait il n'y a pas de différence entre regarder le prix ou le graphique bleu, mais la mécanique du marché est claire- "si la probabilité de baisser est supérieure à la probabilité de monter, le prix va monter"...

=========================================================================

Aller de l'avant....

J'entraînais un modèle de Markov caché SMM ou HMM - modèle de Markov caché.

C'est un modèle probabiliste appliqué notamment aux données non stationnaires, la rumeur dit qu'il peut aussi être appliqué aux marchés...

De la même manière, deux modèles ont été construits, mais le modèle cible ne montre pas les renversements de tendance mais capte simplement la tendance. Ainsi, un modèle identifie la tendance à la hausse et donne une estimation probabiliste, tandis que l'autre modèle montre une probabilité de tendance à la baisse.

н

Ne faites pas attention aux métiers, j'expérimentais...

donc ci-dessous nous avons deux vecteurs avec les probabilités d'une tendance à la hausse en vert et d'une tendance à la baisse en rouge , la ligne noire est juste le pic des probabilités que le modèle donne, c'est juste l'écart type, plus simple encore c'est la Bollinger

Alors regardez - lorsque le modèle commence à produire des probabilités maximales d'un certain événement (allant au-delà de la ligne noire vers le bas), il fait l'inverse...
Donc, ici aussi, nous avons essentiellement obtenu un mouvement de prix contre nos propres statistiques...

Maintenant, pensons que si le marché est une bête) avec un tel comportement, les algorithmes de MO peuvent-ils prédire le marché ? Si en fait la RF, le réseau, le SMM, etc. font leurs prédictions d'une manière ou d'une autre statistiquement.....

En fait,c'est la réponse à la raison pour laquelle le modèle se casse pratiquement le deuxième jour après son optimisation, même s'il (l'optimisation) est trois fois génétique et quatre fois procrosvalidé...

Que faire ? ne sait pas encore

 
mytarmailS:

1)

==================================================================

La première chose que j'ai faite a été d'entraîner deux réseaux profonds avec des sorties probabilistes ; en fait, n'importe quel réseau fera l'affaire, l'essentiel étant que la sortie du réseau ne soit pas une réponse claire de la classe - "1", "0"... C'est-à-dire que la sortie sera par exemple "0,13" et cela signifiera que les données actuelles appartiennent à la classe "1" avec une probabilité de "0,13%".

J'ai formé un réseau exclusivement pour l'achat, l'autre exclusivement pour la vente.

Le signal (fourchette cible) pour la vente est le point à partir duquel il y a eu une baisse d'au moins 0 ,2% du prix,


L'objectif ressemble à "000000000010000000000", où "1" correspond à une inversion de vente et "0" à une inversion de vente.

Pour un renversement à la hausse, tout est pareil, respectivement ...

Tous les prix des trois dernières bougies OHLC ontété utilisés comme prédicteurs et toutes les combinaisons possibles de leurs différences ont été construites.

Ainsi, les réseaux sont formés et nous prenons les prédictions du réseau (leurs sorties) et dessinons des graphiques sous le prix.

Si vous regardez attentivement la FIG. 2, vous pouvez voir que le graphique des prix va à l'encontre de ces probabilités.

En regardant la FIG. 5 vous n'avez aucun doute, le prix va à l'encontre des prévisions des réseaux et c'est aussi intéressant, en utilisant les réseaux neuronaux et leurs probabilités statistiques nous sommes capables de reconstruire entièrement le prix juste sur la base de la connaissance de la probabilité si le renversement est attendu à la prochaine bougie ou non.

Je suis une personne intelligente qui développe et entraîne des réseaux neuronaux de toutes sortes, mais qui ne voit toujours pas les choses simples. J'ai lu votre article et j'ai été assez surpris. Si j'ai bien compris, vous avez, grosso modo, trouvé toutes les baisses de prix de 0,2 % après un certain sommet, puis vous avez pris trois bougies proches de ce sommet et effectué quelques manipulations avec leurs prix pour enfin les réduire à une certaine probabilité à l'aide d'un réseau neuronal. Mais excusez-moi, ne pensez-vous pas qu'une telle approche est trop primitive ? :) Vous creusez dans tous les mauvais endroits. C'est pourquoi le résultat est à l'opposé de la réalité. Je caractériserais votre approche de la manière suivante : vous essayez de prendre 3 pixels d'une image FullHD et, sur la base de ces trois pixels, vous pouvez vous faire une idée de l'ensemble de l'image. D'accord, pas toute l'image, mais quelle est la probabilité de prédire correctement au moins 10% de la surface de l'image ? J'espère que mon exemple est clair. Il n'est pas nécessaire de regarder les pixels pour voir l'image. En d'autres termes, vous n'avez pas besoin de regarder les barres individuelles pour comprendre le graphique, vous devez regarder l'ensemble du graphique. Et la solution du problème relève davantage de la géométrie que de l'algèbre, de la physique ou de la biologie, par exemple. Cependant, lorsque je lis certaines des recherches effectuées ici, j'ai le sentiment qu'elles tentent de comprendre la structure humaine à l'aide de la géographie. :)
 

BlackTomcat:
1) J'ai lu votre message et j'ai été assez surpris. Si j'ai bien compris,

2) les amener éventuellement à une certaine probabilité à l'aide d'un réseau neuronal. Mais excusez-moi, ne pensez-vous pas vous-même qu'une telle approche est trop primitive ? :) Vous creusez dans tous les mauvais endroits. C'est pourquoi le résultat est exactement l'opposé de la réalité.

3) Je caractériserais votre approche de la façon suivante : vous essayez de prendre 3 pixels d'une image FullHD et de vous faire une idée de l'image entière sur la base de ces trois pixels. D'accord, pas toute l'image, mais quelle est la probabilité de prédire correctement au moins 10% de la surface de l'image ? J'espère que mon exemple est clair. Il n'est pas nécessaire de regarder les pixels pour voir l'image.

4) En d'autres termes, vous n'avez pas besoin de regarder les barres individuelles pour comprendre le graphique, vous devez regarder l'ensemble du graphique. Et la solution du problème relève davantage de la géométrie que de l'algèbre, de la physique ou de la biologie, par exemple. Cependant, lorsque je lis certaines des recherches effectuées ici, j'ai le sentiment qu'elles tentent de comprendre la structure humaine à l'aide de la géographie. :)

1) C'est vrai...

2) ok, mais alors pourquoi les probabilités sont opposées, c'est censé être un simple hasard et non une corrélation inverse.

3) Je suis d'accord, j'ai besoin de prendre le maximum d'informations sous la forme la plus comprimée possible, c'est pourquoi j'ai parlé dernièrement du profil de volume, ou d'autres alternatives...

Avez-vous des suggestions sur la façon de présenter les données du réseau ? Partagez-les, nous sommes tous là pour ça.

4) Je suis tout à fait d'accord avec vous, je me suis demandé comment faire, par exemple, je dois mémoriser tous les niveaux qui se situent dans la fourchette du prix actuel, comment faire ? Comment introduire les niveaux dans le réseau ? En outre, leur nombre sur chaque bougie sera différent, ce n'est pas une tâche triviale, pour moi c'est juste ...

p.s. s'il vous plaît, ne citez pas tout mon message, quelques mots suffisent pour comprendre que vous vous adressez à moi, supprimez s'il vous plaît les choses inutiles

 
BlackTomcat:
Des gens intelligents, ils développent et entraînent des réseaux neuronaux, mais ils ne voient pas les choses simples. J'ai lu votre article et j'ai été assez surpris. Si j'ai bien compris, vous avez, en gros, trouvé toutes les baisses de prix de 0,2 % après un certain sommet, puis vous avez pris trois chandeliers proches de ce sommet et effectué quelques manipulations avec leurs prix pour enfin les réduire à une certaine probabilité à l'aide d'un réseau neuronal. Mais excusez-moi, ne pensez-vous pas qu'une telle approche est trop primitive ? :) Vous creusez dans tous les mauvais endroits. C'est pourquoi le résultat est à l'opposé de la réalité. Je caractériserais votre approche de la façon suivante : vous essayez de prendre 3 pixels d'une image FullHD et de vous faire une idée de l'image entière sur la base de ces trois pixels. D'accord, pas toute l'image, mais quelle est la probabilité de prédire correctement au moins 10% de la surface de l'image ? J'espère que mon exemple est clair. Il n'est pas nécessaire de regarder les pixels pour voir l'image. En d'autres termes, vous n'avez pas besoin de regarder les barres individuelles pour comprendre le graphique, vous devez regarder l'ensemble du graphique. Et la solution du problème relève davantage de la géométrie que de l'algèbre, de la physique ou de la biologie, par exemple. Cependant, lorsque je lis certaines des recherches effectuées ici, j'ai le sentiment qu'elles tentent de comprendre la structure humaine à l'aide de la géographie. :)

Je suis d'accord. Il faut regarder l'ensemble du tableau.

Mais cela n'est bon que pour une image statique. En d'autres termes, nous pouvons, sous certaines conditions, diviser l'ensemble de l'image en 100 parties, apprendre à partir de 70 parties et obtenir d'excellentes capacités de prédiction à partir de 30 parties. C'est à peu près ce que nous faisons avec la prédiction sur le marché. Quel est donc le problème ? Pourquoi y a-t-il déjà des problèmes en temps réel ?

Et le problème est que le tableau n'est pas statique. C'est un film. Bien sûr, après avoir étudié et appris à faire des prédictions dans l'une des images d'un film, il est inutile de prédire les zones voisines de l'image dans la vie réelle - l'image suivante est déjà différente ! Et aucune des images du film n'a de copie absolue et même si vous trouvez dans le futur des images similaires à celles du passé, ces images sont suivies par d'autres, pas les mêmes qui ont suivi une image similaire dans le passé. C'est là le problème.

Ainsi, si l'on examine les images individuelles d'un film, on peut même conclure que les images sont aléatoires, tout comme beaucoup sont convaincus que le marché est très aléatoire, si ce n'est à 100%. Nous savons que regarder un film a un sens, nous pouvons même prédire ce qui va se passer à la fin du film ! Alors, quel est l'intérêt ? - Peut-être est-ce parce qu'il faut voir plus large, étudier des modèles plus globaux, qui ne changent jamais - par exemple, j'ai vérifié une fois combien de % en moyenne le prix remonte, et bien, il s'est avéré que c'était environ 30% (si ma mémoire est bonne), mais le fait est que ce chiffre est presque le même pour toutes les TF et pour tous les instruments (paires de devises et métaux, pour les CFD et autres, je n'ai pas vérifié, mais il semble que ce soit la même chose) ! C'est incroyable. C'est exactement le genre de modèles constants à utiliser, mais il est souvent plus facile de le faire sans réseaux neuronaux, échafaudages, etc., car pour utiliser le MO, il faut être capable de déterminer le sens du film, ce qui n'est pas facile, voire impossible.

 
Andrey Dik:

Et le problème est que le tableau n'est pas statique. C'est un film.

Voici une autre analogie.

Presque tout le monde possède un clavier intelligent sur son smartphone. Si vous tapez un mot, le clavier vous suggère le mot suivant. Cela dépend du mot et des mots précédents tapés. Je l'ai essayé, vous pouvez même taper un texte assez significatif à partir des mots suggérés par le clavier. Les mots sont des motifs, un groupe de mots est un groupe de motifs.

Mais cette technologie sera impuissante sur le marché, tout comme les modes opératoires considérés ici, car sur le marché, les "mots" changent avec le temps (l'ordre et la combinaison des lettres individuelles), et la signification des "mots" individuels change. Il ne reste qu'une signification supérieure de l'ensemble du texte, qui ne nous est évidemment pas accessible.

Maintenant, les gens me demanderont : que faisons-nous maintenant ? - Je ne sais pas quoi faire avec le MO, le résultat sera toujours nul.

Ou même quelqu'un dira : "Tu ne sais pas cuisiner le MO !" - Je suppose que je ne le fais pas. Mais qui sait comment ? Qui a été capable d'utiliser le MO sur le marché ? Quelqu'un connaît-il des exemples de réussite de ce type ? Oui, maintenant ils vont citer l'exemple de Batter, mais lui aussi a fait un flop depuis...

 
mytarmailS:

2) ok, mais alors pourquoi la probabilité est opposée, en fait il devrait s'agir d'un simple hasard et non d'une corrélation inverse.

Avez-vous des suggestions sur la façon de représenter les données du réseau ? Partagez-les, nous sommes tous là pour ça.

Je m'excuse pour cette énorme citation, mais j'écris à partir de mon téléphone pour le moment et les options d'édition sont limitées ici. Vous pouvez commencer à mixer une citation et ne plus être en mesure de revenir à un champ propre pour votre texte. Ce problème est facile à résoudre sur un PC, mais posera des difficultés sur un téléphone.
Sur le point 2 - je suis d'accord avec vous pour dire qu'il devrait s'agir d'un hasard complet, mais en fait je ne suis pas sûr que la période du test avant sur laquelle vous avez obtenu le résultat inverse suive immédiatement la période sur laquelle la formation a été faite. Y a-t-il un intervalle de temps entre ces périodes ? En général, le modèle (s'il était sur le marché) cesse de fonctionner progressivement : le graphique de l'équilibre dans le testeur diminue d'abord sa pente, puis il tombe. Le modèle est épuisé, il est reconnu et beaucoup de gens commencent à l'exploiter. De ce fait, il se transforme en un modèle inverse. Cependant, s'il y avait une logique (marché) derrière le modèle, alors après un certain temps, il peut recommencer à fonctionner. Mais ici, ce qui suit me semble juste : plus la régularité a fonctionné auparavant, plus la période d'"oubli" sera longue. Mais je n'ai pas encore testé cela de manière approfondie.
Je ne travaille pas avec les réseaux neuronaux, et je n'ai donc aucune idée de la façon de préparer les données pour les former. Les méthodes graphiques(géométriques) sont bien reconnues à l'œil, mais elles sont difficiles à formaliser. En ce moment, je travaille sur un TS qui utilise des méthodes graphiques. À mon avis, s'il y a des modèles qui fonctionnent, c'est ici.
Je voudrais ajouter quelques commentaires à mon précédent message. Il semble que j'aie durci mon analyse des barres individuelles à cet endroit. Mais en fait, ce n'est pas le cas. L'analyse des barres individuelles a le droit d'exister, mais ces barres clés ne se trouvent généralement pas dans la zone des sommets.
Raison: