Y a-t-il un modèle dans ce chaos ? Essayons de le trouver ! Apprentissage automatique sur l'exemple d'un échantillon spécifique. - page 28

 
RomFil #:

J'ai ajouté une colonne : "1" achat, "-1" vente. Je pense que j'ai bien fait, mais je n'ai pas vérifié ... :) Paresseux.

Sur le graphique sans spread ni commission, voici le résultat en points :

Résultats : PR=157488 +transactions=778 -transactions=18 (profit, nombre de transactions positives et négatives)

Spread de 0.00050 :


Résultats : PR=117688 +transactions=629 -transactions=167

Spread à 0.00100 :

PR=77888 +trades=427 -trades=369

Spread à 200 :


PR=-1712 +trades=241 -trades=555

Félicitations pour votre super oscillateur !

J'ai obtenu de tels résultats en tenant compte de Target_P (les signaux qui ne coïncident pas dans la direction sont exclus) - je suis confus par les fluctuations au début et ensuite une croissance aussi rapide.

S'il n'y a pas d'erreur dans votre code, vous pouvez vous considérer comme un millionnaire !

Pouvez-vous me dire quel est le secret ? Je comprends qu'il s'agit essentiellement d'un polynôme que vous avez en quelque sorte poussé dans les limites d'un oscillateur.

 
Aleksey Vyazmikin #:

Félicitations pour votre super oscillateur !

J'ai obtenu de tels résultats en tenant compte de Target_P (les signaux dont la direction ne coïncide pas sont exclus) - il est cependant déroutant de constater qu'il fluctue au début et qu'il croît ensuite si rapidement.

S'il n'y a pas d'erreur dans votre code, vous pouvez vous considérer comme millionnaire !

Pouvez-vous me dire quel est le secret ? Je comprends qu'il s'agit essentiellement d'un polynôme que vous avez en quelque sorte poussé dans les limites d'un oscillateur.

Il n'y a pratiquement aucun secret. Je vous ai tout dit ci-dessus. Pas de polynômes.

Je vais vous donner quelques conseils :

1) La cible. Elle doit être déterminée par elle-même, c'est-à-dire que vous devez filtrer les données de telle sorte que le profit potentiel soit maximisé à la fois sur les mouvements forts et plats. J'avais l'habitude d'utiliser l'ondelette de Dobeshi pour la décomposition des séries et je dirais même que c'est la variante la plus correcte (bien que j'en aie maintenant trouvé une qui demande moins de ressources). La chose la plus importante dans le filtrage est de ne pas le faire "à la volée" et d'exclure au moins 10 à 20 % des données sur les bords de la trace de l'échantillon. Il est nécessaire de supprimer les données de bord pour exclure les effets de bord.

2) Oscillateur. Il peut s'agir de l'élément le plus simple. Par exemple, le très oublié RVI ... :) Seule la bonne période doit être sélectionnée.

3) Mais la chose la plus importante est le "bon" réseau neuronal et l'algorithme de son application ... :) Y compris l'interprétation correcte des résultats des réseaux neuronaux.


L'erreur dans le code peut être seulement dans le temps d'apparition du signal (bien que j'ai déjà vérifié huit fois et je n'ai pas trouvé d'erreur), mais même si l'apparition du signal est décalée vers la droite (c'est-à-dire pour faire un retard artificiel du signal de 1-2 pas), il y a aussi un bénéfice - moins que le bénéfice initial, bien sûr, mais les conditions initiales du premier post sont grandes.

 
RomFil #:

Il n'y a guère de secrets. Je vous ai tout dit plus haut. Pas de polynômes.

Je vais écrire une série de conseils :

1) Cible. Elle doit être déterminée par elle-même, c'est-à-dire que vous devez filtrer les données de manière à ce que le profit potentiel soit maximisé à la fois sur les mouvements forts et sur les mouvements plats. J'avais l'habitude d'utiliser l'ondelette de Dobeshi pour la décomposition des séries et je dirais même que c'est la variante la plus correcte (bien que j'en aie maintenant trouvé une qui demande moins de ressources). La chose la plus importante dans le filtrage est de ne pas le faire "à la volée" et d'exclure au moins 10 à 20 % des données sur les bords de la trace de l'échantillon. Il est nécessaire de supprimer les données de bord pour exclure les effets de bord.

2) Oscillateur. Il peut s'agir de l'élément le plus simple. Par exemple, le très oublié RVI ... :) Seule la bonne période doit être sélectionnée.

3) Mais la chose la plus importante est le "bon" réseau neuronal et l'algorithme de son application ... :) Y compris l'interprétation correcte des résultats des réseaux neuronaux.


L'erreur dans le code peut être seulement dans le temps d'apparition du signal (bien que j'ai déjà vérifié huit fois et je n'ai pas trouvé d'erreur), mais même si l'apparition du signal est décalée vers la droite (c'est-à-dire pour faire un retard artificiel du signal de 1-2 pas), il y a aussi un bénéfice - moins que le bénéfice initial, bien sûr, mais les conditions initiales du premier post sont grandes.

Le premier indice - il s'agit de mes données, alors passons-le pour l'instant.

Le deuxième indice - je me demande si vous avez utilisé l'échantillon de train ?

Troisième indice - et là je ne comprends pas - pourquoi tant de réseaux neuronaux ? Qu'est-ce que vous introduisez dans l'entrée, des retours ou autre chose ?

 
Aleksey Vyazmikin #:

Le premier indice est qu'il s'agit de mes données, nous allons donc l'ignorer pour l'instant.

Deuxième indice : je me demande si vous avez prélevé des échantillons ?

Troisième indice - et là je ne comprends pas - pourquoi tant de réseaux neuronaux ? Qu'est-ce que vous introduisez alors dans l'entrée, des retours ou quoi ?

2) Oui, seul l'échantillon de train est surexploité, car on considère que l'échantillon de train et l'échantillon de test sont le résultat d'un seul et même processus. Si les processus sont différents, on n'obtiendra naturellement rien.

3) C'est très simple. Avez-vous déjà fait de la génétique ?

Lorsque la génétique travaille pour résoudre une équation à dix variables, par exemple, le même résultat (très proche) peut être obtenu avec des variables différentes. C'est la même chose avec les réseaux neuronaux. Créez et entraînez deux réseaux neuronaux sur les mêmes échantillons, puis regardez l'erreur de ces réseaux et leurs coefficients de pondération. Ils seront différents !

En outre, pour les différentes parties des graphiques, vous avez besoin de différentes profondeurs d'échantillons alimentant l'entrée des réseaux neuronaux. En d'autres termes, les réseaux neuronaux ayant des profondeurs d'échantillonnage différentes ont une précision différente sur les différentes parties du graphique. Ainsi, le "bon" comité permet de répondre correctement sur toute la longueur des échantillons. Et surtout que ce comité détermine lui-même cette exactitude. Peut-être s'agit-il déjà des rudiments de l'IA ... :)

 
RomFil #:

3) C'est très simple. Avez-vous déjà fait de la génétique ?

Lorsque la génétique permet de résoudre une équation à dix variables, par exemple, le même résultat (très proche) peut être obtenu avec des variables différentes. C'est la même chose avec les réseaux neuronaux. Créez et entraînez deux réseaux neuronaux sur les mêmes échantillons, puis regardez l'erreur de ces réseaux et leurs coefficients de pondération. Ils seront différents !

En outre, pour les différentes parties des graphiques, vous avez besoin de différentes profondeurs d'échantillons alimentant l'entrée des réseaux neuronaux. En d'autres termes, les réseaux neuronaux ayant des profondeurs d'échantillonnage différentes ont une précision différente sur les différentes parties du graphique. Ainsi, le "bon" comité permet de répondre correctement sur toute la longueur des échantillons. Et surtout que ce comité détermine lui-même cette exactitude. Peut-être s'agit-il déjà des rudiments de l'IA ... :)

Vous m'embrouillez - je n'arrive pas à comprendre, avez-vous une formule d'oscillateur avec des coefficients libres, qui sont sélectionnés par la génétique ? La génétique est-elle implémentée sur un réseau neuronal (je ne connais pas de variante de ce type) ?

C'est clair, mais comment avez-vous collecté et distribué les coefficients - sur le train ou sur un autre échantillon ?

Si je comprends bien, l'entrée est constituée de valeurs pures avec quelques indentations ou même des fenêtres entières, mais de tailles différentes selon les réseaux ?

 
Aleksey Vyazmikin #:

Vous m'embrouillez - je n'arrive pas à comprendre, avez-vous une formule d'oscillateur avec des coefficients libres, qui sont sélectionnés par la génétique ? La génétique est-elle implémentée sur un réseau neuronal (je ne connais pas cette option) ?

C'est clair, mais comment avez-vous collecté et distribué les coefficients - sur le train ou sur un autre échantillon ?

Je comprends bien que l'entrée est constituée de valeurs pures avec quelques indentations ou même des fenêtres entières, mais de tailles différentes selon les réseaux ?

La génétique est habituelle, sans réseau neuronal (pour être honnête, la génétique sur réseau neuronal m'est également inconnue).

Tout est déterminé uniquement sur un échantillon de trains. Le comité lui-même détermine tous les coefficients.

Oui, des valeurs presque pures, des profondeurs différentes, des fenêtres différentes, etc.

 
RomFil #:

La génétique est courante, sans les neurosets (pour être honnête, la génétique sur les neurosets m'est également inconnue).

Tout est déterminé uniquement sur un échantillon de trains. Le comité lui-même détermine tous les coefficients.

Oui, des valeurs presque pures, des profondeurs différentes, des fenêtres différentes, etc.

L'oscillateur a été mentionné plus tôt comme une image collective qui n'est pas appliquée dans la réalité ?

 
Aleksey Vyazmikin #:

L'oscillateur a été mentionné précédemment comme une image collective non appliquée dans la réalité ?

Non, l'oscillateur n'est pas une image collective, mais une réalité (placée au sous-sol) :


L'oscillateur lui-même + les points est la prévision. Les points apparaissent sur les premiers ticks d'une nouvelle barre. Mais l'apparition d'un point n'est pas un signal pour une transaction - c'est seulement un avertissement. La suite du mouvement des prix est analysée et ce n'est qu'à ce moment-là que la décision sur la transaction est prise. Par ailleurs, ce graphique montre également un stop (marque rouge) qui, dans 98 à 99 % des cas, n'est pas franchi - il s'agit d'une défense contre les fluctuations brutales. Il s'agit en fait d'un signal d'achat... :)

 
RomFil #:

Non, l'oscillateur n'est pas une image collective, il est réel (placé dans la cave) :


L'oscillateur lui-même + les points est une prévision. Les points apparaissent sur les premiers ticks d'une nouvelle barre. Mais l'apparition d'un point n'est pas un signal pour une transaction - c'est seulement un avertissement. La suite du mouvement des prix est analysée et ce n'est qu'à ce moment-là que la décision sur la transaction est prise. Par ailleurs, ce graphique montre également un stop (marque rouge) qui, dans 98 à 99 % des cas, n'est pas franchi - il s'agit d'une défense contre toute fluctuation brutale. Il s'agit en fait d'un signal d'achat... :)

Eh bien, c'est purement votre système, et il n'a rien à voir avec les données que j'ai données, parce que vous n'avez pas utilisé d'autres données pour l'analyse ?

Je joins un fichier - veuillez y appliquer le modèle que vous avez préalablement entraîné - je suis intéressé par le résultat.

Dossiers :
 
Votre génétique est donc responsable des données introduites dans les entrées du réseau ? Et les données elles-mêmes sont le biais de la série temporelle ?
Raison: