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

 
Yuriy Asaulenko:

C'est vrai, les contrats à terme ont été négociés au cours des trois derniers mois - juste avant et après l'expiration du contrat précédent. Il est inutile de regarder plus tôt et d'essayer d'en faire quelque chose.

Maxim (ou son système) a remarqué l'évidence.

Je ne parle pas des contrats à terme qui n'ont pas encore commencé, mais du comportement cyclique, qui est probablement lié à la durée de vie du contrat, exprimé par le fait que les modèles changent dans un nouveau contrat, comme la volatilité et la liquidité, les réactions du marché changent. Il est invisible à l'œil, d'ailleurs, mais l'analyse statistique le montrera. Mais ce n'est pas l'essentiel, le marché est plein d'autres cyclicités. Le problème est que le système se reconstruit sans perte de rentabilité automatique. Je veux dire, je n'ai pas à faire quoi que ce soit manuellement, je suis trop paresseux...
 
Maxim Dmitrievsky:
:)) Je ne parle pas des contrats à terme, qui n'ont pas encore commencé, mais du comportement cyclique, probablement lié à la durée de vie du contrat, ce qui signifie que les schémas changent dans un nouveau contrat, comme la volatilité et la liquidité, le marché change ses réactions. Il est invisible à l'œil, d'ailleurs, mais l'analyse statistique le montrera. Mais ce n'est pas l'essentiel, le marché est plein d'autres cyclicités. Le problème est que le système se reconstruit sans perte de rentabilité automatique. Je veux dire, je n'ai pas à faire quoi que ce soit manuellement, je suis trop paresseux...

Entrez un paramètre qui définit la qualité de votre EA. Si sa valeur s'écarte de la limite que vous avez fixée, réentraînez le modèle. Tout cela peut être fait en R sans quitter l'état de fonctionnement.

Quel est le problème ?

 

Attention ! Il peut y avoir des erreurs dans R.

Pas plus tard qu'hier, je faisais des histogrammes. Je le fais depuis des heures, je n'ai pas écrit de scripts, tout est en ligne de commande. Je n'ai aucune envie de répéter des heures d'expériences uniquement pour poster les codes.

Alors, faisons un histogramme. L'histogramme montre que la probabilité de trouver des valeurs de la série dans un certain intervalle est de 0,22. C'est bien, mais l'histogramme lui-même ne semble pas l'être. Nous additionnons le tout et obtenons 0,59 et non 1 comme il se doit.

Nous traçons ensuite les mêmes histogrammes pour l'échantillon de processus aléatoires uniformément distribués. Tout converge ici et la somme est de 1 comme il se doit. Comment ça ?

Ok, il y a plusieurs façons de faire la même chose dans R. Faisons-le d'une autre manière. Cette fois, nous obtenons la probabilité 0,43. Ce n'est pas possible, car il n'y a aucun moyen d'obtenir 0,43 à partir de 0,22 (avec la somme 0,59).

En additionnant les valeurs de l'histogramme, on obtient 0,991. Je vous rappelle qu'il doit être égal à 1. Même si tout est correct, nous obtenons toujours 1% d'erreur. C'est une erreur scandaleuse - c'est tout simplement impossible.

Après une telle chose, la crédibilité de R. tombe en quelque sorte. Et s'il en est de même pour d'autres calculs et algorithmes plus complexes, où il n'est pas si facile, et souvent impossible, de vérifier.

 
Yuriy Asaulenko:

Attention ! Il peut y avoir des erreurs dans R.

Pas plus tard qu'hier, je faisais des histogrammes. Je le fais depuis plusieurs heures, je n'ai pas écrit de scripts, tout est en ligne de commande. Je n'ai aucune envie de répéter des heures d'expériences uniquement pour poster les codes.

Alors, faisons un histogramme. L'histogramme montre que la probabilité de trouver des valeurs de la série dans un certain intervalle est de 0,22. C'est bien, mais l'histogramme lui-même semble être différent. Nous additionnons le tout et obtenons 0,59 et non 1 comme il se doit.

Nous traçons ensuite les mêmes histogrammes pour l'échantillon de processus aléatoires uniformément distribués. Tout converge ici et la somme est de 1 comme il se doit. Comment ça ?

Ok, il y a plusieurs façons de faire la même chose dans R. Faisons-le d'une autre manière. Cette fois-ci, nous obtenons la probabilité 0,43. C'est impossible, car il n'y a aucun moyen d'obtenir 0,43 à partir de 0,22 (avec la somme 0,59).

En additionnant les valeurs de l'histogramme, on obtient 0,991. Je vous rappelle qu'il doit être égal à 1. Même si tout est correct, nous obtenons toujours 1% d'erreur. C'est une erreur scandaleuse - c'est tout simplement impossible.

Après une telle chose, la crédibilité de R. tombe en quelque sorte. Et s'il en est de même avec d'autres calculs et des algorithmes plus complexes, où il n'est pas si facile, et souvent impossible, de vérifier.


J'aimerais voir quelque chose.

Je construis régulièrement des diagrammes à barres mais je n'ai rien remarqué.

 
Yuriy Asaulenko:

Attention ! Il peut y avoir des erreurs dans R.

Pas plus tard qu'hier, je faisais des histogrammes. Je le fais depuis des heures, je n'ai pas écrit de scripts, tout est en ligne de commande. Je n'ai aucune envie de répéter des heures d'expériences uniquement pour poster les codes.

Alors, faisons un histogramme. L'histogramme montre que la probabilité de trouver des valeurs de la série dans un certain intervalle est de 0,22. C'est bien, mais l'histogramme lui-même semble être différent. Nous additionnons le tout et obtenons 0,59 et non 1 comme il se doit.

Ensuite, nous traçons les mêmes histogrammes pour l'échantillon de processus aléatoires uniformément distribués. Tout converge ici et la somme est de 1 comme il se doit. Comment ça ?

OK, il y a plusieurs façons de faire la même chose dans R. Faisons-le d'une autre manière. Cette fois, nous obtenons la probabilité 0,43. Ce n'est pas possible, car il n'y a aucun moyen d'obtenir 0,43 à partir de 0,22 (avec la somme 0,59).

En additionnant les valeurs de l'histogramme, on obtient 0,991. Je vous rappelle qu'il doit être égal à 1. Même si tout est correct, nous obtenons toujours 1% d'erreur. C'est une erreur scandaleuse - ce n'est tout simplement pas possible.

Après une telle chose, la crédibilité de R. tombe en quelque sorte. Et s'il en est de même avec d'autres calculs et des algorithmes plus complexes, où il n'est pas si facile, et souvent impossible, de vérifier.

Sans exemple reproductible, un son vide. La probabilité d'erreur dans les fonctions de base est inférieure à 0. De toute évidence, de nombreuses heures d'expérimentation ont eu un effet. Ne pouvez-vous pas tirer la séquence de commande de l'Histoire ? Ou vous ne pratiquez pas dans Rstudio ?

 
Vladimir Perervenko:

Sans exemple reproductible, il n'y a rien. La probabilité d'erreur dans les fonctions de base est inférieure à 0. Il est évident que des heures d'expérimentation ont eu un impact. Ne pouvez-vous pas tirer la séquence de commande de l'Histoire ? Ou bien vous ne vous entraînez pas dans Rstudio ?

Dans R 3.4.1 c https://www.r-project.org/

Il faut au moins une heure et demie rien que pour reproduire la séquence (dont je n'ai plus besoin). Bien sûr, je ne le ferai pas pour le simple plaisir de publier les résultats sur le forum. Hier, quand tout était, malheureusement, je n'ai pas pensé à écrire dans le fil.

C'est pourquoi j'ai écrit le plus précisément possible et sans rien affirmer -Attention ! Il peut y avoir des erreursdans R . Pas avoir, à savoir peut-être.) En général, je n'insiste pas. Si vous pensez que c'est bon, c'est que c'est bon.

Il est intéressant de noter que pour certaines séries, lorsque l'on trace des histogrammes, ils sont clairement présents, mais pour d'autres séries, ils ne semblent pas l'être. J'ai fini par devoir aller dans Excel et tout finir là-bas.

PS Oui, merci de me rappeler RStudio. Je l'ai déjà fait. Je pense qu'il sera plus pratique que R dans le CAD.

 
Yuriy Asaulenko:Il est intéressant de constater que pour certaines lignes, lorsque l'on dessine les histogrammes, ils sont manifestement présents, mais pour d'autres lignes, ils ne semblent pas l'être.


setwd("D:/") # définir le répertoire de travail
x <- read.csv("x.csv", head=T) # charger le fichier de données
sapply(x, class) # à quelle classe appartient le contenu de la variable

 
Vladimir Perervenko:

Entrez un paramètre qui définit la qualité de votre EA. Si sa valeur s'écarte de la limite que vous avez fixée, réentraînez le modèle. Tout cela peut être fait en R sans quitter l'état de fonctionnement.

Quel est le problème ?

Je n'utilise pas R car il est complètement inutile pour le développement de robots :) Si vous avez besoin d'une sorte de statistique, vous pouvez le faire, tout le reste est fait dans mt5, y compris les librairies neuronet que vous pouvez utiliser directement comme une dll, pourquoi avons-nous besoin de R ici ?
 
Maxim Dmitrievsky:
Je n'utilise pas R en raison de son inutilité totale pour le développement de bots :) Si vous avez besoin d'une sorte de statistique, vous pouvez le faire, mais tout le reste est fait dans mt5, y compris les libs avec les réseaux neuronaux que vous pouvez utiliser directement comme une dll, pourquoi ai-je besoin de R ?

Il est évident que vous n'avez pas besoin de R. Bonne chance

-----------------------

SanSanych :

Puisque vous êtes passé aux problèmes de régression, voyez ceci

Bonne chance

Neural networks for algorithmic trading. Multimodal and multitask deep learning
Neural networks for algorithmic trading. Multimodal and multitask deep learning
  • 2017.07.09
  • Alex Honchar
  • medium.com
Here we are again! We already have four tutorials on financial forecasting with artificial neural networks where we compared different…
 
Vladimir Perervenko:

Il est évident que vous n'avez pas besoin de R. Bonne chance

-----------------------

SanSanych :

Puisque vous êtes passé aux problèmes de régression, voyez ceci

Bonne chance


J'essaie de maîtriser un modèle très particulier - GARCH. Il m'attire par le fait qu'une série source est décomposée en ses composantes, puis ces composantes sont modélisées séparément. Et la décomposition est intuitivement compréhensible et directement liée au réentraînement du modèle. Puisque je ne suis intéressé que par la capacité de réentraînement du modèle (je peux créer des conseillers experts réentraînés dans TA avec une durée de vie allant jusqu'à 6 mois), c'est ce qui a déterminé le choix de GARCH.

Je ne connais aucune approche en Nouvelle-Zélande qui permette des queues épaisses, des coudes... Il me semble que le modèle NS lui-même n'a rien à voir avec les problèmes du cotier original.

Dans le modèle GARCH, tout en ajustant le modèle, je peux effectuer des tests qui servent à garantir qu'à l'avenir, le modèle résultant se comportera exactement de la même manière que sur les données d'entraînement. Je ne parviens pas à ajuster le GARCH avec des paramètres dont la probabilité est supérieure à 90 %.