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

 
Yuriy Asaulenko:

Oui, pas lui, maisAleksey Vyazmikin. Mon erreur.

(à l'échelle, oui, bien sûr, mais ils ne cessent pas d'être des prix).

Je suis arrivé à la conclusion il y a longtemps que le prix n'est pas un f-from et ne comprend pas quoi, donc je vais juste perdre l'information, et le résultat sera pire.

Je ne peux pas résoudre le problème, je n'ai pas d'idées. Vous pouvez peut-être me donner un indice ?
 
Maxim Dmitrievsky:

Je suis arrivé à la conclusion, il y a longtemps, que le prix n'est pas une fonction et ne comprend pas ce qu'il est, donc même si vous l'interdisez, il perdra de l'information et c'est tout, et par conséquent le résultat s'aggravera.

Je ne peux pas résoudre le problème, je n'ai pas d'idées. Vous pouvez peut-être me donner un indice ?

Avez-vous déjà mâché la carte brute ?

Cela pourrait vous aider dans une dizaine d'années))).

 
Maxim Dmitrievsky:

Je suis arrivé à la conclusion il y a longtemps que le prix n'est pas une fonction et ne comprend rien, donc même si vous l'interdisez, il perdra des informations et c'est tout, et en conséquence le résultat sera pire.

Voici le problème de la mise à l'échelle... Je ne peux pas résoudre le problème, je n'ai aucune idée. Vous pouvez peut-être me donner un indice ?

Dans le code, qui a été publié l'autre jour, il y a une ligne avec une mise à l'échelle, avant le NS to feed.

while i < LenHist:
    x = []
    for j in range(0, 20): #Подготовка данных для НС

        x.append((SD.history[i-j][c.c]/SD.history[i][c.c]-1)*1000)

    out = MLP.Predict([x]) # запрашиваем прогноз НС     if out >= 3.0:         i = Long(i)               tmp.append('L')     elif out <= -3.0:         i = Short(i)                 tmp.append('S')     i += 1

Pour un NS de 20 entrées. Le ratio (1000) peut être ce que le NS souhaite. Et ainsi de suite.

 
Yuriy Asaulenko:

Dans le code que j'ai posté l'autre jour, il y a une ligne avec la mise à l'échelle avant qu'elle ne soit envoyée au NS.

Pour les NS de 20 entrées. Le rapport (1000) peut être celui que le NS souhaite. Ça donne quelque chose comme ça.

il s'agit donc de 20 incréments multipliés par 1000

 
Maxim Dmitrievsky:

donc c'est 20 incréments multipliés par 1 000.

Quels incréments ? Il s'agit d'une séquence de prix échelonnée, dans ce cas Close. Tous les rapports de la séquence sont conservés inchangés.

 
Diviser

SD.histoire[i-j][c.c]/SD.histoire[i][c.c]

i-j clause de prix sur le i-ème est un rapatrié

vous obtenez 20 rapatriés avec un décalage de 1 à 20, puis vous multipliez par 1000 pour une raison quelconque
 
Maxim Dmitrievsky:
Diviser

SD.histoire[i-j][c.c]/SD.histoire[i][c.c]

prix i-j i-j est un rapatrié

vous obtenez 20 retours avec un décalage de 1 à 20, puis vous les multipliez par 1000 pour une raison quelconque.

Je ne suis pas familier avec les retours. Je ne suis pas familier avec cette terminologie.)) C'est un simple report à zéro du système de coordonnées et de la mise à l'échelle.

Nous multiplions par 1000 pour que les nombres à l'entrée NS soient à une échelle normale (pas petite). )) Réglez le coefficient comme vous le souhaitez, en fonction de la plage dynamique des entrées NS ou forestières.

 
Yuriy Asaulenko:

Je ne suis pas au courant des retours. Je ne suis pas familier avec la terminologie). Il s'agit d'une simple mise à zéro et d'une mise à l'échelle du système de coordonnées.

Nous multiplions par 1000 pour que les chiffres de l'entrée NS soient à une échelle normale (pas fine). )) Le coefficient que vous souhaitez est celui que vous définissez, en fonction de la plage dynamique des entrées NS ou forêt.

Lorsque vous divisez un prix par un prix voisin avec un décalage, il s'agit d'un retour, c'est-à-dire de l'augmentation du prix avec un décalage donné.

 
Maxim Dmitrievsky:

Lorsque vous divisez un prix par un prix voisin avec un certain décalage, il s'agit d'un retour, c'est-à-dire d'une augmentation de prix avec un décalage donné.

Toute la série est divisée par Close(0), c'est-à-dire que le point zéro de la série est toujours 1 - ce qui nous amène à la même échelle pour tous les échantillons. Soustrayez 1 à chaque terme de la série - ramenez la série à l'origine. Multiplier par le facteur d'échelle (1000), pour faire correspondre la gamme à l'entrée NS.

Si vous n'aimez pas, n'utilisez pas).

 
Yuriy Asaulenko:

Là, la ligne entière est divisée par Close(0), c'est-à-dire que le point zéro de la ligne est toujours 1. Soustrayez 1 à chaque terme de la ligne - ramenez la ligne à l'origine. Multiplier par le facteur d'échelle (1000), pour faire correspondre la gamme à l'entrée NS.

Non, n'aimez pas, ne l'appliquez pas).

nope, je dis juste que c'est des retours, vous pouvez mettre log() au lieu de -1, la même chose se produira, c'est à dire logreturns. Cette perte d'information est très importante, puisque vous n'en avez que 20.