L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 90
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
J'ai essayé diverses méthodes de validation auto-écrite, y compris celles décrites dans ces articles. Mes conclusions sont les suivantes :
En forex, il n'existe pas de relation stricte entre la variable cible et les prédicteurs, le forex n'est pas une formule que l'on peut trouver et appliquer pour calculer de nouvelles données. Tout ce qu'un modèle peut faire, c'est trouver une certaine régularité et extrapoler les résultats pour le commerce sur de nouvelles données.
En d'autres termes, il existe un certain espace multidimensionnel (la dimensionnalité est égale au nombre de prédicteurs), dans lequel se trouvent de multiples points (variables cibles connues). Le modèle construit un hyperplan dans cet espace qui sépare les points de l'espace (la classe "achat" de la classe "vente"). Les façons de construire cet hyperplan sont infinies (dans un cas simple - dessiner quatre points sur la feuille, et tracer une ligne courbe entre eux de sorte qu'il y ait deux points à droite de la courbe, et deux à gauche également. Les possibilités de dessiner une courbe sont infinies). Il n'y a donc aucune garantie que le modèle construit reflète la dépendance correcte de la variable cible par rapport aux prédicteurs. Afin de vérifier l'adéquation du modèle, la validation est utilisée - certains points n'ont pas été utilisés dans la formation et il est facile de savoir si le modèle a échoué, s'il montrera le bon résultat sur ces points de test.
Si le modèle n'a pas passé la validation correctement, cela peut être dû à de nombreuses raisons, par exemple
- le modèle a trouvé des dépendances inexistantes qui n'existent que dans les exemples de formation
- il y avait une certaine dépendance dans les données de formation, qui n'existait pas dans les données pour le test. Par exemple, si toutes les données pour le test sont prises plus tard dans le temps et que le comportement du symbole forex a changé
- le modèle lui-même a été initialisé avec une graine infructueuse. Il arrive souvent qu'un modèle entraîné sur les mêmes données donne des résultats différents lors de la validation après de multiples tentatives de réentraînement.
On ne sait pas ce qui a provoqué un mauvais résultat dans un cas particulier. Tout ce que nous pouvons faire, c'est estimer la qualité d'un modèle en moyenne - construire un modèle des dizaines de fois, estimer sur la validation. Les données de formation/validation doivent être redivisées à chaque fois.
Ce que je pense être une méthode valable est de diviser les données de façon aléatoire dans un rapport 50%/50% (pas par temps, mais pour que tout soit mélangé de façon égale, par exemple les lignes 1,2,5,7 pour la formation, 3,4,6,8 pour la validation), former le modèle sur la première partie, puis faire la validation sur la seconde, pour l'évaluation du modèle j'utilise la précision. Répétez ceci 50 fois (repartition des données en 2 parties aléatoires, formation, validation). Calculez ensuite la précision moyenne sur les données d'apprentissage, et la précision moyenne sur les données de validation. Supposons que la précision moyenne sur l'échantillon d'apprentissage soit de 90%, sur l'échantillon de validation de 80%. La précision du fronttest sera encore plus faible, j'utilise cette règle empirique : calculer la différence (90%-80%=10%), et la soustraire du résultat de la validation (80%-10% = 70%). Il s'avère qu'un tel modèle sur fronttest aura une précision moyenne d'environ 70%. De plus, j'ajuste génétiquement les paramètres du modèle et les prédicteurs pour augmenter cette estimation de 70% (c'est beaucoup plus difficile qu'il n'y paraît, il est difficile d'obtenir même plus de 50%).
Mais je n'aime pas le fait que ce résultat ne soit qu'une moyenne, sans aucune garantie. La précision réelle lors de la négociation sera de 60 à 80 %, voire de 50 à 90 %, en fonction de votre manque de chance. J'ai beau essayer, il est impossible de repêcher le meilleur modèle, quelle que soit l'indication. La seule solution est probablement de construire des dizaines de modèles avec les meilleurs paramètres et prédicteurs trouvés, et de prendre le résultat là où la plupart des gens regardent (congrès des modèles).
Ceci est étroitement lié à ce que SanSanych a dit au début du fil de discussion. Vous pouvez également suivre son conseil de supprimer la dernière partie des données connues pour le dernier échantillon de contrôle. N'utilisez pas ces données pour la formation et les validations, mais stockez-les séparément jusqu'à la fin de la formation du modèle. Ensuite, testez le modèle fini, ou le congrès, sur ces données. L'avantage est qu'il montre comment le modèle se comporte sur les nouvelles données temporelles. L'inconvénient est qu'il y aura moins de données pour la formation et la validation, et que le modèle sera un peu dépassé au début de la négociation. Il y a une petite nuance ici, si vous n'aimez pas le résultat sur ces données de référence, et que vous avez commencé à sélectionner un modèle qui montrera un bon résultat dans ce domaine - alors vous avez commencé à utiliser ces données pour la validation, en conséquence le modèle est déjà sélectionné avec eux à l'esprit, et donc il y a un peu de regard vers l'avenir, le contrôle et toute l'opération devient inutile, et dans ce cas il était plus facile de ne pas faire un échantillon de contrôle du tout.
J'ai essayé diverses méthodes de validation auto-écrite, y compris celles décrites dans ces articles. Mes conclusions sont les suivantes :
En forex, il n'existe pas de relation stricte entre la variable cible et les prédicteurs, le forex n'est pas une formule que l'on peut trouver et appliquer pour calculer de nouvelles données. Tout ce qu'un modèle peut faire est de trouver une sorte de modèle et d'extrapoler les résultats pour négocier sur de nouvelles données.
En d'autres termes, il existe un certain espace multidimensionnel (la dimensionnalité est égale au nombre de prédicteurs), dans lequel se trouvent de multiples points (variables cibles connues). Le modèle construit un hyperplan dans cet espace qui sépare les points de l'espace (la classe "achat" de la classe "vente"). Les façons de construire cet hyperplan sont infinies (dans un cas simple - dessiner quatre points sur la feuille, et tracer une ligne courbe entre eux, de sorte qu'il y ait deux points à droite de la courbe, et deux à gauche également. Les possibilités de dessiner une courbe sont infinies). Il n'y a donc aucune garantie que le modèle construit reflète la dépendance correcte de la variable cible par rapport aux prédicteurs. Afin de vérifier l'adéquation du modèle, la validation est utilisée - certains points n'ont pas été utilisés dans la formation et il est facile de savoir si le modèle a échoué, s'il montrera le bon résultat sur ces points de test.
Si le modèle échoue à la validation, il peut y avoir plusieurs raisons.
- le modèle a trouvé des dépendances qui n'existaient pas et qui n'étaient présentes que dans les exemples d'apprentissage.
- il existe une dépendance dans les données d'apprentissage, qui n'est pas présente dans les données de test. Par exemple, dans le cas où toutes les données pour un test sont prises plus tard dans le temps et que le comportement du symbole forex a changé.
- le modèle lui-même a été initialisé avec une graine qui a échoué. Il arrive souvent qu'un modèle entraîné sur les mêmes données donne des résultats différents lors de la validation après de multiples tentatives de réentraînement.
On ne sait pas ce qui a provoqué un mauvais résultat dans un cas particulier. Tout ce que nous pouvons faire, c'est estimer la qualité d'un modèle en moyenne - construire un modèle des dizaines de fois, estimer sur la validation. Les données de formation/validation doivent être redivisées à chaque fois.
Ce que je pense être une méthode valable est de diviser les données de façon aléatoire dans un rapport 50%/50% (pas par temps, mais pour que tout soit mélangé de façon égale, par exemple les lignes 1,2,5,7 pour la formation, 3,4,6,8 pour la validation), former le modèle sur la première partie, puis faire la validation sur la seconde, pour l'évaluation du modèle j'utilise la précision. Répétez ceci 50 fois (repartition des données en 2 parties aléatoires, formation, validation). Calculez ensuite la précision moyenne sur les données d'apprentissage, et la précision moyenne sur les données de validation. Supposons que la précision moyenne sur l'échantillon d'apprentissage soit de 90%, sur l'échantillon de validation de 80%. La précision en fronttest sera encore plus faible, j'utilise cette règle empirique : calculer la différence (90%-80%=10%), et la soustraire du résultat de validation (80%-10% = 70%). Il s'avère qu'un tel modèle sur fronttest aura une précision moyenne d'environ 70%. En outre, j'ajuste génétiquement les paramètres du modèle et les prédicteurs pour augmenter cette estimation de 70% (c'est beaucoup plus difficile qu'il n'y paraît, il est difficile d'aller même au-delà de 50%).
Mais je n'aime pas le fait que ce résultat ne soit qu'une moyenne, sans aucune garantie. La précision réelle du trading sera de 60 à 80 %, voire de 50 à 90 %, en fonction de votre manque de chance. J'ai beau essayer, il est impossible de repêcher le meilleur modèle, quelle que soit l'indication. La seule solution est probablement de construire des dizaines de modèles avec les meilleurs paramètres et prédicteurs trouvés, et de prendre le résultat là où la plupart des gens regardent (congrès des modèles).
Ceci est étroitement lié à ce que SanSanych a dit au début du fil de discussion. Vous pouvez également suivre son conseil de supprimer la dernière partie des données connues pour le dernier échantillon de contrôle. N'utilisez pas ces données pour la formation et les validations, mais stockez-les séparément jusqu'à la fin de la formation du modèle. Ensuite, testez le modèle fini, ou le congrès, sur ces données. L'avantage est que cela montre comment le modèle se comporte sur les nouvelles données temporelles. L'inconvénient est qu'il y aura moins de données pour la formation et la validation, et que le modèle sera un peu dépassé au début de la négociation. Il y a une petite nuance ici, si vous n'aimez pas les résultats sur les données de référence et que vous commencez à choisir un modèle qui donnera de bons résultats dans ce domaine - vous commencez à utiliser ces données pour la validation, respectivement un modèle est choisi en les prenant en compte et donc il y a un léger regard vers le futur et toute cette opération devient insensée, et dans ce cas il était plus facile de ne pas faire la sélection de référence du tout.
Pas encore)))
J'ai vérifié. Les coupes ne sont pas meilleures que la version d'il y a six mois, ou quand j'ai regardé, je ne me souviens pas exactement. Dans la fenêtre et les statistiques fylo écrites différentes. Choisir l'importance des intrants
discutable, comparé de front avec rf et quelques autres, et peut donner une priorité élevée à des choses très peu importantes. Si vous prenez la meilleure coupe (de la fenêtre), ce n'est toujours pas bon.
Sur ces données, j'obtiens au moins 92%. La pièce (en l'état) est encore peu utile à des fins pratiques. Félicitations pour l'effort de développement et l'envol des idées.
Tout cela est bien sûr subjectif. Maintenant pour maintenant)))
Quand nous avons affaire à quelqu'un du niveau de Reshetov, nous pouvons exiger sans risque :
1. une revue des analogues
2. Une indication des lacunes qui sont censées être surmontées dans ces analogues
3. Indication du mécanisme permettant d'éliminer ces déficiences (vous pouvez cacher les spécificités dans l'économie de marché)
4. Comparaison des analogues avec votre développement. Cette comparaison devrait prouver que tous les inconvénients susmentionnés des prototypes existants ont été éliminés. Et on obtient un outil qui n'est PAS pire que les analogues.
Si une personne du niveau de Reshetov ne le fait pas, alors.. : Il convient de féliciter Reshetov pour les efforts qu'il a déployés pour développer et faire évoluer sa pensée.
alors vous pouvez demander en toute sécurité :
Pas encore)))
7 regardé. Il n'est pas meilleur que la version d'il y a six mois, ou quand j'ai regardé, je ne me souviens pas exactement. Dans la fenêtre et les statistiques fylo écrites différentes. Choisir l'importance des intrants
discutable, comparé de front avec rf et quelques autres, et peut donner une priorité élevée à des choses très peu importantes. Si vous prenez la meilleure coupe (de la fenêtre), ce n'est toujours pas bon.
Sur ces données, j'obtiens au moins 92%. La pièce (en l'état) est encore peu utile à des fins pratiques. Félicitations pour l'effort fourni pour développer cette fantaisie.
Tout cela est bien sûr subjectif. Au revoir maintenant)))
Je vois.Notepad est compressé, et je ne l'ai pas tordu vers le bas)))Mais je l'ai pris dans la fenêtre pour comparer.
J'ai supprimé immédiatement pour manque d'utilité, bien que quelqu'un puisse être utile...
Je me demande si cela va nous aider.... Je comprends donc que la puissance de traitement d'une telle chose est d'un ordre de grandeur supérieur, voire de plusieurs.....
https://hi-tech.mail.ru/news/compact-quantum-computer/?frommail=1
des cas) pour les deux échantillons (train = xx%, test = xx%). Les méthodes et les modèles ne doivent pas être annoncés, mais seulement les chiffres. Toute manipulation de données est autorisée
et les méthodes d'exploitation minière.
Et tous ceux qui viennent. L'archive z1 contient deux fichiers train et test. Pour Target, construire un modèle sur le train, l'appliquer au test, afficher les résultats en % (prédiction réussie).
des cas) pour les deux échantillons (train = xx%, test = xx%). Les méthodes et les modèles ne doivent pas être annoncés, mais seulement les chiffres. Toute manipulation de données est autorisée
et les méthodes d'exploitation minière.
Merci ! Je vais essayer.
Convenons de ne pas examiner le test tant que le modèle entraîné n'a pas été évalué. Je l'ai déjà fait.
C'est-à-dire que nous entraînons jusqu'à ce que nous soyons bleus dans le visage le meilleur modèle sur le train. Peut-être deux ou trois modèles. Puis leur test unique.