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

 
Maxim Dmitrievsky #:
Il y a plus d'aléa, il faut donc bricoler pour que cela fonctionne.

Vous pouvez décomposer la série en éléments, trouver la partie aléatoire, trouver la partie déterministe. écarter l'aléatoire, laisser le reste... Un cas standard pour le traitement BP ...

Mais non, cela ne fonctionne pas non plus.

A un moment donné, sur de nouvelles données, l'aléatoire deviendra déterministe, et le déterministe deviendra aléatoire....

Donc également AUCUN)

 
mytarmailS #:

vous pouvez décomposer la série en composantes (décomposition), trouver la partie aléatoire, trouver la partie déterministe. écarter l'aléatoire, laisser le reste... Un cas standard pour le traitement BP ...

Mais non, ça ne marche pas non plus.

À un moment donné, sur de nouvelles données, l'aléatoire deviendra déterministe, et le déterministe deviendra aléatoire....

Donc, cela ne fonctionne pas non plus).

Bien sûr, les tutoriels présentent des BP simples pour faciliter l'explication. En réalité, c'est plus compliqué que cela.

Il existe d'autres RV non financiers qui sont également difficiles à prévoir, avec un minimum d'erreur possible. Mais en trading, c'est plus facile, parce qu'il n'est pas nécessaire de prédire tout le temps, vous pouvez régler le modèle pour qu'il le fasse de manière sélective. C'est ce que j'ai fait dans le dernier article, et il reste maintenant à sélectionner les caractéristiques informatives. J'ai déjà réfléchi à une méthode, il ne me reste plus qu'à expérimenter.

Je veux finaliser mon approche et elle devrait devenir universelle, conformément à l'idée, c'est-à-dire qu'elle devrait donner des résultats sur n'importe quelle monnaie

Et vous, avec vos événements, vous faites aussi en sorte que la 3e classe ne fasse pas de commerce par essence, il n'y a rien de nouveau là-dedans. Vous divisez la BP entre ce qui est prédit et ce qui ne l'est pas.
 
Maxim Dmitrievsky #:
Et vous, avec vos événements, vous faites également du no trading de 3ème classe, rien de nouveau là-dedans. Vous divisez la BP entre ce qui est prévu et ce qui ne l'est pas.

C'est votre imagination, pas la réalité


La façon dont je vois les choses jusqu'à présent est la suivante :

il y a des données, disons 100 000 observations, que j'appellerai "X.big".

1) nous sélectionnons (modèle, règle, événement, signal de TS) ce qui nous intéresse, je l'appelle "règle initiale" (activation d'Alexey Funtz. Le nom est extrêmement malheureux mais...).

2) nous sélectionnons la "règle initiale" à partir des données et nous avons maintenant 100-1000 observations, pas 100k, nous avons réduit l'espace de recherche "X.small".

3) dans "X.small", nous commençons une recherche de caractéristiques à grande échelle, je vois des caractéristiques sous la forme de règles séquentielles, les règles sont générées automatiquement par la programmation génétique, je veux une recherche à grande échelle, mais je ne suis pas sûr de pouvoir le faire.

4) un tableau des attributs créés est introduit dans le modèle, disons 1000 pièces à la fois.

5) le modèle (une sorte d'AMO) sélectionne les caractéristiques en fonction de leur importance et sauvegarde les bonnes caractéristiques, obtient un nouveau tableau, etc....

6) à l'issue de la recherche, nous obtiendrons plusieurs milliers d'attributs fonctionnels selon une " règle initiale " spécifique.


Ainsi, si nous appelons tout cela un modèle, le modèle lui-même propose des milliards de caractéristiques et sélectionne ce qui est nécessaire.

 
mytarmailS #:

C'est votre imagination, pas la réalité


C'est ainsi que je vois les choses jusqu'à présent :

Il y a des données, disons 100 000 observations, que j'appellerai "X.big".

1) nous identifions (modèle, règle, événement, signal du TS) ce qui nous intéresse, je l'appelle "règle initiale" (Alexey Funtz. activation. le nom est extrêmement malheureux mais...).

2) nous sélectionnons la "règle initiale" à partir des données et nous avons maintenant 100-1000 observations, et non plus 100k, parce que nous avons réduit l'espace de recherche "X.small".

3) dans "X.small", nous commençons une recherche de caractéristiques à grande échelle, je vois des caractéristiques sous la forme de règles séquentielles, les règles sont générées automatiquement par la programmation génétique, je veux une recherche à grande échelle, mais je ne suis pas sûr que cela fonctionnera.

4) un ensemble de caractéristiques créées est introduit dans le modèle, disons 1000 pièces à la fois.

5) le modèle sélectionne les caractéristiques en fonction de leur importance et sauvegarde les bonnes caractéristiques, obtient un nouveau tableau, etc... ....

6) le résultat de la recherche nous donne plusieurs milliers d'attributs fonctionnels selon une " règle initiale " spécifique.


Ainsi, si nous appelons tout cela un modèle, le modèle lui-même propose des milliards de caractéristiques et sélectionne ce qui est nécessaire.

Encore une fois, ce n'est pas différent d'une classification à 3 classes en termes de signification.

 
Maxim Dmitrievsky #:

Encore une fois, 25. ce n'est pas différent d'une classification à 3 classes en termes de signification.

Je vais créer un ensemble de données et voir quel algorithme est le meilleur.

 
Maxim Dmitrievsky #:
L'un dit que j'ai volé ses idées, l'autre qu'il m'a appris... Qui êtes-vous d'ailleurs ? ))))

"Volé" - c'est bien ce que vous venez de dire ? Vous n'avez pas froid aux yeux, je le vois bien.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading.

L'apprentissage automatique dans le trading : théorie, pratique, trading et plus encore

Aleksey Vyazmikin, 2020.12.03 19:11

L'idée est donc d'évaluer le modèle, et le modèle démêle en fait des cibles confuses, et nous pouvons évaluer son succès dans ce cas, et pas seulement pour voir à quel point tout est confus.

Je pense essayer la méthode d'apprentissage en cascade (un terme que j'ai inventé moi-même - il peut y avoir quelque chose de différent). Les graphiques montrent qu'il y a des zones où l'apprentissage est réussi - laisser cette zone, et ce qui va au-delà de cette zone pour s'entraîner à nouveau, en ayant préalablement retiré de l'échantillon les exemples qui tombent dans la distribution de la zone de gauche. J'ai déjà essayé de le faire à la main - l'effet était bon, maintenant je pense à l'automatiser, mais le deuxième jour toujours pas de chance - je crains que l'effet soit accidentel - je ne veux pas être contrarié. Quel est votre avis sur la question ? Je pense qu'il est facile de le faire en Python.

Cela a été discuté dans l'article.

Je cite :

"

Nous voulons écrire un algorithme qui sera capable d'analyser et de corriger ses propres erreurs, en améliorant itérativement ses résultats. Pour ce faire, nous proposons de prendre un ensemble de deux classificateurs et de les entraîner séquentiellement comme le suggère le diagramme ci-dessous.

"

"

L'intuition de cette approche est que les transactions perdantes sont des erreurs de classification du premier type pour le modèle sous-jacent, dans la terminologie de la matrice de confusion. En d'autres termes, il s'agit de cas qu'il classe comme des faux positifs. Le métamodèle filtre ces cas et attribue un score de 1 aux vrais positifs et de 0 à tous les autres. En filtrant l'ensemble des données du métamodèle pour entraîner le modèle de base, nous augmentons sa précision, c'est-à-dire le nombre de déclenchements d'achat et de vente corrects. Dans le même temps, le métamodèle augmente son rappel (exhaustivité) en classant autant de résultats différents que possible.

"

Les idées sont les mêmes, mais vous avez procédé à la mise en œuvre et réglé les détails - je n'ai parlé que du concept, et je ne suis pas sûr d'avoir publié mes expériences et le code de mise en œuvre.

Je vous l'ai rappelé dans le contexte où vous pouvez ne pas comprendre de quoi il s'agit maintenant, puis l'utiliser plus tard lorsque vous comprendrez. Et le fait de ne pas comprendre n'est pas une raison pour se comporter de manière inadéquate et pour exprimer vos jugements de valeur sur la personnalité et la logique des gens.

 
mytarmailS #:

Je vais créer un ensemble de données et voir quel algorithme est le meilleur.

De quoi sera composé l'ensemble de données ? Je ne prends que des citations en entrée.

 
Aleksey Vyazmikin #:

"Volé" - vous venez de dire ça ? Il n'a pas froid aux yeux, je peux le dire.

C'est ce dont parlait l'article.

Citation :

"

Nous voulons écrire un algorithme qui sera capable d'analyser et de corriger ses propres erreurs, en améliorant itérativement ses résultats. Pour ce faire, nous proposons de prendre un ensemble de deux classificateurs et de les entraîner séquentiellement comme proposé dans le diagramme ci-dessous.

"

"

L'intuition de cette approche est que les transactions perdantes sont des erreurs de classification du premier type pour le modèle sous-jacent, selon la terminologie de la matrice de confusion. En d'autres termes, il s'agit des cas qu'il classe comme faux positifs. Le métamodèle filtre ces cas et attribue un score de 1 aux vrais positifs et de 0 à tous les autres. En filtrant l'ensemble des données du métamodèle pour entraîner le modèle de base, nous augmentons sa précision, c'est-à-dire le nombre de déclenchements d'achat et de vente corrects. Dans le même temps, le métamodèle augmente son rappel (exhaustivité) en classant autant de résultats différents que possible.

"

Les idées sont les mêmes, mais vous avez réalisé la mise en œuvre et réglé les détails - je n'ai parlé que du concept, et je ne suis pas sûr d'avoir publié mes expériences et le code de mise en œuvre.

Je l'ai rappelé dans le cadre du fait que vous pouvez ne pas comprendre maintenant ce dont nous parlons, puis l'utiliser plus tard, lorsque la compréhension viendra. Et le fait de ne pas comprendre n'est pas une raison pour se comporter de manière inadéquate et pour exprimer vos jugements de valeur sur la personnalité et la logique des gens.

Prenons donc le code de l'article et vérifions-le. Pourquoi devrais-je comprendre de quoi nous parlons s'il n'y a encore rien.

J'ai beaucoup de variantes de ces implémentations, y compris celles avec recyclage plutôt que recyclage à nouveau, recyclage par lignes de base et ainsi de suite.

En particulier lorsque vous commencez à le faire, le résultat est différent de la fantaisie qui était prévue à l'origine

 
Maxim Dmitrievsky #:

Quel sera le contenu de l'ensemble de données ? Je ne prends que des citations en entrée

Prix OHLS pour les 200 dernières pièces et une étiquette, vous pouvez ajouter le temps.

 
mytarmailS #:

Les prix OHLS sont de 200pc et une étiquette, le temps peut être ajouté.

200 pièces ? c'est si peu. je n'ai pas d'étiquettes, j'ai l'autopartitionnement.

Je vais devoir le réécrire.