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

 

J'ai réfléchi à d'autres façons d'alimenter le réseau en prix, j'ai remarqué que presque tous les traders qui réussissent négocient des niveaux, qui prennent en compte non seulement la série de valeurs de prix récentes mais aussi la tranche du graphique qui était dans le passé aux mêmes prix.

Sur

Si vous y réfléchissez, de nombreux problèmes apparaissent, je me demande qui a fait quelque chose de similaire, j'aimerais en discuter...

J'ai mis cette approche en attente pour le moment, mais je la trouve prometteuse...

J'ai reporté mon attention sur des choses plus simples, je me suis dit que je pourrais essayer de considérer les prix passés d'une autre manière, même si ce n'est pas complètement, et de compresser l'information sur les prix, je parle du profil de prix (ou du profil de volume), on peut vraiment penser à plusieurs centaines de barres dans un histogramme, celles-là on considère beaucoup de prix passés et on les compresse en même temps... Je suis un programmeur débutant et je ne peux pas encore réaliser le profil, c'est pourquoi j'ai pris un moyen simple, juste pris la distribution et l'ai construit sur la section des prix, qu'est-ce qui n'est pas un profil de marché ? ;)

PRICE <- cumsum(rnorm(300))+1000
layout(1:2)
plot(PRICE,t="l",ylab = "цена" , xlab = "индексы",lwd=2)
Max <- max(PRICE)
Min <- min(PRICE)
range.vector <- seq(Min, Max, length.out=50)
H <- hist(PRICE, breaks = range.vector,
          xlab = "все цены которые есть в етом участке", 
          ylab = "сколько раз график был на одной и той же цене",col = 5)


de

Il y a une sorte d'espoir que le réseau comprendra cette distribution (profil) mieux que le prix brut, car ce profil peut dire qu'il prend en compte toutes les transactions qui ont eu lieu en calculant le nombre de fois que le graphique atteint un prix, et les transactions sont théoriquement de niveau ... Nous devons vérifier... C'est fait :) Merci àD.trader pour son aide dans l'analyse de la distribution.

J'ai pris une tranche de 200 valeurs de prix dans la fenêtre glissante, je l'ai mise à l'échelle, centrée, puis distribuée et alimentée au RF

sorties

H$ brise

H$counts

et les 5 dernières valeurs de la coupe à partir de laquelle j'ai fait la distribution, afin que l'algorithme puisse s'orienter sur la dernière valeur par rapport aux valeurs de H$breaks et H$counts car tous les prix ont déjà été calculés au prorata.

Graphique 5 min, objectif comme toujours, retournement de situation.

Le résultat n'est pas très bon... parfois le réseau ne sait pas quoi faire...

Sur

parfois il entre magnifiquement, la qualité des entrées est super

aa

Et ce qui est intéressant, c'est qu'il n'y a pas de vente forcée sur les nouvelles données.

vvvvv


Je n'ai rien ajusté, j'ai simplement entraîné le modèle et j'ai vérifié le résultat.

Si vous êtes intéressé, vous pouvez essayer de vous entraîner avec vos cibles, vous obtiendrez peut-être quelque chose d'utile...

Merci pour le conseil ;)

 
Dans cette approche, il y a beaucoup de problèmes qui sont soit insolubles, soit solubles mais qui ne donnent pas un bon apprentissage.

Au minimum, la non-stationnarité de la distribution du quotient brut.
 
Alexey Burnakov:
Dans cette approche, il existe de nombreux problèmes qui sont soit insolubles, soit solubles mais qui ne donnent pas un bon apprentissage.

Au minimum, la non-stationnarité de la distribution brute des cotiers.
Eh bien, afin de ne pas programmer le profil du marché, je l'ai simplement remplacé par une distribution, c'est-à-dire que la distribution normale et ses propriétés ne sont pas prises en compte ici, ou n'ai-je pas compris le commentaire ? :)
 
mytarmailS:
Eh bien, je viens de remplacer le profil du marché par une distribution, c'est pourquoi la distribution normale et ses propriétés ne sont pas prises en compte ici, ou je ne comprends pas le commentaire ? :)
Non, tu ne l'as pas fait.

Nous ne devrions pas faire 960, 970, ...
Mais mettez-le sous une forme stationnaire, par exemple en comptant la différence par rapport au dernier prix. Ce serait -10, -5, 0, 5, ... 50. Sinon, vous aurez une moyenne dans un segment et une moyenne complètement différente dans l'autre. 900 sur l'un, 600 sur l'autre. Rien ne fonctionnera en dehors de l'échantillon.
 
Alexey Burnakov:
Pas compris.

Ce n'est pas 960, 970, ...

960, 970, ... -- Si j'avais marqué les prix de -2 à 2, ce ne serait pas très clair.

 
mytarmailS:

960, 970, ... -- Si j'avais montré les prix dans l'exemple sur l'image comme étant de -2 à 2, cela n'aurait pas été complètement clair.

Mais s'il n'y a pas de référence au dernier prix, alors la machine ne sait pas où se trouve votre moyenne. Si vous soustrayez tous les prix du dernier prix, alors la moyenne sera nulle et la position de cette moyenne par rapport au prix est fixe.
 
Alexey Burnakov:
D'accord, mais s'il n'y a pas de référence au dernier prix, la machine ne sait pas où se situe votre moyenne. Si tous les prix sont soustraits du dernier prix, la moyenne sera nulle et la position de cette moyenne est fixe par rapport au prix.
Il y a un lien :)

Surligné en bleu gras dans mon message

 
mytarmailS:
Il y a une liaison :)

Surligné en bleu gras dans mon message

Eh bien, c'est génial. L'idée est intéressante en général !

Mais il n'y a pas assez d'informations dynamiques pour compléter la courbe d'apprentissage. La machine ne comprend pas ce qui a précédé et ce qui a suivi dans cette allocation. Nous devons ajouter d'autres entrées.
 
Alexey Burnakov:
Très bien. Une idée intéressante en général !

Mais il n'y a pas assez d'informations dynamiques pour compléter la courbe d'apprentissage. La machine ne comprend pas ce qui a précédé et ce qui a suivi dans cette répartition. Nous devons ajouter d'autres entrées.

Comment résoudre ce problème ? Est-ce que je n'alimente pas une tranche de la distribution, mais une série de plusieurs tranches à la fois ?

J'ai un modèle RF comme sur l'image avec les paramètres ntree = 20 , mtry = 5 .

Si je fixe ntree =100, le modèle ne traite pas les nouvelles données, il se réentraîne.

=============================================

Je dois trouver comment résoudre le problème de faire en sorte que le réseau voit les graphiques passés aux mêmes prix.

Voici ce que le réseau voit maintenant

dd

la zone bleue est ce qui est vu par le réseau, les barres bleues représentent la distribution des prix dans cette zone et bien que le réseau voit beaucoup, 200 chandeliers, il ne voit pas l'essentiel , ces graphiques qui étaient plus tôt aux mêmes prix.

L

Il me semble que c'est l'information clé.

Et le réseau n'en sait rien

 
mytarmailS:


Nous devons encore trouver comment résoudre le problème du réseau qui voit les cartes qui étaient dans le passé aux mêmes prix.


C'est un gros problème. C'est un problème qu'il est presque impossible de résoudre sans nuire à l'apprentissage.

Ce qu'il faut retenir, c'est que plus on regarde dans le passé, plus les observations voisines sont dépendantes.

Si vous alimentez la machine en observations non spécifiées, vous perdez l'élément le plus important - l'exigence d'indépendance des observations. Après cela, l'apprentissage sera drastiquement insuffisant. Et les statistiques ne fonctionnent pas.

Pour éviter cela, il faut éclaircir les observations de manière à ce que le délai de retour maximal soit inférieur ou égal à l'étape d'éclaircissement des observations. Et cela mènerait à quoi ? Réduction par cent de la taille de l'échantillon d'entraînement.

Il y a un compromis à faire ici. Profondeur du regard par rapport au nombre d'exemples dans l'échantillon.