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

 
Yuriy Asaulenko:
C'est-à-dire comme un élan. Donc il bat par la queue.

La raison est de ne pas utiliser les cours bruts pour les problèmes de régression, car les modèles ne peuvent pas extrapoler et vous devez prédire, par exemple, les lectures des oscillateurs sur les cours non cotés.

 
Dmitry Fedorchenko:

Torturé pendant six mois avec différents prédicteurs, y compris des incréments de n'importe quoi à n'importe quoi, le nombre de prédicteurs. Et j'ai utilisé différents modèles. Et RF, et SVM, et MLP... J'ai même essayé les temps seniors et suis descendu en M1. Le maximum que j'ai pu obtenir sur l'échantillon de validation était de 53% de précision, et de 100,0% sur l'échantillon d'entraînement. Ce n'est pas suffisant pour le commerce. J'ai besoin d'une précision d'au moins 57% pour être rentable. Soit mes mains sont tordues, soit il y a autre chose. Quelqu'un a-t-il obtenu de meilleurs résultats ? Je suis juste curieux.

En fait, 50 % de prédictions correctes, ce n'est pas si mal pour le commerce. Par exemple, le rapport bénéfice/perte = 2/1. Cela dépend de la façon dont vous le faites).
 
Sergey:

Bonjour.


Un conseil, s'il vous plaît. Comment intégrer dans metatrader un modèle déjà préparé (le modèle a été créé en python en utilisant xgboost) ?

La seule option que j'ai trouvée sur Google est d'enregistrer le modèle dans un fichier texte en python et de le charger ensuite dans mql à l'aide de R.

Y a-t-il d'autres options ? Avez-vous des exemples de mise en œuvre ?


Merci d'avance !


J'ai choisi les Named Pipes comme la solution la plus simple et la plus polyvalente. C'est-à-dire que maintenant mt et le script python communiquent entre eux comme un client-serveur. Envoyer des demandes/réponses aux autres.

 
Maxim Dmitrievsky:

Il ne s'agit pas de prendre les cotations brutes pour les problèmes de régression, car les modèles ne peuvent pas extrapoler et vous devez prédire, par exemple, les lectures des oscillateurs sur les non-cotations.

J'ai compris, mais vous ne pouvez rien prédire avec le Momentum parce que les nouvelles données qui arrivent et les anciennes qui sortent ont des poids égaux et cela avec un décalage de -50. En d'autres termes, nous ne savons pas avec certitude ce qui a changé, d'où est issu le Delta - si la queue est tombée ou le nez s'est levé...
 
Maxim Dmitrievsky:

Il est possible de le reconvertir en cotations, ici il ne s'agit pas de prendre des cotations nues pour des tâches de régression, car les modèles ne peuvent pas extrapoler et il est nécessaire de prévoir, par exemple, des lectures d'oscillateurs sur des non cotations. ou simplement des incréments.


+ Je viens de vérifier l'adéquation du modèle, sinon SanSanych continue à appeler ça un hochet.

Il est clair qu'il y a une erreur, mais le type général des incréments reste le même. Et ce n'est pas une erreur du modèle lui-même mais parce qu'il est construit sur la base de prédicteurs et qu'il y a là aussi une erreur.


 
Maxim Dmitrievsky:

+ vient de vérifier l'adéquation du modèle, car SanSanych n'arrête pas de dire que c'est un hochet.

Il est évident qu'il y a une erreur, mais la forme générale des incréments est préservée. Et ce n'est pas une erreur du modèle lui-même mais parce qu'il est construit en utilisant des prédicteurs et qu'il y a une erreur propre.

Eh bien, c'est compréhensible.

Si vous ne connaissez pas le nombre exact de points, vous pouvez obtenir une bonne approximation du modèle. D'ailleurs, il mémorise tout très bien.

Je veux dire, peut-être que je devrais modifier quelque chose en Russie (l'avis d'un expert)).

 
Yuriy Asaulenko:

Eh bien, c'est compréhensible.

Je ne suis pas familier avec RF, mais NS est très bien en mangeant des guillemets, il est seulement souhaitable de les pronormaliser.


C'est très important de savoir comment normaliser... et NS va aussi mal tourner s'il dépasse les limites d'échantillonnage, je vous ai envoyé un lien vers un article... avec RF c'est la même chose en essence mais encore pire, ça va juste à un costant. Elle n'est pertinente que pour les tâches de régression, tandis que la classification n'a pas vraiment d'importance.

Et il est aussi très utile de normaliser l'échantillon à un certain signe, par exemple enlever le dernier bruit... c'est beaucoup plus facile et rapide de l'apprendre en une fois. Ou vous pouvez délibérément fixer un seuil élevé de normalisation et de plages de filtrage.

 
Maxim Dmitrievsky:

C'est très important de savoir comment normaliser... et NS va aussi mal tourner s'il dépasse les limites d'échantillonnage, je vous ai envoyé un lien vers un article... c'est essentiellement la même chose avec RF mais encore pire, ça va juste à un costant. Elle n'est pertinente que pour les tâches de régression, tandis que la classification n'a pas vraiment d'importance.

Il ne dépassera pas la portée si vous le rationnez correctement, pas bêtement).

Au fait, Maxim, croyez-vous vraiment qu'il est possible de faire des prévisions stables sur le marché ?

 
Yuriy Asaulenko:

Il ne dépassera pas la portée si vous le rationnez correctement, pas stupidement).

Au fait, Maxim, croyez-vous vraiment qu'une quelconque prévision stable sur le marché soit possible ?


sur certains marchés oui, presque certainement... ou dans certaines phases du marché... c'est possible, mais pas toujours, il faut au moins de bons filtres

De la façon dont je le vois, si vous vous adaptez à un certain cycle de marché à long terme... qui existe a priori. Mais la question est de savoir comment le faire automatiquement.

 
Maxim Dmitrievsky:

sur certains marchés oui, presque certainement... ou dans certaines phases du marché... peut-être, mais pas toujours, il faut au moins de bons filtres

Filtres à nouveau. Et qui fera les filtres ? Et quelles sont ces certaines phases ? Comment les détecter ? -Les détecter algorithmiquement ? Ce n'est pas l'affaire du tsar.

Je crois tellement : laissé en DM - qu'il révèle lui-même tout.