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

 
Alexey Burnakov:
Il s'agit d'une description des sorties multivariées. Je l'ai mis en œuvre moi-même. Augmente les chances d'un ajustement.
Est-ce qu'elle augmente ? C'est étrange. Ça le diminue pour moi.
Comme d'habitude, apparemment, le diable se cache dans les détails.
 
SanSanych Fomenko:

Le principal problème réside dans le surentraînement, lorsque dans les échantillons futurs, les arbres existants ne prédisent pas correctement la classe, ou plutôt, ils prédisent la classe de plus en plus mal. C'est la question abordée dans ce fil, à savoir que nous essayons de prouver que les arbres obtenus se produiront dans le futur et que l'erreur de classification sur les échantillons futurs sera à peu près la même que sur l'échantillon d'entraînement.

Bien que ce soit implicite, je préfère l'ajouter pour que ce soit plus clair.

En général, le sur-apprentissage dans les modèles a pour effet que le modèle se souvient très précisément des exemples d'entraînement. L'apprentissage commence avec le modèle qui dérive certaines règles générales, des dépendances de valeurs cibles sur les prédicteurs, mais plus l'apprentissage se poursuit, plus ces règles dans le modèle deviennent strictes, pour finalement aboutir à des exemples complètement mémorisés, avec une incapacité totale du modèle à prédire sur de nouvelles données. Ceci est géré par la validation croisée, et l'arrêt de la formation lorsque le modèle a appris certaines règles généralisées mais n'a pas encore commencé à apprendre des exemples spécifiques, ce qui donnera de meilleures performances prédictives sur de nouvelles données.

Cela fonctionne très bien pour les données dont les dépendances restent constantes dans le temps - reconnaissance d'images ou de sons, par exemple. Mais le forex est différent dans la mesure où un grand nombre des dépendances trouvées ne sont pas persistantes dans le temps. Le problème n'est pas seulement d'apprendre sans mémoriser des exemples d'entraînement, mais aussi de s'assurer d'une manière ou d'une autre que les modèles trouvés restent dans le futur.

La tâche est plus complète : il s'agit de développer une méthode d'estimation des prédicteurs par rapport à une variable cible qui garantisse que la relation entre les prédicteurs et la variable cible est constante et existera également sur de nouvelles données.

Les nuances résident dans le choix des valeurs cibles à utiliser(couleur des barres, ou retournement, ou tendance), ou des prédicteurs (prix, indicateurs, indices). Si nous pouvons évaluer l'ensemble des prédicteurs et leur capacité de prédiction des valeurs cibles, ainsi que l'évolution de cette capacité de prédiction dans le temps, nous pouvons même trouver les combinaisons de prédicteurs et de valeurs cibles qui donnent la meilleure estimation.
Ensuite, on peut prendre n'importe quel modèle, l'entraîner (peut-être même avec un contrôle du réentraînement, ce qui est important pour la neuronique par exemple), et on obtient un graal.

 
Dr. Trader:


En général, le sur-apprentissage des modèles a pour effet que le modèle se souvient très précisément des exemples d'apprentissage. L'apprentissage commence avec le modèle qui dérive certaines règles générales, la dépendance des valeurs cibles par rapport aux prédicteurs, mais plus l'apprentissage se poursuit, plus ces règles dans le modèle deviennent strictes, ce qui conduit finalement à des exemples complètement mémorisés, avec une incapacité totale du modèle à prédire sur de nouvelles données.

On dirait qu'il n'y a que nous deux ici, car la position d'Alexey n'est pas tout à fait claire pour moi.

Le reste est l'expérience de personnes qui sont sur le marché depuis très longtemps. Je crois qu'ils sont des commerçants prospères. Je connais dans la littérature certaines personnes qui ont réussi à utiliser l'heuristique pendant de nombreuses années, mais le seul résultat était une monotonie lugubre - une perte de la dépo. Toute heuristique ne répond pas à la question du réapprentissage, c'est pourquoi la fin viendra : dans un jour, un mois, un an... mais toujours de manière inattendue et extrêmement inopportune.

PS.

Le sur-apprentissage est un problème fondamental de la science, dans le sens où le sujet de la science est l'extraction de certaines lois de base, à partir desquelles de nombreuses particularités peuvent être expliquées.

Par exemple, la loi de Newton.

Prenez une feuille de papier - elle tombera forcément sur le sol. Froissez cette feuille de papier - elle retombera forcément, mais plus vite. Newton dit que tout tombe avec la même accélération. Comment ça ? C'est ainsi que l'homme parvient à écarter le particulier, qui est un grand nombre, de la réalité approximative et à obtenir une loi universelle, et si cela ne fonctionne pas, alors ces déviations peuvent toujours être expliquées.

C'est ainsi que fonctionne la science.

Ce que nous faisons, c'est essayer de "dégrossir" le quotient, de représenter ce quotient sous la forme d'un modèle afin d'avoir une idée de tous les quotients futurs.

Lutter contre le surentraînement est un problème fondamental du commerce.

 
Dr. Trader:

Cela fonctionne bien pour les données dont les dépendances restent constantes dans le temps - la reconnaissance d'images ou de sons, par exemple. Mais le forex est différent dans la mesure où un grand nombre des dépendances trouvées ne sont pas persistantes dans le temps. Le problème n'est pas seulement de parvenir à apprendre sans mémoriser d'exemples d'entraînement, mais aussi de s'assurer d'une manière ou d'une autre que les modèles trouvés restent dans le futur.

Un peu hors sujet mais juste une petite information...

Dans la reconnaissance vocale en particulier, la parole est un problème lorsqu'une personne dit un mot - un modèle spectral du mot alimenté à l'algorithme "HMM" ou "RNN" ...mais le problème est que si l'autre personne dit le même mot, il le dira au moins à une vitesse différente, ces motifs sont les mêmes mais étirés dans le temps, et maintenant l'analogie - le motif tête et épaules largeur de 33 bougies et le même motif tête et épaules largeur de 88 bougies, la largeur est différente, mais le motif est le même ......

Pour résoudre le problème avec l'algorithme de reconnaissance vocale a été développé - une distorsion temporelle dynamique "DTW". La tâche de l'algorithme est de trouver deux vecteurs similaires même s'ils sont de longueurs différentes. Ainsi, lorsque différentes personnes prononcent le même mot, le modèle spectral du mot passe d'abord par l'algorithme "DTW", puis par l'algorithme "MO", et le mot est reconnu avec succès. Je ne l'ai pas encore utilisé donc je ne peux rien dire mais je suppose que je vais devoir l'essayer, bien que si vous dites qu'il n'y a pas de modèles dans le marché alors bien sûr cet algorithme ne fonctionnera pas, je n'ai pas encore décidé quelle est ma vision du monde...

Paquets R : "DTW" , "dtwclust"

 
Alexey Burnakov:
C'est la description de la sortie multivariée d'une transaction. Je l'ai moi-même mis en œuvre. Augmente les chances d'obtenir un bon ajustement.
Andrey Dik:

La méthode est la suivante (tout ce qui suit s'applique de la même manière à ML et à TS classique).

L'objectif est d'éliminer l'incertitude, c'est-à-dire de se débarrasser de l'ajustement dans la formation et l'optimisation d'une part, et d'autre part de formuler sans ambiguïté des exigences "douces" pour le système. Le TP et le SL à l'entrée sont également une incertitude, c'est pourquoi nous ne les utilisons que pour les sorties d'urgence (cela dépend de la volatilité de l'instrument et nous les sélectionnons de manière empirique, de sorte que 100% des transactions déclenchent des stops aussi rarement que possible, idéalement jamais. Prévoir l'ensemble de la transaction, de l'entrée à la sortie. Nous considérons que le résultat avec un bénéfice excluant le spread et les commissions est une transaction réussie (le fonctionnement du système est déterminé après avoir vérifié si le spread et les commissions sont couverts). Dès que le signal d'entrée est reçu, le système entre et attend un certain nombre de barres (déterminé empiriquement et dépendant des prédicteurs et de l'instrument). - Conclure l'affaire, si elle est perdante, on attend une barre de plus. Parfois, j'utilise deux paramètres : minimum et maximum (si une transaction n'est pas clôturée après le nombre maximum de barres - elle est clôturée de toute façon), et parfois je n'en utilise qu'un seul - le nombre minimum de barres.

Beaucoup de gens seront surpris, mais de nombreux systèmes, même ceux qui semblaient désespérés, commencent à fonctionner, y compris les TS sur les baguettes, sans parler de toutes sortes de systèmes avec ML. L'astuce consiste à ne pas exiger de vous et de la machine des règles de CT en béton, à ne pas essayer de décrire entièrement les mouvements du marché et à donner ces règles très "douces" pour le ML. En outre, nous nous débarrassons du mauvais héritage du marché sous la forme de queues lourdes (ou plus précisément, les queues cessent d'avoir de l'importance), l'absence de stationnarité dans la BP cesse d'avoir de l'importance - parce que nous savons que les formes de marché peuvent être mises à l'échelle verticalement et horizontalement sans changer leurs propriétés internes (et cela rend la vie incroyablement difficile pour les émules).

J'ai écrit à ce sujet sur le 4ème forum, je pense dans le fil de discussion Swinosaurs, sur deux types de tous les TS (avec des frontières définies et indéfinies), mais l'idée n'a pas été complétée là. Maintenant, tout semble plus clair, ou du moins...

En général, j'utilise ma règle lors du développement de systèmes de trading : si les changements de logique conduisent à augmenter la part de variantes réussies des paramètres parmi toutes les variantes possibles, alors c'est un bon changement (la probabilité de choisir une mauvaise variante pour le trading est réduite, peu importe comment nous changeons les paramètres - nous serons du côté positif). Cette approche a permis d'augmenter cette part dans mon TS.

Il me semble que tout ce que vous avez décrit s'inscrit dans l'optimisation du modèle ARIMA. Lors de l'optimisation, vous sélectionnez le nombre de barres sur lesquelles le modèle est construit.
 
Alexey Burnakov:SanSanych Fomenko:

Quelle est cette folle habitude de répondre en deux mots et de citer 100 lignes de son interlocuteur ? ? ??? Le forum compte 120 pages. Si vous supprimez ces citations inutiles, il vous reste peut-être 60 pages de texte utile... Respectez les personnes qui le lisent ou le liront à l'avenir.

 
Andrey Dik:

La méthode est la suivante (tout ce qui suit s'applique aussi bien à ML qu'à TS classique) .....

Pouvez-vous décrire point par point ce qu'il faut faire et comment le faire, en tant qu'algorithme, parce que je ne comprends pas vraiment comment vous suggérez de faire...

 
SanSanych Fomenko:
Il me semble que tout ce que vous avez décrit s'inscrit dans l'optimisation du modèle ARIMA. Lors de l'optimisation, le nombre de barres sur lesquelles le modèle est construit est sélectionné.
Pas une valeur fixe de barres, mais des valeurs possibles "de maintenant à maintenant".
 
mytarmailS:

Pouvez-vous décrire point par point ce qu'il faut faire et comment le faire, comme un algorithme, car je ne comprends pas vraiment comment vous vous proposez de le faire.

Vous avez raison au sujet de l'étirement dans le temps des chiffres de prix. C'est ce dont je parlais, l'étirement/la mise à l'échelle verticale et horizontale. Mais ce ne sont pas seulement les figures dans leur ensemble qui sont étirées différemment, mais aussi les chandeliers individuels à l'intérieur de celles-ci. C'est un problème supplémentaire et je doute que desméthodes de pré/post-traitement de type DTW puissent être appliquées de manière adéquate.Ce sont des formes de marché déformées d'une manière inconnue.

Pour être plus précis : nous avons un signal d'achat sur la barre actuelle, nous comptons le plus petit nombre de barres à venir et nous vérifions si l'opération sera rentable, si c'est le cas - nous la fermons, sinon - nous comptons une autre barre à venir et nous vérifions à nouveau. De cette façon, nous atteignons le nombre maximum de barres et les fermons définitivement. Il s'agit d'un mécanisme d'apprentissage.

En général, l'apprentissage automatique des données de marché ressemble à ce qui suit : nous montrons à la machine une combinaison de formes graphiques, des cercles, des carrés, des triangles, des trapèzes, des formes de tailles et de formes différentes. La machine doit répondre par une forme quelconque, un triangle, un carré ou un cercle (exagéré). On met la réponse sur le modèle et f*ck ! - La forme dans la réponse ne correspond pas du tout au modèle ! Et dans le processus d'apprentissage, pour une raison ou une autre, ils se sont assortis comme des bites. .... C'est le genre de problème que nous résolvons ici. Et je dis - pas de problème, nous pouvons étirer un peu le modèle, de sorte que les réponses s'avèrent correctes même en dehors des données d'entraînement.

C'est un "poisson" de base d'un système, qui fonctionne déjà par lui-même. Mais personne n'interdit d'ajouter au TS et d'utiliser dans le trading des outils tels que le SL Breakeven. Le système reste le même, mais pour que, lorsque le marché évolue dans notre direction, nous obtenions des bénéfices supplémentaires au-delà du "plan" et alors, soit nous chalutons le SL, soit nous commençons à fermer partiellement des positions, en fonction de la distance parcourue par rapport au mouvement statistique des prix sur une période donnée, etc.

 
Andrey Dik:
Est-il en augmentation ? C'est étrange. Mais elle diminue.
Comme d'habitude, apparemment, le diable se cache dans les détails.

Évaluez-vous les performances de la stratégie sur la base de l'historique ou y a-t-il un long terme ? Le diable est peut-être dans l'évaluation de l'histoire.

Ecoutez, j'avais une stratégie écrite sur 100 lignes dans MT4 par moi-même. J'ai écrit à ce sujet dans mon profil en décembre 2014: https://www.mql5.com/ru/users/alexeymosc/page3?#userActions.

Voici à quoi ressemble la dernière version, mise en place en janvier 2015 :

Je l'ai ensuite testé sur le terrain, en conjonction avec d'autres stratégies. J'ai aussi écrit sur eux partout.

Ceci et cela, la main l'a drainé.

J'ai vu aujourd'hui un test en avant de la fin de l'optimisation à la fin du mois de juillet avec les mêmes paramètres. Regardez :

Tout est là. L'écart est de 30, le lot de 0,1.

Je vais l'essayer sur toutes les tiques également, pour être sûr que les prises fonctionnent mieux :

Entrée sur impulsion, sortie via OR sur un certain nombre de conditions. En principe, cela semble fonctionner. Mais si j'entre au sommet, puis que j'attends un an pour retirer de l'argent...

Alexey Burnakov
Alexey Burnakov
  • www.mql5.com
Профиль трейдера