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

 
Aleksey Mavrin:

Quels arguments, si tu fais ça, ça veut dire que soit tu ne comprends pas quelque chose, soit c'est moi.

Ce qui m'étonne, c'est qu'un modèle entraîné, comme celui dont nous parlons ici, doit être entraîné sur les données brutes.

S'il y a des corrélés dans les données d'entrée, il faut les réduire à des non corrélés.

Voici un exemple - nous apprenons au modèle à classer les nuances de couleurs par 3 chiffres - RGB. Trois chiffres, c'est la donnée brute pure ! !! Dans votre approche, vous devez faire des prédicteurs comme :

1- R 2-G 3-B - 4 Plus de rouge 5 - Plus de vert 6- Plus de rouge que de vert et de bleu réunis .... 100500 Pas aussi rouge qu'il le serait si le vert était aussi rouge que le bleu. ))

Le modèle ne doit-il pas apprendre par lui-même, il dispose des données brutes et c'est à cela qu'il sert !


Et vous faites l'inverse : vous générez des données d'entrée qui sont corrélées entre elles.

Je me trompe peut-être, mais il me semble que l'on ne peut obtenir un schéma clair qu'en divisant les signes en parties élémentaires (comme les règles d'exploitation forestière). Reprenons le même exemple avec les bougies

Nous avons 45 possibilités que si le modèle pur et unique est

open[-1]<low

et c'est tout, il n'y a rien d'autre dans ces 45 choix. J'ai fait l'énumération, choisi une règle (un correctif) et je l'utilise.

Vous suggérez de prendre la "série originale" parce que "le net la trouvera" comme je comprends dans votre cas ce serait :

open[1:2] ; high[1:2] ; low[1:2] ; close[1:2]

Donc, en résumé,

J'ai une caractéristique, un modèlepropre sous la forme d'une règle, une valeur, pas de bruit.

Vous avez 4 lignes (OHLC) avec deux valeurs pour un total de 8 valeurs, + bruit

Question : Qui a un échantillon plus redondant et corrélé ?

 
mytarmailS:


Mais vous faites le contraire - vous générez des données brutes, corrélées les unes aux autres.

Je me trompe peut-être, mais il me semble que l'on ne peut dégager un modèle pur qu'en décomposant les signes en parties élémentaires (par exemple, les règles logarithmiques). Reprenons le même exemple avec les bougies

Nous avons 45 possibilités que si le modèlepur et unique est

et c'est tout, il n'y a rien d'autre dans ces 45 choix. J'ai fait l'énumération, choisi une règle (un correctif) et je l'utilise.

Vous suggérez de prendre la "série originale" parce que "le net la trouvera" comme je comprends dans votre cas ce serait :

Donc, en résumé,

Je n'ai qu'une chose, un modèlepropre sous la forme d'une règle, d'une valeur, pas de bruit.

Vous avez 4 lignes (OHLC) avec deux valeurs pour un total de 8 valeurs, + bruit

Question : qui a un échantillon plus redondant et corrélé ?

1. Vous avez probablement tort.

2.3 Cela ne se produit pas parce que la série est non stationnaire. Vous avez simplement ajusté le modèle à la série, on ne voit même pas ce que le MO a à voir avec cela si vous êtes censé "isoler un modèle pur". S'il existait une régularité aussi pure, le MO ne serait même pas inventé, il est trouvé par d'autres méthodes élémentaires.

4. Si, comme vous le dites, vous ne retenez qu'une seule caractéristique, vous avez un modèle 100 % surentraîné = sous-entraîné, 100 % aveugle, ne voyant rien, et donc 100 % "idiot" (désolé pour la franchise).

S.s. Vive le MO aux masses ! )))

 
Aleksey Mavrin:

1. Vous avez probablement tort.

Ok, vous avez probablement raison, mais je pense que vous comprenez que toute cette description avec une seule règle n'était qu'un exemple, pour une expression plus claire de la pensée, nous devrions bien sûr faire un ensemble de règles... Et il est intéressant de savoir ce qui est le mieux, un ensemble de 100 règles dures (statistiquement) ou un ensemble de 3000 règles plus faibles (probabilistes). Je pense que si nous résolvons le problème de manière directe, c'est-à-dire si nous nous entraînons sur des données d'entrée, la deuxième variante est meilleure en raison de la même non-stationnarité, mais si nous voulons construire un modèle de marché avec des propriétés stationnaires, nous devrions probablement préférer la première variante, mais pas nécessairement... De toute façon, je ne vais pas discuter davantage, vous m'avez convaincu plus que de raison...

 
Aleksey Vyazmikin:

Je ne suis pas très heureux des résultats. J'ai collecté une quantité décente de feuilles, mais la prochaine question est de savoir comment les faire fonctionner au mieux les unes avec les autres. Le problème est qu'ils se chevauchent souvent de 20 à 50 % ou plus, et donnent donc le même signal, ce qui n'est pas très bon. L'idée est de les regrouper et de fixer un seuil d'activation pour chaque groupe, et j'essaie de trouver une meilleure façon de le faire.

La question de la sélection des feuilles n'est pas résolue jusqu'à la fin, même en sélectionnant les feuilles qui ont montré de bons résultats dans chacune des 5 années peut s'attendre à ce que 20%-40% cessent de fonctionner, ce qui est encore plus triste est l'incapacité de comprendre s'il faut les éteindre ou non - surtout par trimestres ont fait le test, il s'est avéré que les feuilles non rentables dans le trimestre passé compenser la perte dans les trimestres suivants (beaucoup).

La méthode de sélection des feuilles en elle-même semble prometteuse, mais le processus est extrêmement lent.

Un peu de nécropostage pour demander - pourquoi ne peut-on pas initialement construire un arbre basé sur la condition d'optimalité d'un portefeuille à partir de ses feuilles (à peu près comme dans la théorie de Markowitz) ? Peut-être cela a-t-il déjà été discuté quelque part, mais je ne l'ai pas vu.

 
Aleksey Nikolayev:

Un peu de nécropostage pour demander - pourquoi ne pouvez-vous pas initialement construire un arbre basé sur la condition d'optimalité d'un portefeuille à partir de ses feuilles (à peu près comme dans la théorie de Markowitz) ? Peut-être cela a-t-il déjà été discuté quelque part, mais je ne l'ai pas vu.

J'ai déjà écrit à plusieurs reprises que les algorithmes de construction de modèles MO disponibles ne sont pas adaptés au trading, pour la raison qu'ils ne prennent pas en compte les nuances des séries temporelles bruitées. Cela est évident, par exemple, lors de l'utilisation d'une valeur prédictive pour le fractionnement, qui donne une distribution préférentielle globale de la probabilité de classification correcte sur l'ensemble de l'échantillon, mais cette distribution ne peut être causée que par un phénomène rare qui est regroupé dans une partie de l'échantillon. J'ai examiné les feuilles échantillonnées pour la fréquence d'activation et cela m'a paru évident.

Donc oui - il est possible de construire initialement ce dont vous avez besoin, mais pour cela vous devez changer l'algorithme d'apprentissage (je n'ai pas assez de compétence en programmation ici), ou estimer le caractère aléatoire avec des méthodes différentes, ce que je fais. Bien que je ne comprenne pas ce que l'on entend par"conditions optimales de portefeuille".

Il existe une autre variante - sélectionner les plages de valeurs de prédicteurs qui améliorent le décalage de la probabilité de classification de la cible par rapport à l'ensemble de l'échantillon et créer des prédicteurs séparés pour eux - cette idée est en train d'être mise en œuvre, mais je ne sais pas encore quel sera le résultat.

D'ailleurs, je ne me souviens pas qu'il y ait eu une discussion sur le découpage en grille d'un prédicteur en plages pour une utilisation ultérieure dans la construction de modèles arborescents alors qu'il me semble que ce sujet a des aspects importants à discuter et affecte directement la construction du modèle et donc le résultat final.

 
Aleksey Vyazmikin:

J'ai écrit à plusieurs reprises que les algorithmes de modélisation de la MO disponibles ne sont pas adaptés au trading.

Vous devez vouloir dire que la représentation standard des données pour les MO n'est pas adaptée au commerce... Ce n'est pas la faute de IR.

Aleksey Vyazmikin:


D'ailleurs, je ne me souviens pas qu'il y ait eu une discussion sur le banding d'une grille de prédicteurs à utiliser plus tard dans la construction de modèles arborescents.

Qu'entendez-vous par grille de partitionnement ?

 
Aleksey Vyazmikin:

Bien que je ne comprenne pas ce que l'on entend par"conditions d'optimalité du portefeuille".

Maximisation des rendements du portefeuille à un niveau de risque (volatilité ou drawdown) fixe (acceptable).

Apparemment oui, les algorithmes devront changer. Il faudra calculer de nombreuses corrélations entre les actions de différentes feuilles et cela peut devenir très coûteux en termes de temps.

J'ai simplement pensé qu'un tel sujet avait peut-être déjà été abordé sur le forum.

 
Aleksey Vyazmikin:

À propos, je ne me souviens pas qu'il y ait eu une discussion sur une grille de prédicteurs pour le cadrage dans les modèles d'arbres, ce qui me semble être un sujet de discussion important et affecte directement la construction du modèle et donc le résultat final.

C'est ce que fait l'arbre : il prend une plage différente de chaque prédicteur et vérifie lequel est le meilleur.

Le premier divise en deux, la meilleure moitié en deux à nouveau, le meilleur quart en deux à nouveau, etc. et ainsi de suite avec chaque prédicteur. Le nœud devient la meilleure division de toutes ces pièces à travers tous les prédicteurs.
Faites-vous cela manuellement ? L'algorithme le fait parfaitement et rapidement.

Aleksey Vyazmikin:

Mais cette distribution ne peut être causée que par un phénomène rare, concentré dans une partie de l'échantillon. J'ai examiné les feuilles échantillonnées pour la fréquence d'activation et cela m'a paru évident.

Il est nécessaire de rechercher des prédicteurs permettant de détecter ce phénomène rare. S'il y a des prédicteurs, alors les modèles standard les plus simples trouveront tout.

 
mytarmailS:

Vous vouliez probablement dire que les types standard de présentation des informations pour les MO ne sont pas adaptés au commerce... Ce n'est pas la faute du MO).

J'ai dit ce que je voulais dire - il existe de nombreuses nuances qui ne sont pas prises en compte dans la formation avec les méthodes courantes de construction de modèles. Le problème peut être résolu en affinant ces méthodes, en sélectionnant les résultats des performances et en formant davantage les prédicteurs. Il existe peut-être d'autres options, mais je ne les connais pas encore.


mytarmailS:

Que signifie la grille de partitionnement ?

Il s'agit d'un algorithme qui vérifie la capacité prédictive de la plage de valeurs prédictives et tente de partitionner les parties de la plage de manière à mieux répartir la capacité prédictive. Supposons qu'il y a un échantillon avec 3 cibles, l'échantillon est distribué comme 1 - 24%, 2 - 50%, 3 - 26%, et il y a un prédicteur avec une gamme de valeurs, donc le but de la grille est de trouver des zones de valeurs de prédicteur où, disons la cible 1 sera "prédite" par plus de 24%, et la division mettra en évidence cette zone. Il existe différentes variantes d'algorithmes pour construire de telles grilles.


Aleksey Nikolayev:

Maximisation des rendements du portefeuille à un niveau de risque (volatilité ou drawdown) fixe (acceptable).

Apparemment oui, les algorithmes devront changer. Il faudra calculer de nombreuses corrélations entre les actions de différentes feuilles et cela peut devenir très coûteux en termes de temps.

Je viens de penser qu'un sujet similaire a peut-être déjà été abordé sur le forum.

Maintenant, la corrélation des activations est prise en compte, les feuilles conditionnellement corrélées vont dans le même groupe, et c'est ainsi qu'un portefeuille est créé. Mais un portefeuille n'a qu'une seule stratégie sous-jacente, et vous devez en faire beaucoup pour assurer la stabilité. Les stratégies ne doivent tout simplement pas se chevaucher en termes d'activation sur l'horizon temporel si les mêmes prédicteurs sont utilisés. C'est généralement une chose réaliste à faire.


elibrarius:

C'est exactement ce que fait l'arbre, il prend une plage différente de chaque prédicteur et vérifie lequel est le meilleur.

Le premier divise en deux, la meilleure moitié encore en deux, le meilleur quart encore en deux, et ainsi de suite avec chaque prédicteur. Le nœud devient la meilleure division de toutes ces pièces à travers tous les prédicteurs.
Faites-vous cela manuellement ? L'algorithme le fait parfaitement et rapidement.

Nous devons rechercher des prédicteurs permettant de détecter ce phénomène rare. S'il y a des prédicteurs, alors les modèles standard de MO les plus simples trouveront tout.

Comment ça, il le fait parfaitement ? Je ne le fais pas manuellement, j'écris un script qui le fera de la manière dont je le vois maintenant.

Dans mon cas, l'idéal serait une évaluation séparée de chaque variante de valeur prédictive. Et, je veux fusionner les plages d'activation d'un prédicteur amplifiant une cible en un seul prédicteur, ce que les maillages que je connais ne font pas en divisant les plages de manière séquentielle, de même en fusionnant le prédicteur dans le classement à spar (en construisant un nœud) avec un autre prédicteur. En théorie, jusqu'à présent.

La figure ci-dessous montre le prédicteur habituel par temps - en enregistrant littéralement l'horloge, j'ai filtré les activations du prédicteur à moins de 10% d'écart de chaque cible de l'ensemble de l'échantillon. Il s'avère que pour la cible Minus, les heures 18 et 19 sont favorables et l'heure 15 ne l'est pas. J'obtiendrai un nouveau prédicteur avec la valeur d'échantillon 1 - combinant les valeurs du prédicteur 18 et 19, -1 - valeur 15 et 0 - toutes les autres valeurs dans la sortie.

Quel type de grille de partitionnement permettrait d'agréger les plages de fractionnement en un seul fractionnement, en éliminant les valeurs intermédiaires, comme dans la figure ci-dessous les valeurs 1 et 4 ?


 
Aleksey Vyazmikin:

Maintenant, la corrélation des activations est prise en compte, les feuilles conditionnellement corrélées vont dans le même groupe, et c'est ainsi qu'un portefeuille est créé. Mais le portefeuille a une stratégie sous-jacente, et nous devons en faire plusieurs pour assurer la stabilité. Les stratégies ne doivent tout simplement pas se chevaucher en termes d'activation sur l'horizon temporel si les mêmes prédicteurs sont utilisés. En général, il est réaliste de le faire.

Si, par exemple, toutes les stratégies ne font que du BUY, cela reviendra probablement à minimiser leur chevauchement dans le temps (minimisation des corrélations qui sont toujours positives). Si l'achat et la vente sont autorisés, les croisements temporels peuvent être utiles pour compenser mutuellement les mauvaises parties des stratégies (les corrélations négatives sont généralement bonnes pour le portefeuille).

Probablement, la corrélation peut être définie simplement par le temps d'exécution des stratégies et le temps de leur intersection.

Raison: