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

 
Andrey Dik #:

Oui, la question est toujours d'assurer la robustesse du modèle sur de nouvelles données. C'est pourquoi j'ai dit que la recherche d'un tel critère est l'une des plus importantes et des plus difficiles.

Je veux dire que les mesures d'évaluation des résultats que nous avons l'habitude d'utiliser dans le commerce et l'apprentissage automatique ne sont qu'une partie de l'évaluation de la qualité du modèle, de la mise au point ou de l'approximation qui en résulte.

Ce qui est important, c'est de savoir dans quelles conditions nous y sommes parvenus. Quelle quantité d'informations a été nécessaire pour y parvenir ? Nous devons évaluer la stabilité des observations dans le temps. La contribution de chaque prédicteur.

Le problème des modèles complexes comportant un grand nombre de prédicteurs et de règles de décision (qu'il s'agisse d'arbres ou de neurones) est qu'ils créent des modèles complexes qui ont peu de chances de se répéter dans leur intégralité, d'où le biais dans la probabilité d'affectation à l'une des classes. Plus tôt, j'ai publié une image de "ce que disent les arbres" qui montre que la plupart des feuilles ne s'activent tout simplement pas sur de nouvelles données.

Tout cela est dû au fait que nous avons affaire à une "fonction" (en fait leur somme) qui ne peut pas être entièrement explorée pour en faire une approximation. Cela signifie que nous ne devons accorder une attention particulière qu'aux éléments les mieux compris/connus. Il vaut mieux laisser le modèle "se taire" face à de nouvelles données, puisqu'il n'est pas familiarisé avec la situation, plutôt que d'opérer sur des cas isolés du passé.

La question se pose donc de savoir comment rendre le modèle silencieux s'il n'est pas sûr et comment lui donner confiance si la probabilité d'événements favorables est élevée.

Nous avons besoin de méthodes pour corriger les modèles prêts à l'emploi. Elles peuvent être mises en œuvre en influençant le modèle après l'entraînement ou en appliquant des modèles de deux classes - l'une du type "bousting" et l'autre du type "nearest neighbours" (voisins les plus proches).

 
Aleksey Vyazmikin #:

Ce que je veux dire, c'est que les mesures d'évaluation des résultats que nous avons l'habitude d'utiliser dans le commerce et l'apprentissage automatique ne représentent qu'une partie de l'évaluation de la qualité du modèle, de la mise au point ou de l'approximation qui en résulte.

Ce qui est important, c'est de savoir dans quelles conditions nous y sommes parvenus. Quelle quantité d'informations a été nécessaire pour y parvenir ? Nous devons évaluer la stabilité des observations dans le temps. La contribution de chaque prédicteur.

Le problème des modèles complexes comportant un grand nombre de prédicteurs et de règles de décision (qu'il s'agisse d'arbres ou de neurones) est qu'ils créent des modèles complexes qui ont peu de chances de se répéter dans leur intégralité, d'où le biais dans la probabilité d'affectation à l'une des classes. Plus tôt, j'ai publié une image de "ce que disent les arbres" qui montrait que la plupart des feuilles ne s'activent tout simplement pas sur de nouvelles données.

Tout cela est dû au fait que nous avons affaire à une "fonction" (en fait leur somme) qui ne peut pas être entièrement explorée pour en faire une approximation. Cela signifie que nous ne devons accorder une attention particulière qu'aux éléments les mieux compris/connus. Il vaut mieux que le modèle reste "silencieux" face aux nouvelles données, car il ne connaît pas la situation, plutôt que d'opérer sur des cas isolés du passé.

La question se pose donc de savoir comment rendre le modèle silencieux s'il n'est pas sûr et comment lui donner confiance si la probabilité d'événements favorables est élevée.

Nous avons besoin de méthodes pour corriger les modèles prêts à l'emploi. Elles peuvent être mises en œuvre par le biais de l'impact sur le modèle après l'entraînement, ou en appliquant des modèles de deux classes - l'une du type "bousting" et l'autre du type "K plus proches voisins".

J'ai créé des modèles antérieurs qui ont simplement cessé de fournir des signaux de trading au fil du temps. Et oui, c'est mieux que de faire passer la probabilité de réponses correctes à 50/50 sur de nouvelles données. Le fait est que lorsque l'on s'entraîne à obtenir les réponses de la grille dans une fourchette étroite de chiffres, avec le temps les réponses commencent à sortir de la fourchette et les signaux disparaissent. Il s'agit d'un processus qui demande beaucoup de travail, et je n'ai pas réussi à automatiser l'entraînement et les transactions ultérieures.

C'est l'une des approches, il y en a probablement d'autres, il est nécessaire d'étudier ce sujet.

 
Andrey Dik #:

L'essentiel - au cours de la formation, il s'agit d'atteindre les réponses de la grille dans une fourchette étroite de nombres, mais au fil du temps, les réponses commencent à sortir de la fourchette et les signaux disparaissent. Il s'agit d'un processus très laborieux, je n'ai pas réussi à automatiser complètement la formation et les transactions ultérieures.

J'ai mis en œuvre cette idée à l'aide de l'optimiseur MT5 :

J'ai défini une condition pour mon pseudo-neuron : "Ouvrir l'achat si le résultat de l'ensemble donne un nombre dans la plage Close[1] +/- 0,00050 pips."
Entrée - un seul nombre - Close[2] ;

L'optimiseur commence à chercher des trades rentables, mais au lieu de cela, je trie les ensembles par le nombre de trades.

Lorsque l'optimiseur a terminé, vous choisissez l'ensemble le plus drainant avec le plus grand nombre de trades - cela signifie naturellement que l'Expert Advisor a deviné le plus grand nombre de prix futurs.

Je passe ensuite en mode test, où la condition a déjà été modifiée :"Open BUY if the result of the set gives a number greater than Close[1] by N points"

Voilà : le forward est rentable dans un an.

Un problème : il n'a fonctionné qu'avec une bougie horaire à 2 heures du matin. Clôture - à l'ouverture de l'heure suivante.

J'ai trouvé un tel schéma. Il a fonctionné sur l'EURUSD, l'USDCHF et l'EURGBP à une autre heure du matin.

 
Andrey Dik #:
réponses à la grille dans une fourchette étroite de nombres

S'agit-il de NS ou d'une autre grille ?

Andrey Dik #:
Avec le temps, les réponses commencent à sortir de la fourchette et les signaux disparaissent.

Est-ce dû à la modification des totaux des variables prédictives, ou peut-être qu'une seule d'entre elles a cessé de donner le résultat "souhaité" ?

En général, la question de savoir pourquoi quelque chose ne fonctionne pas peut être très importante pour trouver d'autres idées.

 
Aleksey Vyazmikin #:

1. S'agit-il des NS ou d'une autre grille ?

2. Est-ce dû à la modification des scores totaux des prédicteurs, ou peut-être qu'un seul d'entre eux a cessé de donner le résultat "souhaité" ?

En général, la question de savoir pourquoi quelque chose s'est cassé peut être très importante pour trouver d'autres idées.

1. Oui, bien sûr.

2. Je ne l'ai peut-être pas formulé de la bonne manière. Non, il s'agissait simplement d'un effet positif - la transaction devenait progressivement nulle sur la base de nouvelles données. Dès que le nombre de transactions diminue en dessous d'un certain niveau par unité de temps, vous devez vous entraîner à nouveau. En d'autres termes, ce n'est pas une diminution de l'efficacité des transactions sur les OOS qui est un signal de réentraînement, mais une diminution du nombre de transactions.

En d'autres termes, au lieu de dire des bêtises en évoquant les pertes liées au trading sur OOS, le NS répond par le silence à des données qui ne lui sont pas familières.

 
Aleksey Nikolayev #:
Votre lien parle également de lier le "profil" à la validation croisée, pour laquelle il pourrait être plus facile de trouver des paquets.

Je ne vois pas le lien. De quels mots découle-t-il ?

 
Forester #:

Le travail est expérimental. Voici une citation de http://www.ccas.ru/frc/papers/students/VoronKoloskov05mmro.pdf

Il est peu probable que chaque expérience ait été créée sous forme de paquet.

Oh, et l'expérience est artificielle. Du bruit a été ajouté à l'ensemble des données clairement séparées par classes. Et la séparation claire ne concerne qu'une seule caractéristique : l'axe des Y. Si nous supprimons le bruit (toutes les données de 0,2 à 0,8), il s'avère que nous ne conservons que les exemples dont la distance avec une autre classe n'est pas inférieure à 0,6. Il s'agit de la troisième variante la plus compliquée de l'image :


Passez à la vie réelle et ajoutez vos 5000 prédicteurs qui seront du bruit à cette fiche de travail unique. Dans le clustering, vous calculez la distance totale entre les points dans cet espace de 5001 dimensions. Une distance de 0,6 ne sera jamais trouvée dans ce chaos.

Je pense que n'importe quel classificateur fera mieux, le même arbre trouvera cette caractéristique unique et la divisera, d'abord par 0,5, puis il atteindra des divisions de 0,2 et 0,8 suivies de feuilles avec une pureté de 100 %.

On prétend qu'avec cet algorithme il a été possible de gagner les premières places sur kagle, je ne pense pas qu'il y ait eu de simples tâches....

Devrions-nous essayer de le comprendre ? Je ne comprends pas les formules - à mon grand regret.

 
mytarmailS #:
L'un des articles de Vladimir Perervenko décrivait cette méthode, et il y avait un exemple avec un code, bien sûr

J'ai découvert cet algorithme grâce à la vidéo, il y a quelques formules sur l'ardoise - il est difficile d'appeler cela un code.

Où avez-vous vu un exemple de code ?

 
Andrey Dik #:

1. Oui, bien sûr.

2. Je ne l'ai peut-être pas dit de cette façon. Non, il s'agissait simplement d'un effet positif - la transaction serait progressivement réduite à néant sur la base de nouvelles données. Dès que le nombre de transactions diminue en dessous d'un certain niveau par unité de temps, vous devez vous entraîner à nouveau. En d'autres termes, ce n'est pas une diminution de l'efficacité des transactions sur les OOS qui est le signal d'une nouvelle formation, mais une diminution du nombre de transactions.

En d'autres termes, au lieu de dire des bêtises en évoquant les pertes liées au trading sur OOS, le NS répond par le silence à des données qui ne lui sont pas familières.

C'est ce que j'ai compris. Je demande simplement si la cause de cette situation a été identifiée. Il ne s'agit pas de savoir ce qui est cassé, mais pourquoi les signaux sont manquants.

 
Aleksey Vyazmikin #:

J'ai appris cet algorithme grâce à la vidéo, il y a quelques formules sur la lame - il est difficile d'appeler cela un code.

Où avez-vous vu un exemple de code ?

S'agit-il d'un trollage ?

Raison: