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

 

J'avais un long message, mais le modérateur l'a supprimé parce que je n'ai pas pu me contenir et que j'ai exprimé mes sentiments d'une manière typiquement russe..... alors je vais être bref. ....

Je suis juste stupéfait, pour être honnête avec vous, par les résultats que j'ai obtenus. Oui, à partir de 110 entrées ont été choisis de 3 à 5 dans des circonstances différentes, et les modèles sootvetechno qui se sont avérés être assez petits, mais comment ils ont travaillé est quelque chose avec quelque chose. Tout d'abord, TOUS les modèles construits sur les entrées sélectionnées ont réussi mon test à 100%. Un tel résultat, je n'ai pu l'obtenir qu'une seule fois et c'est par hasard, mais ici c'est stable tout le temps.........

Oui, les polynômes eux-mêmes se sont avérés être trop petits, mais on s'en fout. Tous les moyens sont bons dans la guerre. Je sais que nous allons toucher le marché avec de petits polynômes, s'ils fonctionnent, ce n'est pas de ma faute.......

Mais encore une fois, il ne s'agit que d'un test rapide et nous avons besoin de plus de temps pour confirmer la théorie, mais voici un exemple spectaculaire du fonctionnement du TS dans le domaine des rétroactions négatives au cours des deux dernières semaines.

Il ne s'agit certainement pas d'un graal discuté dans le prochain fil, mais le résultat est évident, Equity est constamment au-dessus de zéro sur l'ensemble de la zone CB !!!!.

Je tiens à remercier tous ceux qui ont répondu à ma demande d'aide concernant R. Vous m'avez vraiment aidé à gagner beaucoup de temps. Maintenant, je dois juste faire passer mon signal dans la zone verte. ! !!!!

 
Dr. Trader:

jPrediction, par exemple, met les données à l'échelle de l'intervalle [-1;1] et apprend sur ces nombres. Vous pouvez également mettre à l'échelle le même intervalle dans R avant d'évaluer les entrées.

Les méthodes d'estimation basées sur les arbres ne changeront probablement pas le résultat, les forêts ne se soucient pas vraiment de savoir dans quel intervalle les données sont arrivées, mais il est préférable de vérifier. vtreat n'est pas non plus pointilleux sur l'intervalle.


Mais en général, il parle de la transformation non linéaire des entrées avant même qu'elles n'alimentent les neurones. Neuronics est très sensible aux entrées, et si vous traitez les données d'entrée d'une manière particulière, ses résultats peuvent s'améliorer. Par exemple, j'ai entendu une telle astuce - convertir les entrées via sigmoïde.

Les modèles construits disposent déjà d'une telle fonction, si je ne me trompe pas. Cela ressemble à ceci....

double sigmoid(double x) {
   if (MathAbs(x) < 1.0) {
      return 2.0 * signum(x) - x;
   }
   return signum(x);
}
 
Mihail Marchukajtes:

Cela ressemble à ceci....

Une sorte de "Reshetov Sigmoid" spécial :)

Voici une image intéressante avec différentes transformations de données.
Ils disent que si tous les prédicteurs ont approximativement les mêmes barres, le réseau neuronal sera très heureux et apprendra facilement. Le dernier tiers des prédicteurs sur scale()x2->Sigmoid() est joli, mais je dois faire quelque chose avec la première moitié des prédicteurs ou le neurone peut être étouffé.
Et si nous regardons le boxplot pour une mise à l'échelle dans [-1;1] comme dans jPrediction, cela semble vraiment mauvais.


Dossiers :
 

Aujourd'hui, c'est le jour du Graal, mais nous savons à quoi il ressemble et combien de travail il faut pour le tenir dans nos mains !!!!.

Je n'ai pas peur du mot, mais aujourd'hui j'ai trouvé un graal pour moi. Je l'ai testé à plusieurs reprises et les résultats ont été étonnants. Nous remercions tout particulièrement le Dr Trader pour son soutien, qui a permis la découverte. Je n'ai pas peur de ce mot......... Avec l'aide de R, j'ai pu trouver efficacement un ensemble de prédicteurs importants, et étant donné que la cible a le même nombre de classes, en jouant un peu (en ajoutant ou en enlevant une), l'ensemble des prédicteurs importants peut être étendu d'une, deux colonnes. J'ai essayé une fois et c'était tellement normal de les ajouter. Ensuite, nous commençons à affiner et à sélectionner le modèle qui présente les meilleurs résultats d'apprentissage.


Bien sûr, ce n'est pas une grande taille de polynôme, mais cela fonctionnera en théorie à 50% de l'intervalle d'entraînement, c'est-à-dire une semaine, et c'est suffisant pour moi !!!!!!. Mais voilà le problème : .... Et je m'adresse ici aux personnes qui recherchent des modèles fiables et stables. C'est plus facile à expliquer avec un exemple..........

Je sauvegarde un tableau de données de 1000 lignes et 111 colonnes où 110 prédicteurs et ainsi de suite. MAIS je ne prends pas toute la table, je prends une petite section fraîche de 40 enregistrements (ce qui représente environ 2 semaines de travail TS). Le résultat est un ensemble d'entraînement de taille 40 par 110 plus la cible. En fait, je prends une tranche de marché ce jour même, à cet intervalle précis. Cette tranche est stationnaire. Ensuite, je sélectionne les variables d'entrée significatives par rapport à la sortie et j'obtiens 3 à 5 colonnes qui, si je comprends bien, ont l'alpha requis me permettant d'avoir un avantage sur les autres participants du marché. Et maintenant, la chose la plus importante.... C'était quoi toute cette discussion. Dès que j'ajouterai une ligne supplémentaire au tableau de données pour la formation, l'ensemble des colonnes changera radicalement, c'est-à-dire que l'alpha passera à un autre ensemble de colonnes. Peut-être pas immédiatement, mais après avoir ajouté plus d'une ligne. C'est-à-dire les signaux TS !!!! Alpha est précisément le même modèle dans sa forme la plus pure, minimale et suffisante pour la fonction cible. Mais ce motif n'est pas évident, c'est-à-dire qu'il est très difficile de le voir à l'œil nu. C'est à ce stade que l'IA intervient et fait son travail.

Et maintenant imaginez comment alpha peut rebondir sur tous les champs de données, que je décharge, s'ils sont rarement contenus dans plus de cinq entrées, et un champ total de 110 entrées. En d'autres termes, à chaque nouvelle tranche, j'obtiens un ensemble de prédicteurs complètement différent. Et comment voulez-vous le suivre, et même à une distance d'un an !!!!!!! s'il est là pendant des semaines, vous pouvez difficilement l'attraper correctement........ Mais vous avez tout à fait raison, il existe un graal, mais chacun a le sien, et pour le conserver, il faut faire beaucoup d'efforts........

Et toujours en se référant aux théoriciens des comptes de démonstration, voici comment on procède........

J'ai travaillé avec la théorie et fait quelques tests en l'utilisant. Les tests ont donné de bons résultats. Les modèles sont formés par l'UPU lorsque le robot est chargé. Surveillez mon signal cette semaine et vous verrez ce que valent mes hypothèses.

 

Merveilleux !

Ave R !

 
Mihail Marchukajtes:

Imaginez maintenant comment l'alpha peut sauter par-dessus tout le champ de données que je décharge si celui-ci est rarement contenu dans plus de cinq entrées, et si le champ total est de 110 entrées. En d'autres termes, à chaque nouvelle tranche, j'obtiens un ensemble de prédicteurs complètement différent.

Maintenant, allumez votre cerveau.)

 
Combinateur:

Maintenant, utilisez votre cerveau.)

Si vous suivez vraiment votre conseil et que vous y réfléchissez, il n'y a qu'une seule réponse. La coupe est stationnaire et tout changement de celle-ci vous projette simplement dans une autre dimension (au sens figuré), où les lois sont complètement différentes. C'est pourquoi il est très difficile de gagner de l'argent sur le marché. C'est ce qu'on appelle la non-stationnarité. Lorsque l'information qui peut prédire seulement 5% du maximum possible de l'ensemble des données et le prochain signal peut changer radicalement, ou pas du tout. En outre, je sauvegarde le delta et le volume pour 11 instruments, dont seulement 5% fonctionnent ici et maintenant et on ne sait pas quand ils seront changés, mais il est clair que lorsque la substitution d'autres colonnes ce moment peut être suivi et par conséquent déterminer le moment où le modèle est dégonflé....... Il faut faire plus de tests.....a n'a pas le temps...

 

OOS, 15 min tf

j'ai trouvé quelques bugs dans la stratégie #2, je l'ai corrigée, elle semble fonctionner

il y a toujours la page 3 et RL a été ajouté, ce qui, selon moi, a beaucoup de potentiel mais nécessitera beaucoup de réflexion pour le mettre en œuvre


 

Article intéressant sur une étude de huit modèles d'apprentissage automatique

Plus précisément, nous considérons les algorithmes suivants : perceptron multicouche (MLP), régression logistique, naïve Bayes, voisins les plus proches, arbres de décision, forêts aléatoires et arbres à gradient. Ces modèles sont appliqués à des séries temporelles provenant de huit processus de génération de données (DGP) - reflétant différentes dépendances linéaires et non linéaires (cas de base). Une complexité supplémentaire est introduite par l'ajout de discontinuités et de divers degrés de bruit.


Et voici les résultats

Tout d'abord, nous constatons que les modèles d'apprentissage automatique atteignent de solides performances sur des PSD sous-jacents inconnus, par rapport au niveau d'ambition fixé par les prévisions optimales. En l'absence de bruit (cas de base), les résultats obtenus avec les modèles d'apprentissage automatique ressemblent presque à ceux de la prévision optimale. Du point de vue des modèles, les MLP et les GBT fournissent les meilleurs résultats pour les DGP linéaires et non linéaires. Pour les processus sans ou avec peu de non-linéarités, la LR présente une bonne alternative, surtout si l'on considère son faible coût de calcul. Nous constatons que le NB et les arbres de décision simples offrent de moins bonnes performances et nous recommandons donc les techniques susmentionnées pour les tâches de prédiction de séries temporelles.

Deuxièmement, il est préférable d'inclure trop de valeurs décalées dans l'espace caractéristique que d'en inclure trop peu. Nous constatons que la plupart des modèles d'apprentissage automatique sont assez robustes lorsqu'ils dépassent le nombre de retards requis suggéré par l'équation du processus du DGP. Dans le cas de la RF, l'inclusion de caractéristiques supplémentaires augmente même la précision prédictive. Nous recommandons de commencer avec un décalage et d'augmenter progressivement le nombre de décalages en contrôlant les performances sur un ensemble de données de référence ou avec une validation croisée.

Troisièmement, nous constatons que les sauts ont un effet négatif très important sur la précision prédictive, LR étant le modèle d'apprentissage automatique le plus robuste. Pour atténuer les effets négatifs, l'ajout de premières différences à l'espace des caractéristiques (DIFF) ainsi que la suppression des sauts basée sur l'algoirthme LOF ont donné de bons résultats. Nous recommandons la combinaison des deux techniques.

Quatrièmement, la pollution de la série temporelle par du bruit a l'effet le plus néfaste sur la précision prédictive pour tous les modèles d'apprentissage automatique. De plus, des mesures d'atténuation supplémentaires, telles que l'inclusion des premières différences (DIFF) et des moyennes mobiles (MA) dans l'espace des caractéristiques, donnent de meilleurs résultats.

 
SanSanych Fomenko:

Article intéressant sur une étude de huit modèles d'apprentissage automatique

Du point de vue des modèles, les MLP et les GBT fournissent les meilleurs résultats pour les DGP linéaires et non linéaires. Pour les processus sans ou avec peu de non-linéarités, la LR présente une bonne alternative, surtout si l'on considère son faible coût de calcul. Nous constatons que le NB et les arbres de décision simples offrent de moins bonnes performances et nous recommandons donc les techniques susmentionnées pour les tâches de prédiction de séries temporelles.

Comme le capitaine Obviousness, vu que CART ne travaille pas du tout sur des problèmes pré-linéaires.