L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 12

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
Bonjour, je suis nouveau dans le domaine de l'apprentissage automatique et j'ai une question, pourquoi essayez-vous tous de prédire la direction du prix, soit en zigzaguant, soit simplement en incrémentant la prochaine bougie, il y a beaucoup de chaos sur le marché, vous devriez inclure un certain couloir dans lequel le prix pourrait "s'agiter". Il me semble plus efficace de prendre le résultat de la négociation comme cible. Par exemple, pendant la formation, nous considérons une courbe de profit idéale et l'objectif sera marqué comme ne s'écartant pas de l'idéal de plus de 15% ou, alternativement, nous prenons le facteur de récupération et ne le laissons pas tomber en dessous de n , de tels objectifs seront plus flexibles pour les données du marché. Et le plus intéressant est de savoir comment mettre en œuvre une fonction de ce type, par exemple pour une forêt aléatoire ?
Bonjour !
Le côté gauche est juste un type de prix, le côté droit noir représente la courbe d'équilibre idéale (tout ce qui peut être gagné), le vert représente une certaine fourchette (corridor) de la courbe d'équilibre idéale que nous ne devrions pas dépasser dans notre commerce, le gris représente l'équilibre d'un type de commerce réel).
L'essence de l'objectif n'est donc pas de prédire les prix et l'objectif sous la forme d'un vecteur 11100001111100 , et de trouver un état dans lequel la ligne grise ne dépassera pas la ligne verte.
Je ne comprends pas moi-même comment le faire, c'est pourquoi j'aimerais en discuter).
Bonjour !
Le côté gauche est juste un type de prix, le côté droit noir représente la courbe d'équilibre idéale (tout ce qui peut être gagné), le vert représente une certaine fourchette (corridor) de la courbe d'équilibre idéale que nous ne devrions pas dépasser dans notre commerce, le gris représente l'équilibre d'un type de commerce réel).
L'essence de l'objectif n'est donc pas de prédire les prix et l'objectif sous la forme d'un vecteur 11100001111100 , et de trouver un état dans lequel la ligne grise ne dépassera pas la ligne verte.
Je suis peut-être un peu confus mais je ne sais pas comment faire).
L'angle de pente de la ligne dans les échanges d'erreurs sera moins qu'idéal. Vous avez décrit une transaction de ligne grise où l'augmentation du lot reviendra très probablement à l'angle prévu.
Je ne comprends pas :)) il n'y a pas de lot, il n'y a pas de système qui fonctionne amélioré), c'est une date générée au hasard... je viens d'imaginer une cible qui devrait fonctionner mieux que le zigzag à mon humble avis bien sûr, mais comment l'implémenter je ne sais pas, j'ai pensé que quelqu'un pourrait me le dire
Je ne vous comprends pas non plus.
Votre courbe grise revient à négocier avec un lot variable pour revenir toujours à une ligne à forte pente.
C'est comme une martin qui a toujours un angle de la ligne d'échange.
En réalité, il n'est pas réaliste d'opérer de cette manière. Avec des erreurs (trades perdants), votre courbe réelle sera beaucoup plus proche de zéro.
La manière dont l'objectif est réalisé n'est pas non plus claire. Ce type de série temporelle n'est possible que lorsque la transaction revient toujours dans le positif après l'accumulation de négatifs. Il n'est guère possible de mettre cela en place une formation, du moins pas de manière standard.
Ce n'est pas un système, c'est juste une illustration ;)) Il n'y a pas de commerce ici.
Désolé, je dois être mauvais pour exprimer mes pensées.
voici le code
PRIX <- cums(rnorm(200))+1000
par(mfrow=c(1,2))
plot(PRICE,t="l",,lwd=2)
PD <- c(0,diff(PRICE))
BAL <- PD
for(i in 1:length(PD)){
if(BAL[i] < 0) BAL[i] <- BAL[i]/-1
}
BAL <- cumsum(BAL)
lowBAL <- BAL - 50
plot(BAL,t="l",lwd=3)
plot(lowBAL,t="b",col="green")
realBAL <- BAL+rnorm(200,sd=20)
lines(realBAL,t="l",col="grey")
Recommençons, il y a une fonction cible standard, c'est un vecteur qui dénote la direction du mouvement, vous pouvez le décrire par un zigzag ou juste la prochaine fermeture de bougie, le vecteur est habituellement transformé en 1110000111 ou -1-1-11111
Je peux le faire de cette façon, mais je pense que de telles approches sont défectueuses.
Je propose de le faire : laisser l'algorithme pendant l'entraînement imiter le trading (graphique gris) et le comparer au rendement idéal qui pourrait être attendu (graphique noir) ; c'est-à-dire que l'algorithme n'essaie pas de prédire le prochain prix et essaie juste de ne pas dépasser la ligne verte. C'est tout ce que j'ai essayé de montrer sur le graphique.
Question : Est-il possible de le réaliser, car tous les algorithmes que j'ai vu (neuronal, RF...) veulent un vecteur cible de 11100011
Ce n'est pas un système, c'est juste une illustration ;)) Il n'y a pas de commerce ici.
Désolé, je dois être mauvais pour exprimer mes pensées.
voici le code
PRIX <- cums(rnorm(200))+1000
par(mfrow=c(1,2))
plot(PRICE,t="l",,lwd=2)
PD <- c(0,diff(PRICE))
BAL <- PD
for(i in 1:length(PD)){
if(BAL[i] < 0) BAL[i] <- BAL[i]/-1
}
BAL <- cumsum(BAL)
lowBAL <- BAL - 50
plot(BAL,t="l",lwd=3)
plot(lowBAL,t="b",col="green")
realBAL <- BAL+rnorm(200,sd=20)
lines(realBAL,t="l",col="grey")
Recommençons, il y a une fonction cible standard, c'est un vecteur qui dénote la direction du mouvement, vous pouvez le décrire par un zigzag ou juste la prochaine fermeture de bougie, le vecteur est habituellement transformé en 1110000111 ou -1-1-11111
Je peux le faire de cette façon, mais je pense que de telles approches sont défectueuses.
Je propose de le faire : laisser l'algorithme pendant l'entraînement imiter le trading (graphique gris) et le comparer au rendement idéal qui pourrait être attendu (graphique noir) ; c'est-à-dire que l'algorithme n'essaie pas de prédire le prochain prix et essaie juste de ne pas dépasser la ligne verte. C'est tout ce que j'ai essayé de montrer sur le graphique.
La question : est-il possible de le réaliser, car tous les algorithmes que j'ai vus (neuronaux, RF...) veulent un vecteur cible de 11100011 sous la forme d'un vecteur cible ?
Merci. Je vous ai compris tout de suite. C'est juste qu'il n'est pas possible de l'implémenter par défaut.
Prenez la forêt aléatoire. Je suppose que vous connaissez cette méthode d'apprentissage automatique.
Ce truc ne peut fonctionner que dans un sens. Si nous avons une variable de sortie binaire, la forêt de décision pour chacune des entrées cherchera simplement et stupidement une région de valeurs où l'asymétrie d'une des classes de sortie est statistiquement plus grande. Et ceci est fait de manière itérative pour toutes les variables.
Si vous voulez que la machine tienne compte de l'écart entre la précision des transactions réelles et l'idéal, vous devez vous assurer que la forêt de décision est choisie en conséquence, et non en fonction de l'asymétrie des classes. Cela doit tenir compte de la variation dynamique de l'écart par rapport au commerce idéal, qui n'est pas non plus réalisable par la norme. Pour ce faire, la machine doit être alimentée de manière dynamique en données sur la transaction parfaite. Pour ce faire, il est nécessaire de réécrire la méthode. Les outils standard ne peuvent tout simplement pas le faire.
Il existe des fonctions de gradient. Dans le cas d'une forêt standard, le gradient est fixé à sa manière. Si vous devez optimiser l'écart du métier par rapport à l'idéal, il s'agira d'un gradient complètement différent. Je ne pense pas pouvoir l'écrire personnellement sur mes genoux.