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

 
Aleksey Nikolayev #:

Il est préférable de compter en pièces de patron. Les ruptures du même modèle (significatives pour le travail) ne sont pas plus de quelques centaines par an. J'appellerais ça un nombre limite. Si vous essayez d'en faire des schémas plus compliqués, par exemple des paires de nœuds consécutifs qui se cassent, et qui remplissent également certaines conditions, vous pouvez obtenir des dizaines de ces schémas par an. Et ce n'est pas suffisant.

Oui, je suis d'accord que les données ne sont pas suffisantes, c'est pourquoi je prends le maximum d'historique. Bien sûr, plus il y a d'exemples, plus le résultat est fiable, en théorie, mais c'est ce que c'est.

Aleksey Nikolayev #:

Quelque chose comme une boucle sur toutes les constructions possibles d'un type de motif donné ? J'ai fait quelque chose de similaire une fois avec les mêmes pannes de vertex. En principe, il est possible de trouver quelque chose, mais l'énumération sera (dans le cas général) récursive plutôt qu'itérative. Là encore, la plupart des motifs seraient dénués de sens en raison de leur complexité et de leur rareté. Il est probablement plus facile de collecter manuellement une liste de motifs significatifs et de la contourner dans une boucle régulière, en choisissant le motif optimal.

J'ai juste besoin d'un outil doté d'une métrique précise pour évaluer la tendance/la distribution/le type de vagues dans le temps afin d'identifier toute tendance au sein de celles-ci. Quelles sont les tendances, par exemple :

- S'il y a eu un résultat positif après un modèle pendant une longue période, un résultat négatif est plus probable lorsqu'un nouveau modèle apparaît ;

- Le résultat est distribué de manière égale dans toutes les sections de l'échantillon (comment diviser correctement en sections ?) ;

- S'il y a eu un résultat négatif pendant une longue période, un résultat positif a plus de chances de se produire ;

- S'il n'y a pas eu de modèle pendant une longue période, le résultat positif/négatif est plus probable lorsqu'il apparaît.

En gros, quelque chose comme ça. Il s'agit d'un découpage statistique, mais il doit se faire à des intervalles historiques, et ma question est la meilleure façon de découper ces intervalles (mesurer sur des intervalles différents, faire un décalage), afin que l'estimation soit correcte et exprimée de préférence par un coefficient généralisé.

 
Aleksey Vyazmikin #:

Oui, je suis d'accord pour dire qu'il n'y a pas assez de données, c'est pourquoi je prends autant d'historique que possible. Bien sûr, plus les exemples sont nombreux, plus le résultat est fiable, en théorie, mais ce qui est là est là.

J'ai juste besoin d'un outil doté d'une métrique précise pour évaluer la tendance/la distribution/le type de vagues dans le temps afin d'identifier toute tendance au sein de celles-ci. Quelles sont les tendances, par exemple :

- S'il y a eu un résultat positif après un modèle pendant une longue période, un résultat négatif est plus probable lorsqu'un nouveau modèle apparaît ;

- Le résultat est distribué de manière égale dans toutes les sections de l'échantillon (comment diviser correctement en sections ?) ;

- S'il y a eu un résultat négatif pendant une longue période, un résultat positif a plus de chances de se produire ;

- S'il n'y a pas eu de modèle pendant une longue période, le résultat positif/négatif est plus probable lorsqu'il apparaît.

En gros, quelque chose comme ça. Il s'agit d'un intervalle statistique, mais il devrait être à des intervalles historiques et la question pour moi est de savoir quelle est la meilleure façon de découper ces intervalles (mesurer à différents intervalles, faire un décalage), pour que l'estimation soit correcte et exprimée de préférence par un certain coefficient généralisé.

La solution la plus simple est une statistique qui est calculée dans une série de tests. Dans le domaine du trading, il est généralement mentionné dans le contexte de la recherche de la dépendance d'un résultat commercial par rapport au précédent. Si une dépendance/sérialité est perceptible, vous pouvez essayer d'étudier sa structure. Ici, il est probablement plus judicieux de s'intéresser aux chaînes de Markov et d'utiliser comme métriques certaines fonctions de leurs matrices de probabilité.

Pour découper des intervalles d'histoire, j'utilise généralement un grand zigzag. Ce n'est probablement pas optimal, mais c'est assez simple et relativement objectif.

 
Aleksey Nikolayev #:

La chose la plus simple à laquelle vous pouvez penser est une statistique qui compte dans une sorte de test de série. Dans le domaine du trading, on y fait généralement référence dans le contexte de la recherche de la dépendance du résultat d'une transaction par rapport au résultat d'une transaction précédente. Si une dépendance/sérialité est perceptible, on peut essayer d'étudier sa structure. Dans ce cas, il est probablement judicieux de s'intéresser aux chaînes de Markov et d'utiliser toutes les fonctions de leurs matrices de probabilité comme métriques.

Un peu plus sur les chaînes de Markov dans ce contexte.

Si nous ne parlons que de sérialité, nous pouvons introduire deux états + et - qui dénotent la qualité de la réalisation du motif. En conséquence, il existe quatre façons possibles de passer d'un motif à l'autre : "+"->"-", "+"->"+", "-"->"+", "-"->"-". Les transitions correspondent à quatre probabilités (dont deux seulement sont indépendantes), qui forment la matrice de probabilité de cette chaîne.

Si nous parlons de la longueur des séries, les états devront être plus compliqués. Par exemple, il peut s'agir de paires (+,n) et(-,n), où en plus de la qualité de réalisation du motif, il y a n - numéro du motif dans la série qui le contient. Nous obtenons un nombre potentiellement infini d'états, mais les transitions possibles (avec une probabilité non nulle) sont également au nombre de quatre : (+,n)->(+,n+1), (+,n)->(-,1), (-,n)->(+,1), (-,n)->( -,n+1). Il en sortira également quatre probabilités (dont deux indépendantes). La différence est que maintenant la dépendance de ces probabilités à la longueur de la série n apparaît (ou non). Nous pouvons essayer d'exprimer cette dépendance par un certain coefficient et l'utiliser comme la métrique requise.

 

Bon après-midi ! Shalom ! Nairamdal !

Vous êtes tous de grands mathématiciens, je vois.

Alors nous pouvons le faire.

 
Pourquoi n'étudiez-vous pas l'intégrité du marché ?
 
Lesparents de Saas n'ont jamais réussi à l'habituer à ne faire ses besoins que dans des endroits désignés.
 
Alexander Ivanov #:
Pourquoi n'étudiez-vous pas l'intégrité du marché ?
Pourquoi n'étudiez-vous pas la différence entre les marchés ? Pourquoi n'étudiez-vous pas la dispersion du marché ? Pourquoi n'étudiez-vous pas la spectralité du marché ? Pourquoi faites-vous.......
Tu dis n'importe quoi ?
 
Que prévoyons-nous réellement?

Nous savons tous que le marché est un processus complexe, complexe du mot "complexe". Le marché est créé par de nombreux participants ayant des objectifs différents, des tailles de poches différentes, des tendances différentes...

Par exemple, construisons une simple tendance sinusoïdale que le prix suit(dans notre modèle), appelons-la une "tendance".

par(mar=c(2,2,2,2))
my.sin <- function(ve,a,f,p)    a*sin(f*ve+p)
trend <- my.sin(ve = 1:100,a = 1,f = 0.05,p = 1)+100
plot(trend,t="l")

Un modèle de prix simple, facile à comprendre et à prévoir.

Imaginons maintenant qu'un acheteur puissant sur le marché entre sur "notre marché" et y réalise des investissements importants pendant un certain temps.

layout(1:2, heights = c(10,3))
plot(trend,t="l",lty=2) 
lines(trend+buy)
plot(buy,t="l",col=3,lwd=2)

comme vous pouvez le voir notre beau modèle est un peu cassé...

Imaginons maintenant qu'au prix de 99,2, quelqu'un ait mis une grosse limite et ait acheté tout ce qui lui était proposé.

buy_limit <- trend
for(i in seq_along(trend)) if(buy_limit[i]<=99.2)  buy_limit[i] <- 99.2
layout(1:1)
plot(trend,t="l")
lines(buy_limit+buy,lty=2)
segments(10,99.2,100,99.2,lty=2,col=3)

Nous obtenons donc une telle courbe du modèle de prix, mais plus proche de la réalité

plot(trend,t="l",col=8,lty=2)
lines(buy_limit + buy ,t="l")

De plus, pour un réalisme encore plus grand, nous ajouterons du bruit, par exemple les transactions des petits ou des teneurs de marché.

noise <- rnorm(100,sd = 0.05)
plot(trend,t="l",col=8,lty=2)
lines(buy_limit+buy+noise)


C'est ainsi que l'on peut considérer le marché comme un processus compliqué.

Maintenant, il est intéressant de réfléchir. Lorsque nous prévoyons le prix, que prévoyons-nous exactement ? la tendance ? l'acheteur du marché ? l'acheteur limite ? le bruit ? :) et devons-nous prévoir tout cela ensemble ?

 
mytarmailS #:
Que prévoyons-nous réellement ?
25 encore :) les bases de l'économétrie ont disparu. Sans vouloir tourner en rond, on ne peut prévoir que les cycles et les composantes saisonnières d'une série chronologique.
 
Maxim Dmitrievsky #:
25 encore :) les bases de l'économétrie ont disparu. Sans vouloir tourner en rond, on ne peut prédire que les cycles et les composantes saisonnières d'une série chronologique.
Non, ce n'est pas si simple.
Raison: