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

 
Dr. Trader:

Vtreat est meilleur. Il évalue tout sur le plan statistique, à savoir la qualité globale du prédicteur pour prédire la variable cible, sans tenir compte d'un modèle de prédiction particulier. Il est recommandé d'utiliser des prédicteurs dont le score maximal est de 1/(nombre de prédicteurs). Par exemple, s'il y a 200 prédicteurs, vous ne pouvez retenir que ceux dont l'évaluation est inférieure à 1/200. Il est possible d'estimer les prédicteurs et si toutes les estimations sont supérieures au seuil - au lieu d'essayer sans succès d'enseigner le modèle et de prédire de nouvelles données, il est préférable de commencer à chercher d'autres prédicteurs.

Il y a quelques inconvénients - le paquet travaille avec les prédicteurs un par un, et ne prend pas en compte leur interaction. Je n'aime pas non plus le fait que, même s'il y a des prédicteurs totalement identiques ou fortement corrélés, vtreat ne supprime pas les prédicteurs répétitifs, ce qui est parfois un gros problème.

En fait, les prédicteurs corrélés sont mauvais.

Peut-être que le paquet nécessite un prétraitement des prédicteurs en général, par exemple la mise à l'échelle, le centrage, la suppression des corrélations ..... comme dans caret.

Peut-être ?

 
SanSanych Fomenko:

En fait, les prédicteurs corrélés sont mauvais.

Peut-être que le paquet a besoin d'un prétraitement des prédicteurs en général, par exemple la mise à l'échelle, le centrage, la suppression des corrélations ..... comme dans caret.

Peut-être ?

Au fait, personne n'a annulé l'exploration des données. Il y a un article génial sur ce sujet par notre collègue ici sur le site. Malheureusement, l'auteur ne participe pas à ce fil de discussion.
 
Dr. Trader:

Belle boîte à outils que vous avez développée pour évaluer les heuristiques, solide. Vous avez prouvé que la méthode de formation du modèle (comité) que vous avez développé n'est pas adaptée au forex, mais que faire ensuite ?


Vous n'avez pas encore mis un point sur la méthode. C'est intriguant, ne serait-ce que parce que 1/3 des meilleurs modèles en formation et en test passent par 5 autres années de validation avec un plus. Si seulement tout le monde avait des fuites.

En outre, il y a une autre pensée concernant mon graphique. Si un modèle est si bon que 95% de ses valeurs se situent au-dessus de 0 lors de la validation, alors vous pouvez oublier la relation validation/test et prendre n'importe quel modèle formé.

C'est le but de la recherche de modèles puissants (avec de bons effets de généralisation).

 
Je lis toujours ce genre de sujets (pas seulement sur ce forum) où l'on essaie de construire des théories de trading complexes.
Algorithmes génétiques, réseaux neuronaux, formules alambiquées que seul l'auteur comprend, etc.

Et je constate toujours que de tels systèmes ne fonctionnent pas sur le marché. Le contrôle va soit à zéro, soit à moins.
Mais dans le fil suivant, quelqu'un gagne de l'argent en utilisant un conseiller expert sur deux slips. Et ils gagnent bien leur vie.

La question est de savoir si tout cela a un sens.
Car d'après mon expérience, plus le système est simple et clair, plus il est rentable.
 
SanSanych Fomenko:

.... Mais seulement après avoir éliminé le bruit. Et le fait qu'il n'y ait pas de bruit est déterminé par l'invariance approximative des performances du modèle sur différents échantillons. Ce n'est pas la valeur absolue de l'erreur de prédiction mais le fait de l'égalité approximative des indicateurs de performance qui (égalité) peut être interprété comme une preuve de l'absence de surentraînement du modèle.

Je veux aussi vous répondre.

Ici, vous examinez l'égalité des indicateurs. Vous appelez ça un manque de surentraînement. Mais avez-vous déjà essayé d'estimer le manque réel de surentraînement en testant votre modèle sélectionné avec un échantillon supplémentaire - le retardé ? L'égalité sur une partie des données ne dégénérerait-elle pas en un modèle adapté à ces données, et le modèle se viderait à l'avenir ? Je suis un tel schéma dans mes recherches.

 
Lisez sur elasticnet. Il s'agit d'une méthode et d'un paquet. Régularisation hybride pour les modèles linéaires. La corrélation des prédicteurs est juste gérée ici.
 
Est-ce que quelqu'un entraîne ses modèles séparément pour les byes et les selfs ?
 
Alexey Burnakov:

Je veux aussi vous répondre.

Ici, vous examinez l'égalité des indicateurs. Vous appelez ça un manque de surentraînement. Avez-vous essayé d'évaluer l'absence réelle de surentraînement en testant votre modèle sélectionné avec un autre grand échantillon - un échantillon retardé ? L'égalité sur une partie des données ne dégénérerait-elle pas en un modèle adapté à ces données, et le modèle se viderait à l'avenir ? Je suis ce schéma dans mes recherches.

J'ai mon propre algorithme pour éliminer le bruit.

S'il est appliqué, sur des prédicteurs sélectionnés, il entraîne le modèle, puis sur n'importe quel échantillon, la performance de ce modèle est à peu près égale. Mes réflexions sur les intervalles de confiance viennent d'ici, pour se débarrasser des mots "approximativement égal".

Je dirai plus que ça.

La pratique semble différente.

Il faut travailler dans la fenêtre. Donc, pour travailler dans la fenêtre, je commence à sélectionner les prédicteurs à partir de mon ensemble présélectionné de prédicteurs par rfe de caret. Pour une fenêtre particulière, j'obtiens un sous-ensemble qui réduit l'erreur de 5 à 7 %. Je le fais une fois par semaine sur le H1. Ce sous-ensemble est modifié le week-end suivant. Je vis comme ça depuis l'année dernière.

Mais il est indispensable de se débarrasser du bruit au préalable. Si je ne le fais pas, je verrai des merveilles.

 
Je ne pense pas que cela ait un sens de construire deux modèles avec des résultats opposés:
Qui entraîne ses modèles séparément pour l'achat et la vente ?

Je ne prévois que 2 classes - "achat" et "vente", ce qui signifie que j'aurai toujours une transaction ouverte. Je travaille avec un seul modèle, je ne vois pas l'intérêt de faire deux modèles qui donnent des résultats tout à fait opposés.

Mais j'aimerais passer progressivement à 3 classes - "acheter"/"fermer tout et ne pas échanger"/"vendre". Cela donnerait l'occasion de négocier avec une stratégie plus complexe. Je l'ai essayé quelques fois, mais j'ai eu des problèmes avec l'entraînement des modèles à trois classes, surtout si le modèle est régressif suivi de l'arrondissement du résultat aux classes.
Je pense qu'il vaut la peine d'essayer de créer deux modèles avec les classes originales 1/0/-1 transformées en 1/0/0 pour le premier modèle(achat uniquement), et 0/0/1 pour le second modèle (vente uniquement). Cela conduirait à des classes déséquilibrées dans chaque modèle (le nombre d'exemples avec une classe est beaucoup plus élevé que l'autre), mais j'ai trouvé de bonnes métriques pour évaluer les modèles qui fonctionnent dans de telles conditions - F-score et kappa. Je n'ai encore rien fait dans ce sens, mais un tel plan semble tout à fait possible.

 
SanSanych Fomenko:

En fait, les prédicteurs corrélés sont mauvais.

Peut-être que le paquet a besoin d'un prétraitement des prédicteurs en général, par exemple la mise à l'échelle, le centrage, la suppression des corrélations ..... comme dans caret.

Peut-être ?

Non, vtreat n'analyse pas du tout les interactions entre prédicteurs, malheureusement. Il les étudie strictement un par un. Ce n'est pas un logiciel graphique:(
Je ne pense pas que la mise à l'échelle ou le centrage fassent une quelconque différence. Et si vous activez l'option "y-aware", le paquet va mettre à l'échelle et centrer les données lui-même.

Article intéressant de Vladimir, merci pour le lien. L'analyse de l'interaction entre les prédicteurs est tout à fait pertinente.