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

 
Maxim Dmitrievsky #:

Il y a une question comme celle-ci :

Deux modèles sont utilisés. L'un prédit d'acheter ou de vendre, l'autre d'échanger ou de ne pas échanger.

D'abord, le premier modèle est entraîné, puis nous regardons où il prédit mal, nous marquons ces exemples comme "ne pas échanger", les autres bons comme "échanger", et nous enseignons cela au deuxième modèle.

Le premier modèle est testé non seulement dans la zone de formation mais aussi dans la zone supplémentaire et le second modèle est formé dans les deux zones.

Nous répétons cette opération plusieurs fois, en réentraînant les deux modèles sur le même ensemble de données. Les résultats s'améliorent progressivement sur les échantillons. Mais pas toujours sur l'échantillon de contrôle.

Parallèlement à cela, nous conservons un journal des mauvaises transactions cumulées pour toutes les passes, toutes les "mauvaises" transactions pour "ne pas échanger" sont collectées dans ce journal pour l'entraînement du second modèle et filtrées selon un certain principe : plus il y a de copies de mauvaises transactions pour toutes les passes, plus il y a de chances de les marquer comme "ne pas échanger".

Par exemple, pour chaque date, un certain nombre de mauvaises transactions est accumulé pour toutes les itérations de l'apprentissage, lorsque ce nombre dépasse un seuil (moyenne, moyenne), ces transactions sont marquées comme "ne pas négocier". Les autres transactions sont ignorées, sinon il serait possible d'exclure toutes les transactions s'il y a beaucoup d'itérations d'entraînement.

Le coefficient vous permet d'ajuster le nombre de transactions à la sortie, plus il est faible, plus le nombre de transactions filtrées est élevé.

... à ce stade, je suis déjà fatigué d'écrire ...

Comment améliorer une telle combinaison de modèles pour qu'elle améliore ses résultats sur une nouvelle parcelle indépendante ?
Y a-t-il une philosophie qui explique pourquoi cela pourrait fonctionner ? Outre le fait que les modèles s'améliorent naturellement (l'erreur diminue) à chaque tour de réentraînement, mais comment se débarrasser de l'ajustement ?

Un concept intéressant !

1. Comment se débarrasser de l'essayage. Je ne comprends pas grand-chose aux itérations. Pourquoi ne pas former le (deuxième) modèle de filtrage une seule fois et évaluer s'il améliore ou non les performances du premier modèle ? Vous pourriez simplement filtrer les signaux 1 à 2, ou alimenter la sortie 2 vers l'entrée 1.

2. Comment améliorer.
2.1. Vous pourriez essayer de transformer une balise post-transaction en balise cluster. Les mauvais signaux s'accumulent sûrement. Et les bons. Nous marquons les clusters. Nous pouvons former via l'approche transactionnelle (jetons sur la base des entrées/candidats), le ciblage - se trouver dans un bon ou un mauvais groupe. Ou vous pouvez vous entraîner par grappes (puces par grappes, un objet échantillon d'entraînement - grappe), cible - soit la même (la prochaine bougie dans la bonne ou la mauvaise grappe) ou la prochaine grappe - bonne ou mauvaise (enfin, c'est probablement la même chose en essence).
2.2. Les descriptions des caractéristiques devraient probablement être différentes pour ces modèles, sinon je pense que l'utilité marginale du deuxième modèle serait faible.


3. La philosophie qui sous-tend le concept. Qui en a besoin, l'efficacité du modèle, le profit est le critère. Les expériences sont la règle, pas la philosophie).

 
Replikant_mih #:

Un concept intéressant !

1. Comment se débarrasser du raccord. Je ne comprends pas grand-chose aux itérations. Pourquoi ne pas former le (deuxième) modèle de filtrage une seule fois et évaluer s'il améliore ou non les performances du premier. Vous pourriez simplement filtrer les signaux 1 à 2, ou alimenter la sortie 2 vers l'entrée 1.

2. Comment améliorer.
2.1. Vous pourriez essayer de transformer une balise post-transaction en balise cluster. Les mauvais signaux s'accumulent sûrement. Et les bons. Nous marquons les clusters. Nous pouvons nous entraîner de manière transactionnelle (jetons sur la base d'entrées/tricks), en ciblant - nous trouver dans de bons ou de mauvais clusters. Ou vous pouvez vous entraîner par grappes (puces par grappes, un objet échantillon d'entraînement - grappe), cible - soit la même (la prochaine bougie dans la bonne ou la mauvaise grappe) ou la prochaine grappe - bonne ou mauvaise (enfin, c'est probablement la même chose en essence).
2.2. Les descriptions des caractéristiques devraient probablement être différentes pour ces modèles, sinon je pense que l'utilité marginale du deuxième modèle serait faible.


3. La philosophie qui sous-tend le concept. Qui en a besoin, l'efficacité du modèle, le profit est le critère. Les expériences sont la règle, pas la philosophie).

Nous voulons améliorer le caractère généralisable du premier modèle (et du second aussi). Si nous nous contentons de filtrer ses signaux avec le deuxième modèle, l'erreur de classification du premier modèle ne se réduira pas d'elle-même. Nous faisons donc tourner les deux modèles formés sur l'ensemble de données et nous éliminons les mauvais exemples de la formation pour le premier, de sorte que l'erreur devienne plus faible. Et l'erreur sur la deuxième baisse aussi. Et donc nous répétons cela plusieurs fois. Cela devrait s'améliorer à chaque fois. Mais je veux qu'il s'améliore à chaque fois sur l'échantillon test, mais il y a de grandes variations.

Je pense donc à ce que je devrais ajouter ici, peut-être que certaines réflexions sont bonnes aussi :)

 
Maxim Dmitrievsky #:

Nous voulons améliorer la capacité de généralisation du premier modèle (et du deuxième modèle également). Si nous nous contentons de filtrer ses signaux avec le second modèle, l'erreur de classification du premier modèle ne se réduira pas d'elle-même. Nous faisons donc tourner les deux modèles formés sur l'ensemble de données et nous éliminons les mauvais exemples de la formation pour le premier, de sorte que l'erreur devienne plus faible. Et l'erreur sur la deuxième baisse aussi. Et donc nous répétons cela plusieurs fois. Cela devrait s'améliorer à chaque fois. Mais je veux qu'il s'améliore à chaque fois sur l'échantillon test, mais il y a de grandes variations.

Je réfléchis à ce que je devrais ajouter ici, peut-être que quelques idées peuvent aussi faire l'affaire :)

Êtes-vous sûr que vous avez besoin de 2 modèles, et qu'ils amélioreront les résultats en fonction du retour d'information ?
Vous pouvez simplement prendre la limite du premier modèle non pas à travers 0,5, mais à travers 0,3 et 0,7 ou même 0,1 et 0,9 - ainsi les affaires à faible probabilité seront éliminées et il y en aura moins et le modèle sera seulement 1.
 
Aleksey Nikolayev #:

Ne vous méprenez pas... Je préfère donc la fonder sur lesaffirmations du vérifiable.

Ne vous méprenez pas. Je ne faisais que souligner l'inexactitude de votre construction logique : "il n'y a pas d'algorithmes de lecture longue sur le marché, sinon tôt ou tard ils seraient les seuls à rester sur le marché". Je vous ai montré exactement dans quelle niche ils existent. Pourquoi ils existent là de manière isolée, plutôt que de capturer l'ensemble du marché. Et a donné un exemplevérifiable.

Об авторе | QuantAlgos
  • www.quantalgos.ru
Приветствую вас в моем блоге. Меня зовут Виталий, занимаюсь написанием биржевых роботов c 2008 года. В 2009 и 2010 гг. участвовал в конкурсе ЛЧИ (лучший частный инвестор) под ником robot_uralpro, проводимом биржей РТС  (сейчас Московская биржа). Использовались HFT роботы, написанные на C#.  Результаты были следующие: В настоящее время продолжаю...
 
elibrarius #:
Êtes-vous sûr que vous avez besoin de 2 modèles et qu'ils amélioreront le résultat sur OOS ?
Vous pourriez simplement prendre la limite du premier modèle non pas à travers 0,5, mais à travers 0,3 et 0,7 ou même 0,1 et 0,9 - de cette façon, les transactions à faible probabilité seront éliminées et il y en aura moins et le modèle sera seulement 1.

avec 2 il y a plus de flexibilité, ces probabilités sont... le nombre de transactions diminue, mais pas la stabilité.

 
Maxim Dmitrievsky #:

avec 2 flexions supplémentaires, ces probabilités sont... le nombre de transactions diminue, mais pas la stabilité.

Vous n'avez pas de stabilité avec 2 non plus...
 
Dr .:

Ne vous méprenez pas. Je ne faisais que souligner l'inexactitude de votre construction logique : "il n'y a pas d'algorithmes de lecture longue sur le marché, sinon tôt ou tard ils seraient les seuls à rester sur le marché". Je vous ai montré exactement dans quelle niche ils existent. Pourquoi ils existent là de manière isolée, plutôt que de capturer l'ensemble du marché. Et a donné un exemplevérifiable.

Vérifier l'existence réelle d'une déclaration donnée ne signifie pas vérifier son contenu.

Même si nous supposons (bien que cela puisse poser des problèmes et en pose souvent) que quelqu'un gagne régulièrement de l'argent année après année, on ne voit pas du tout à quoi peut ressembler la preuve que cela est fait par le même algorithme. J'aimerais voir des options plus substantielles que "croyez-moi sur parole" et "c'est ce que je vous dis".

 
Maxim Dmitrievsky #:

avec 2 flexions supplémentaires, ces probabilités sont... c'est juste que le nombre de transactions diminue, la stabilité ne diminue pas.

c'est mieux avec 3.

;)

 
elibrarius #:
Vous n'avez pas de stabilité avec 2 non plus...

de nombreuses options, il est difficile de comparer

 
Maxim Dmitrievsky #:

de nombreuses options, il est difficile de comparer

Vous avez déjà un exemple de regroupement fonctionnel de 2 modèles. Il est facile de faire une variante avec le 1er modèle (avec une coupure par 0,1-0,9 ou 0,2-0,8) et de comparer leur stabilité sur l'OOS.
Raison: