Régression bayésienne - Est-ce que quelqu'un a fait un EA en utilisant cet algorithme ? - page 50

 
Dr.Trader:

Les motifs dépendent du temps. Entraînez-vous sur un classificateur séparé pour chaque jour de la semaine, ou essayez d'ajouter la phase de la lune (je suis sérieux), ou l'heure du jour aux données brutes, je ne sais pas quoi faire exactement, mais c'est très important.

Alexey Burnakov:

2) Oui, je l'ai déjà fait. J'ai un grand ensemble de données - je peux le partager ici - dans lequel j'ai ajouté des données sur les prix :

- heure

- minute

- jour de la semaine

- mois

- jour du mois.

Bien sûr, c'est important. Mais nous devons déterminer non pas le jour ou l'heure de la journée où le TS est réussi, mais la nature du marché lorsque le TS est réussi - tendance, plat, modèles saisonniers. La nature du marché détermine la nature des données, et non le jour de la semaine ou les astuces du courtier. La nature du marché peut être déterminée sur l'histoire, mais pour la déterminer sur le compte réel, comme l'a écrit Dmitry Fedoseyev : "Le principal problème de l'analyse et du trading est l'identification de la tendance.

Par exemple, TS est considéré comme un succès en appartement. Y a-t-il des indicateurs qui prédisent un aplatissement ?

 
Yuri Evseenkov:

Bien sûr, c'est important. Seulement il faut identifier non pas le jour ou l'heure de la journée où le TS est réussi, mais la nature du marché lorsque le TS est réussi - tendance, plat, schémas saisonniers. La nature du marché détermine la nature des données, et non le jour de la semaine ou les astuces du courtier. La nature du marché peut être déterminée sur l'histoire, mais pour la déterminer sur le compte réel, comme l'a écrit Dmitry Fedoseyev : "Le principal problème de l'analyse et du trading est l'identification de la tendance.

Par exemple, TS est considéré comme un succès en appartement. Existe-t-il des indicateurs permettant de prédire le plat ?

Le fait est que vous pouvez déterminer le jour et l'heure à l'avance, mais pas la tendance ni le plat.

Si vous savez identifier la tendance et le plat à l'avance, alors vous n'avez besoin de rien d'autre - le graal est dans votre visage.

 
Yuri Evseenkov:

Y a-t-il des indicateurs qui prédisent un aplatissement ?

Vous pouvez également créer un classificateur pour cela, grâce aux arbres et à R, comme dans le blog d'Alexey. Nous devons collecter plusieurs années d'historique des barres, puis spécifier manuellement ou à l'aide d'un indicateur quels intervalles de temps sont plats et lesquels ne le sont pas, et enseigner le modèle. Pour enseigner le modèle, n'utilisez pas l'augmentation de prix de la période suivante comme dans l'exemple, mais spécifiez les valeurs de plat/tendance (par exemple 0 et 1 respectivement). Et nous obtiendrons l'indicateur.

Mais en général, si l'on crée un classificateur à partir de zéro qui prédit l'augmentation future des prix, le classificateur lui-même devrait apprendre à distinguer un plat d'une tendance. Sa logique ne contiendra pas de notions aussi claires, mais sur le plan conceptuel, elle doit apprendre à distinguer les différents caractères du marché et à modifier les prévisions en fonction de ceux-ci. Un classificateur adéquat ne doit pas travailler uniquement à certaines périodes, sa tâche est de travailler toujours avec profit.

 
Dr.Trader:

On peut aussi faire un classificateur pour cela, grâce aux arbres et à R, comme dans le blog d'Alexey. Nous devons recueillir plusieurs années d'historique des barres, puis spécifier manuellement ou à l'aide d'un indicateur quels intervalles de temps sont plats et lesquels ne le sont pas, et entraîner le modèle. Pour enseigner le modèle, n'utilisez pas l'augmentation de prix de la période suivante comme dans l'exemple, mais spécifiez les valeurs de plat/tendance (par exemple 0 et 1 respectivement). Et nous obtiendrons l'indicateur.

Il ne s'agit pas d'un indicateur mais d'un classificateur - il ne prédit pas mais classifie. En gros, après avoir étudié une partie de l'histoire, il peut dire si cette partie est une tendance ou un plat.

Mais le problème est que je peux aussi le faire à l'œil - je n'ai pas besoin d'un indicateur.

 
Дмитрий:

Ce n'est pas un indicateur, mais un classificateur - il ne prédit pas, il classifie. Ainsi, en gros, après avoir étudié une partie de l'histoire, il peut dire si cette partie est une tendance ou un plat.

Mais le problème est que je peux le faire à l'œil - je n'ai pas besoin de l'indicateur.

La pratique nous parle d'autre chose. Cela dépend de ce que vous enseignez.

Si l'on se contente de classer le passé, oui.

Mais si vous déplacez le professeur, c'est-à-dire que les valeurs passées des prédicteurs correspondent à la valeur actuelle du professeur, alors vous prédisez l'avenir. Par exemple, vous vous décalez d'une barre. Ainsi, lorsqu'une nouvelle barre arrive, vous calculez tous vos prédicteurs et utilisez ensuite le modèle entraîné par PAST pour prédire vos tendances de retournement. Vous pouvez l'enseigner avec un décalage de plus de 1. Ce qui est bien avec les modèles de prédiction qui extrapolent les barres passées, c'est que l'erreur s'additionne (au mieux) à mesure que l'horizon de prédiction augmente, ce qui n'est pas le cas avec la classification. Ainsi, lors d'une prévision sur H1 : erreur sur +1 = 30% (le chiffre réel), sur +2 un peu plus, et sur +4 presque 30%.

De plus, si vous commencez à vous faire des amis avec les maisons de Burnakov, vous pouvez trouver des décalages dans le futur qui ont à peu près la même erreur de prédiction que la barre +1.

 
Dr.Trader:

Pour cela, on peut aussi faire un classificateur en utilisant des arbres et R, comme dans le blog d'Alexey. Nous devons collecter plusieurs années d'historique des barres, puis spécifier manuellement ou à l'aide d'un indicateur quels intervalles de temps sont plats et lesquels ne le sont pas, et entraîner le modèle. Pour enseigner le modèle, n'utilisez pas l'augmentation de prix de la période suivante comme dans l'exemple, mais spécifiez les valeurs de plat/tendance (par exemple 0 et 1 respectivement). Et nous obtiendrons l'indicateur.

Mais en général, si l'on crée un classificateur à partir de zéro qui prédit l'augmentation future des prix, le classificateur lui-même devrait apprendre à distinguer un plat d'une tendance. Sa logique ne contiendra pas de notions aussi claires, mais sur le plan conceptuel, elle doit apprendre à distinguer les différents caractères du marché et à modifier les prévisions en fonction de ceux-ci. Un classificateur adéquat ne doit pas fonctionner uniquement pendant certaines périodes, sa tâche est de faire des bénéfices à chaque fois.

Le blog d'Alexey, la formation de modèles et la classification sont des extensions trop compliquées pour ma tâche et moi-même. Je veux quelque chose de plus simple pour prédire le plat avec une certaine probabilité.

Quelque chose comme ADX. Et dans MQL4, cela serait compréhensible pour les traders, les économistes et les philosophes, et pas seulement pour les experts des paquets mathématiques et des langages de programmation R, Python, etc.

 
Dr.Trader:

On peut aussi faire un classificateur pour cela, grâce aux arbres et à R, comme dans le blog d'Alexey. Nous devons collecter plusieurs années d'historique de barres, puis spécifier manuellement ou à l'aide d'un indicateur quels intervalles de temps sont plats et lesquels ne le sont pas, et enseigner le modèle. Pour enseigner le modèle, n'utilisez pas l'augmentation de prix de la période suivante comme dans l'exemple, mais spécifiez les valeurs de plat/tendance (par exemple 0 et 1 respectivement). Et nous obtiendrons l'indicateur.

Mais en général, si l'on crée un classificateur à partir de zéro qui prédit l'augmentation future des prix, le classificateur lui-même devrait apprendre à distinguer un plat d'une tendance. Sa logique ne contiendra pas de notions aussi claires, mais sur le plan conceptuel, elle doit apprendre à distinguer les différents caractères du marché et à modifier les prévisions en fonction de ceux-ci. Un classificateur adéquat ne doit pas travailler uniquement dans certains intervalles de temps, sa tâche est de travailler avec profit à chaque fois.

Il semble que j'ai un classificateur qui l'apprend.

Regardez, c'est le schéma des données d'entrée.

Je donne à la machine

la différence avec la moyenne mobile

la différence avec le haut mobile

également avec un minimum

la diffusion des données

écart type

et simplement la différence entre les prix pris avec un décalage.

Imaginons maintenant que cette fenêtre varie encore de 2 à 724 minutes - il existe 18 ensembles de prédicteurs de ce type.

Cela devrait être suffisant pour distinguer un mouvement de tendance d'un plat. À tout le moins, la différence entre les prix avec un décalage et la dispersion des données (et l'écart type) le dit.

Je voulais également prendre la pente de la régression linéaire pour la fenêtre de prix. Également avec une fenêtre variable. Mais ce sont les mêmes œufs. On peut cependant l'essayer.

Ainsi, le classificateur met régulièrement en évidence la différence avec la moyenne mobile comme le prédicteur le plus important, ainsi que les différences entre les prix, y compris les écarts et les écarts types. Tout est utilisé par elle.

 
СанСаныч Фоменко:

La pratique raconte une histoire différente. Cela dépend de ce que vous enseignez.

Si l'on se contente de classer le passé, alors oui.

Mais si vous changez d'enseignant, c'est-à-dire que les valeurs des prédicteurs passés correspondent à la valeur de l'enseignant actuel, alors vous prédisez l'avenir. Par exemple, vous vous décalez d'une barre. Ainsi, lorsqu'une nouvelle barre arrive, vous calculez tous vos prédicteurs et utilisez ensuite le modèle entraîné par PAST pour prédire vos tendances de retournement. Vous pouvez l'enseigner avec un décalage de plus de 1. Ce qui est bien avec les modèles de prédiction qui extrapolent les barres passées, c'est que l'erreur s'additionne (au mieux) à mesure que l'horizon de prédiction augmente, ce qui n'est pas le cas avec la classification. Ainsi, lors d'une prévision sur H1 : erreur sur +1 = 30% (le chiffre réel), sur +2 un peu plus, et sur +4 presque 30%.

De plus, si vous commencez à vous faire des amis avec les maisons de Burnakov, vous pouvez trouver des changements dans le futur qui ont à peu près la même erreur de prédiction que la barre +1.

Oui. Ce n'est pas comme si je prévoyais un pas en avant, comme ARIMA, par exemple. Avec Arima, l'erreur croît de manière exponentielle car ce qui est prédit une étape à l'avance commence à être utilisé comme prédicteur et ceci est répété autant de fois que nécessaire pour être prédit à l'avance.

J'avais initialement 18 variables cibles, pour lesquelles j'entraîne les modèles un par un (en passant par les paramètres d'entraînement et en m'arrêtant à la meilleure combinaison). Et de cette façon, je peux voir pour quel horizon tout est mieux prédit.

Mon entraînement pour toutes les cibles dure environ une journée. Mais ce n'est pas non plus la limite. Un réseau neuronal multicouche sur GPU peut s'entraîner pendant une semaine pour une seule cible.

 
Alexey Burnakov:

J'avais initialement 18 variables cibles, pour lesquelles j'entraîne les modèles un par un (en passant par les paramètres d'entraînement et en m'arrêtant à la meilleure combinaison).

Comment déterminez-vous la "meilleure" combinaison ?
 
Alexey Burnakov:

Oui. Ce n'est pas comme si je prévoyais un pas en avant, comme ARIMA. Avec Arima, l'erreur croît de manière exponentielle, car la prédiction d'une étape précédente commence à être utilisée comme prédicteur et ceci est répété autant de fois qu'il y a de prédictions à faire.

J'avais initialement 18 variables cibles, pour lesquelles j'entraîne les modèles un par un (en passant par les paramètres d'entraînement et en m'arrêtant à la meilleure combinaison). Et de cette façon, je peux voir pour quel horizon tout est mieux prédit.

Mon entraînement pour toutes les cibles dure environ une journée. Mais ce n'est pas non plus la limite. Un réseau neuronal multicouche sur GPU peut s'entraîner pendant une semaine pour une seule cible.

C'est ce que j'ai compris de votre activité
Raison: