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

 
elibrarius:
Quelles sont les données ?

Les achats de chaque minute sont ouverts avec des SL et TP de 100 à 2500 par incréments de 100 sur une base de 5 chiffres. C'est-à-dire que chaque minute, 625 achats sont ouverts. Tout cela au prix de la minute d'ouverture.

Après le décodage, ça aurait dû ressembler à ça :

Non, prix d'entrée (*10^5), heure unix, année, mois, jour, minute, seconde, jour de la semaine, jour de l'année, ... tout de même pour la sortie, ... SL en PP, SL en prix, TP en PP, TP en prix, résultat des échanges.

Les forêts devraient s'en accommoder. Il est également intéressant de le décomposer en groupes.

 
Rorschach:

Les achats de chaque minute sont ouverts avec un SL et un TP de 100 à 2500 par incréments de 100 sur une base de 5 chiffres. C'est-à-dire que chaque minute, 625 achats sont ouverts. Tout cela au prix de la minute d'ouverture.

Après le décodage, ça aurait dû ressembler à ça :

Non, prix d'entrée (*10^5), heure unix, année, mois, jour, minute, seconde, jour de la semaine, jour de l'année, ... tout de même pour la sortie, ... SL en PP, SL en prix, TP en PP, TP en prix, résultat des échanges.

Les forêts devraient s'en accommoder. Il est également intéressant de décomposer le concept de "cluster".

J'ai fait la même chose avec TP\CL.
Je n'ai pas fait un pas de 10 pt, j'ai fait 100, 200, 300, 500, 700, 1000, 2000 - si vous appliquez cela, vous obtenez 49 combinaisons différentes par minute, ce qui représente presque 13 fois moins de données.
Je ne pense pas qu'un pas fin soit nécessaire à des TP/SCL élevés, 2400 et 2500 seront légèrement différents, et l'économie de ressources est de 13 fois.
J'ai également fait des passages séparés pour chaque combinaison de CPOL, plutôt que de les faire tous en même temps dans un seul fichier.
En égalant TP/SL, vous pouvez immédiatement évaluer la rentabilité du système. Par exemple, à TP = 50. J'obtiens 53 à 55 % des transactions réussies. Dans le testeur.

Depuis mars, lorsque la volatilité a augmenté, il est impossible d'utiliser TP=SL=50, alors qu'il s'agissait d'une combinaison valable pendant de nombreuses années. Avant mars, 50 pts pouvaient gagner 10-20 min, alors qu'en mars, il fallait 1-2-5 min.
Maintenant, je veux seulement rechercher les points d'entrée et estimer les résultats à la volée avec mon testeur. Je pense qu'il sera plus universel pour toute volatilité.

Essayez de prendre une combinaison de TP=SL=100 par exemple et entraînez le modèle. Je pense que vous devriez avoir assez de puissance pour ça. S'il est supérieur à 55 % à l'issue de la période d'essai, alors vos données sont meilleures que les miennes. Et il est encore mieux de vérifier non pas à l'issue de la période d'essai (car il peut s'agir d'un coup de chance), mais par validation croisée - c'est plus fiable.
 
elibrarius:
J'ai fait la même chose avec TP/SCL.
Je n'ai pas fait un pas de 10 pt dans le mien, mais sur une grille de 100, 200, 300, 500, 700, 1000, 2000 - si vous appliquez cela, vous obtenez 49 combinaisons différentes par minute, c'est presque 13 fois moins de données.
Je ne pense pas qu'un pas fin soit nécessaire à des TP/SCL élevés, 2400 et 2500 seront légèrement différents, et l'économie de ressources est de 13 fois.
J'ai également fait des passages séparés pour chaque combinaison de CPOL, plutôt que de les faire tous en même temps dans un seul fichier.
En égalant TP/SL, vous pouvez immédiatement évaluer la rentabilité du système. Par exemple, à TP = 50. J'obtiens 53 à 55 % des transactions réussies. Dans le testeur.

Depuis mars, lorsque la volatilité a augmenté, il est impossible d'utiliser TP=SL=50, alors qu'il s'agissait d'une combinaison valable pendant de nombreuses années. Avant mars, 50 pts pouvaient gagner 10-20 min, alors qu'en mars, il fallait 1-2-5 min.
Maintenant, je veux seulement rechercher les points d'entrée et estimer les résultats à la volée avec mon testeur. Je pense qu'il sera plus universel pour toute volatilité.

Essayez de prendre une combinaison de TP=SL=100 par exemple et entraînez le modèle. Je pense que vous devriez avoir assez de puissance pour ça. S'il est supérieur à 55 % à l'issue de la période d'essai, alors vos données sont meilleures que les miennes. Et il est encore mieux de vérifier non pas à l'issue de la période d'essai (car il peut s'agir d'un coup de chance), mais par validation croisée - c'est plus fiable.

Vous devrez probablement éclaircir vos données

 
Rorschach:

Vous devrez probablement éclaircir vos données

Si vous effectuez un entraînement avec TP/CL=50 ou 100, écrivez le résultat sur la validation croisée, je me demande si vous obtiendrez plus de 55%.
 
elibrarius:
Si vous faites l'entraînement avec SP/SL=50 ou 100 écrivez le résultat sur la validation croisée, je me demande si vous obtenez plus de 55%.

J'ai utilisé un système dans le testeur pendant 10 ans qui ouvrait un achat une fois par jour avec différents ratios SL/TP. Parmi ceux qui ont survécu, il n'y avait pas de systèmes avec le même SL et TP, la plupart avec TP<SL. Vous pouvez le faire vous-même.

J'ai aussi fait une émulation, qui a montré qu'un système avec un SL<SL est plus rapide pour entrer dans le noir.

 
mytarmailS:

Tu as encore touché au réseau ?)

J'ai enfin trouvé le bug dans le testeur. Maintenant, tout se met en place.

Il est fort probable qu'il ait fait la même erreur dans son testeur.

a fermé le sujet ) en urgence, Lamba est reporté

 
Rorschach:

J'ai les dates, maintenant je ne sais pas comment les traiter, je n'ai pas beaucoup de pouvoir((((.

Pour l'instant c'est un csv avec une colonne d'index, ça pèse un giga. Après "décodage", le binaire pèsera 17 fois plus.

Qui en a besoin ?

CatBoost va avaler ces données - il fonctionne bien avec les gros fichiers. Je n'ai seulement pas compris, quelle cible...

Si vous préparez les données sous forme de csv avec la cible, je peux l'exécuter chez moi.

 
Rorschach:

J'ai utilisé un système dans le testeur pendant 10 ans qui ouvrait un achat une fois par jour avec différents ratios SL/TP. Parmi les systèmes qui ont survécu, il n'y avait aucun système avec le même SL et TP, la plupart avec TP<SL. Vous pouvez le faire vous-même.

J'ai aussi fait une émulation, qui a montré qu'un système avec TP<SL était plus rapide pour sortir du côté positif.

J'ai réussi à créer un système avec un TP dépassant le SL de 2 à 3 fois, mais il y a un autre problème - 20 à 25 % de trades rentables, et je ne peux pas former correctement le modèle pour filtrer les entrées perdantes.

 
Maxim Dmitrievsky:

Je l'ai vérifié, ça fonctionne mieux dans le testeur. Je vais y réfléchir à nouveau.)

Je viens de me mettre aux récurrences... très bon pour apprendre.

Z.U. l'a bien fait - très tristement apprenable.

pensé amour, mais non - expérience à nouveau))

Pourquoi est-ce si triste ? Maxim, n'avez-vous pas de liens vers la documentation sur les récurseurs ? Je suis intéressé par la façon dont les poids sont mis à jour pendant l'entraînement.
 
Alexander Alekseyevich:
Pourquoi c'est triste ???? Maxim, n'avez-vous pas des liens vers des documents sur la récurrence ? Je suis intéressé par la façon dont les poids sont mis à jour pendant l'entraînement.

ils sont reconvertis de la même manière que les autres

Il y a beaucoup d'informations sur google

en voici un bon

https://towardsdatascience.com/gate-recurrent-units-explained-using-matrices-part-1-3c781469fc18

Gated Recurrent Units explained using Matrices: Part 1
Gated Recurrent Units explained using Matrices: Part 1
  • Sparkle Russell-Puleri
  • towardsdatascience.com
In the first step a dictionary of all of the unique characters is created to map each letter to a unique integer: Character dictionary : {‘h’: 0, ‘a’: 1, ‘t’: 2, ‘M’: 3} Our encoded input now becomes: MathMath = [3, 1, 2, 0, 3, 1, 2, 0] Step 1: Create batches of data This step is achieved by the user specifying how many batches (B), or sequence...
Raison: