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

 
Aleksey Terentev:
Et oui, il y a un problème de normalisation. Il sautera et normalisera les données différemment selon les intervalles de temps.

Oui, je vais essayer de le résoudre un jour.

 
Maxim Dmitrievsky:

Non, j'ai déjà cité l'écran, les incréments sont stationnaires et symétriques des deux côtés de zéro, donc les probabilités seront +- les mêmes.


Maxim Dmitrievsky : C'est possible, mais lorsque j'ai essayé de révéler la symétrie dans le comportement des prix, je n'ai pas réussi à la trouver.

Avec respect.
 
Andrey Kisselyov:
C'est probable, mais lorsque j'ai essayé de trouver une symétrie dans le comportement des prix, je ne l'ai pas vue.

Avec respect.

Ici, la probabilité est essentiellement de 50-50 (au-dessus/au-dessous de zéro) - qu'il appartienne ou non à la classe, et toutes les autres valeurs sont la force du signal. Par conséquent, même si les incréments ne sont pas symétriques pour l'achat et la vente, NS devrait le comprendre par lui-même :)

 
Maxim Dmitrievsky:

Ici, la probabilité est essentiellement de 0 et 1 - qu'il appartienne à la classe ou non, et toutes les autres valeurs sont l'intensité du signal. Ainsi, même si les incréments ne sont pas symétriques pour l'achat et la vente, le NS devrait le comprendre de lui-même :)

A mon avis, dans ce cas il est nécessaire, comme je l'ai dit plus haut, d'avoir un 3ème état, une certaine frontière jusqu'à laquelle le signal n'appartient ni à l'achat ni à la vente.

Regards.

 
Andrey Kisselyov:

A mon avis, dans ce cas il est nécessaire, comme je l'ai dit plus haut, d'avoir un état 3, une certaine limite jusqu'à laquelle le signal n'appartient ni à l'achat ni à la vente.

Regards.


alors nous ferons référence aux deux classes avec la même probabilité

 
Maxim Dmitrievsky:

alors attribuez aux deux classes avec une probabilité égale

NS devrait essentiellement trouver cette limite par elle-même, il suffit de la fournir dans le code. Et elle ne doit pas nécessairement avoir une probabilité égale pour les deux directions.

Avec respect.
 
Maxim Dmitrievsky:

En utilisant un classificateur linéaire comme exemple. Supposons que nous enseignions quelque chose à un classificateur, que nous lui fournissions 2 sorties avec des incréments de prix de 0 à 1, où 0,5 ne représente aucun signal (la somme des sorties est toujours égale à un).

Il y a quelque chose qui ne va pas dans cette phrase. Si vous enseignez le classificateur, l'enseignant ne sera pas les incréments de 0 à 1 mais les valeurs spécifiques comme -1 et 1 (prix en baisse / prix en hausse). En créant une table d'apprentissage et un enseignant pour le modèle, les incréments seront arrondis à -1 et 1 et toute information sur la valeur de l'incrément sera perdue.

Par la suite, le modèle sera entraîné, et certains modèles de classification dans le processus de prédiction peuvent effectivement donner la probabilité de la classe au lieu des valeurs strictes -1 et 1. Mais cette probabilité n'est pas du tout liée à la valeur de la croissance, elle peut être interprétée comme "le prix avec la probabilité X% va probablement augmenter, d'une valeur de croissance inconnue".


Maxim Dmitrievsky:

Et si nous prenons un réseau de neurones avec une classification non linéaire, les sorties nous renseigneront-elles sur la force du signal ou indiqueront-elles seulement le degré d'appartenance à 1 ou 2 classes et pas plus.

Là encore, il n'y aura que des degrés d'appartenance à 1 ou 2 classes et pas plus. La condition indiquée sur l'image ne sera pas remplie. Si vous voulez connaître la valeur de la croissance, vous devrez créer un ensemble de classes avec plusieurs niveaux de croissance.



La régression peut être utilisée à la place de la classification. Et un modèle de régression est nécessaire. Il est alors possible d'introduire des incréments de prix pendant l'entraînement sans modification ni arrondissement, et si le modèle peut atteindre une grande précision, il prédit l'ampleur de l'incrément au lieu des probabilités et des classes. C'est très pratique.

Bien qu'en forex, je n'ai pas obtenu plus avec la régression qu'avec la classification simple. Le modèle a produit des valeurs très faibles lors de la prédiction, bien qu'il ait deviné la direction dans plus de 50% des cas, mais il a été impossible d'estimer le montant de l'augmentation attendue à partir de la prédiction. Le résultat a été traité comme pour les deux classes - "le prix augmentera probablement d'un montant inconnu".

 
Maxim Dmitrievsky:

Aidez-moi à comprendre le processus :)

En utilisant un classificateur linéaire comme exemple. Supposons que nous enseignons quelque chose au classificateur, nous alimentons les incréments de prix de 0 à 1 à 2 sorties, où 0,5 n'est pas un signal (la somme des sorties est toujours égale à un).

Si nous traçons simplement une ligne de régression, par exemple, en fonction des prix, les plus grands incréments de prix seront plus éloignés de la ligne, les plus petits plus proches, c'est-à-dire que si les sorties du classificateur sont 0,9 ; 0,1, l'incrément positif est éloigné de la ligne, c'est-à-dire que le signal 0,9 sera plus fort que le signal 0,6 pour acheter.

Et si nous prenons un réseau de neurones avec une classification non linéaire, les sorties montreront-elles l'intensité du signal ou seulement le degré d'appartenance à l'une des deux classes et pas plus ?

C'est-à-dire si cette condition sera remplie :


Il me semble que, dans cette situation, la moitié des débutants qui ne connaissent pas très bien la question se feront avoir. La raison en est que le degré d'appartenance à telle ou telle classe indique intuitivement la force plus ou moins grande du signal. Mais s'il en est ainsi en fait et s'il n'est pas mieux de créer plus de classes sur lesquelles distribuer les valeurs des incréments, disons, en %, alors l'obtention de la valeur dans telle ou telle classe (une sur 10, supposons) va déjà précisément susciter la valeur de l'incrément.

Si vous voulez avoir une caractéristique telle que l'intensité du signal à la sortie, pourquoi voudriez-vous résoudre un problème de classification qui restera fini (discret) avec toute augmentation du nombre de classes. Prenez la tâche de régression et donnez -1(100% VENTE) à 1(100% ACHETE) ou même des points à la sortie de la formation - négatif pour VENTE et positif pour ACHETE, le zéro sera plat comme il se doit.

P.S.
déjà écrit dans le message précédent - approximativement le même signifié...

 
Dr. Trader:

Il y a quelque chose qui ne va pas dans cette phrase. Si vous entraînez un classificateur, l'enseignant ne sera pas les incréments de 0 à 1, mais des valeurs spécifiques telles que -1 et 1 (baisse des prix / hausse des prix). En créant une table d'apprentissage et un enseignant pour le modèle, les incréments seront arrondis à -1 et 1 et toute information sur la valeur de l'incrément sera perdue.

Le modèle sera ensuite entraîné et certains modèles de classification pourront effectivement donner la probabilité de la classe au lieu des valeurs strictes -1 et 1. Mais cette probabilité n'est pas du tout liée à la valeur de l'augmentation, elle peut être interprétée comme "le prix avec une probabilité de X% augmentera probablement d'un montant inconnu d'augmentation".


Là encore, il n'y aura que des degrés d'appartenance à 1 ou 2 classes et pas plus. L'exigence figurant sur la photo ne sera pas remplie. Si vous voulez connaître l'ampleur de l'incrément, vous devez créer un ensemble de classes pour plusieurs degrés d'incrément.



Au lieu d'utiliser la classification, vous pourriez utiliser la régression. Et un modèle de régression est nécessaire. Ensuite, lors de la formation, vous pouvez introduire des incréments de prix sans modifications ni arrondis, et si le modèle peut atteindre une grande précision, il prédit l'ampleur de l'incrément au lieu des probabilités et des classes. C'est très pratique.

Bien qu'en forex, je n'ai pas obtenu plus avec la régression qu'avec la classification simple. Le modèle a produit des valeurs très faibles lors de la prédiction, bien qu'il ait deviné la direction dans plus de 50% des cas, mais il a été impossible d'estimer le montant de l'augmentation attendue à partir de la prédiction. Le résultat a été traité comme pour les deux classes - "le prix va probablement augmenter d'un montant inconnu".


Je vois :) donc la probabilité de sortie de l'assignation de classe n'a rien à voir avec la valeur probable de l'incrément... vous voyez, certaines personnes s'embrouillent ici aussi, c'est un point ambigu pour les débutants.... D'un autre côté, si un réseau neuronal produit des probabilités (par exemple la couche softmax), à quoi bon les utiliser si l'appartenance à une classe est déterminée par une probabilité supérieure à 0,5 ? Et ensuite, vous pouvez vraiment essayer d'utiliser un modèle de régression et vous débarrasser de toute normalisation des valeurs de sortie... d'ailleurs, j'utilise des forêts aléatoires et la normalisation des entrées n'est pas nécessaire.

 
Ivan Negreshniy:

Si vous voulez avoir une caractéristique telle que l'intensité du signal à la sortie, alors pourquoi résoudre le problème de classification, qui restera fini (discret) avec toute augmentation du nombre de classes. Prenez le problème de régression et donnez -1 (100% VENTE) à 1 (100% ACHETE) ou généralement en points - négatif pour VENTE et positif pour ACHETE, tandis que le zéro, comme il se doit, sera plat.

P.S.
ont déjà écrit dans le message précédent - approximativement le même signifié...


Oui, il s'avère que la régression sera plus intelligente (j'utilise le RF, pas le réseau neuronal)