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

 
mytarmailS:

Avez-vous eu une longue courbe d'apprentissage ? Cette dernière

Je ne sais pas, j'ai laissé l'ordinateur allumé toute la nuit pour que le modèle apprenne. Le matin, c'était prêt, il n'a pas fallu plus de 7 heures pour apprendre, en fait, c'était probablement beaucoup moins.
 

dans la fonction newConfigNEAT, les paramètres par défaut sont les suivants

newConfigNEAT(numInputs = 14 ,numOutputs = 1,maxNumOfNodes =500 ,speciesPopulation = 50)

Je suis actuellement à la 32ème génération

generation minFitness maxFitness meanFitness medianFitness
32         32   82.23862   150.0092    140.4628      145.5368
[1] "Starting simulations..."
[1] "1.59 % Finished simulation of species 1 / 44 genome 1 / 6 with fitness 146.091452597612"
[1] "3.17 % Finished simulation of species 1 / 44 genome 2 / 6 with fitness 146.091452597612"
[1] "4.76 % Finished simulation of species 1 / 44 genome 3 / 6 with fitness 146.091452597612"
[1] "6.35 % Finished simulation of species 1 / 44 genome 4 / 6 with fitness 146.091452597612"
[1] "7.94 % Finished simulation of species 1 / 44 genome 5 / 6 with fitness 146.091452597612"
[1] "9.52 % Finished simulation of species 1 / 44 genome 6 / 6 with fitness 146.091452597612"
[1] "11.11 % Finished simulation of species 2 / 44 genome 1 / 2 with fitness 145.536759116526"
[1] "12.7 % Finished simulation of species 2 / 44 genome 2 / 2 with fitness 145.536759116526"

Combien de générations doit-il y avoir au total, 50 ou 500 ?

=====================================

s'est terminée à la 35e génération, pourquoi exactement à la 35e ? Je ne sais pas...Merci,Dr. Trader.

et quelque chose a mal tourné, sur l'OOS pour une raison quelconque, il n'a pas calculé la valeur à la fin

а

 
Il n'y aura que 36 générations, soit le nombre de fois où NEATSimulation.RunSingleGeneration(tradingSimulation) est appelé dans le code (une fois tout seul, puis 35 fois dans la boucle).
 
mytarmailS:

et quelque chose a mal tourné, l'OOS n'a pas complètement calculé les actions pour une raison quelconque.

Tout se passe comme prévu, quelque part dans les règles du trading il est dit d'arrêter si le drawdown est trop important.

Dès que le S&P a chuté - toute la stratégie s'est effondrée, j'ai eu le même résultat. Soit l'auteur de l'article a eu beaucoup de chance (ce qui est peu probable), soit il est passé par différents schémas d'échange pour obtenir de belles photos d'OOS.

 
Dr. Trader:

Tout se passe comme prévu, il est dit quelque part dans les règles de trading d'arrêter si le drawdown est trop important.

Dès que le S&P a chuté - toute la stratégie s'est effondrée, j'ai eu le même résultat. Je ne pense pas. Soit l'auteur a eu beaucoup de chance (ce qui est peu probable), soit il a passé en revue différents modèles d'échange juste pour avoir de belles photos d'OOS.

Biais de sélection pour les OOS. sic
 
Dr. Trader:

Tout se passe comme prévu, il est dit quelque part dans les règles de trading d'arrêter si le drawdown est trop important.

Dès que le S&P a chuté - toute la stratégie s'est effondrée, j'ai eu le même résultat. Je ne pense pas. Soit l'auteur a eu beaucoup de chance (ce qui est peu probable), soit il a passé en revue différents modèles d'échange juste pour avoir de belles photos d'OOS.

Je ne sais pas,Vladimir Perervenko dit que tout est assez optimiste et que le filet ne s'effondre pas d'un coup, comme tout ce que j'ai vu auparavant, et que le filet s'entraînait sur une tendance à la baisse et que la tendance est à la hausse sur OOS.
 

J'ai essayé à nouveau ce que Vizard_ a décrit

2 indicateurs, c'est très peu, je ne peux même pas trouver quelque chose de convenable. Il s'agit donc d'une illustration de la règle "entrée des déchets -> sortie des déchets".

Les coordonnées sont les valeurs de deux indicateurs. La couleur bleue correspond aux points "d'achat", la rouge aux points "de vente".

6 modèles sont entraînés sur des points "Train Data" et ensuite utilisés pour prédire un ensemble de points dans les coordonnées (-2;-2)->(2;2), vous pouvez voir exactement comment les modèles se sont souvenus des données et ce que la prédiction sur les nouvelles coordonnées pour le modèle s'est avérée être.


 
Dr. Trader:

J'ai essayé à nouveau ce que Vizard_ a décrit

2 indicateurs, c'est très peu, je ne peux même pas trouver quelque chose de convenable. Il s'agit donc d'une illustration de la règle "entrée des ordures -> sortie des ordures".

Les coordonnées sont les valeurs de deux indicateurs. La couleur bleue correspond aux points "d'achat", la rouge aux points "de vente".

6 modèles sont entraînés sur des points "Train Data" et ensuite utilisés pour prédire un ensemble de points dans les coordonnées (-2;-2)->(2;2), vous pouvez voir comment exactement les modèles se sont souvenus des données et quel était le résultat de la prédiction sur de nouvelles coordonnées pour le modèle.


Magnifique, et instructif... merci pour cela.

Il faudra probablement que je me réunisse et que j'écrive sur mon idée de recherche de modèles purs tout de même (mais cela prendra du temps), car je vois que c'est pertinent... Peut-être que du bien en sortira...

Dr.Trader à mon avis, le problème est que nous essayons de forcer le MO à diviser l' ensemble de l' échantillon en classes, et si objectivement nous ne pouvons diviser que ~3% de l'échantillon et que nous disons non MO vous pouvez y aller et tout diviser, je m'en fiche :) donc il sépare les inséparables avec un résultat connu...

Vous voyez, nous essayons de diviser tout échantillon en achat et vente, et c'est comme ça que nous voulons prédire chaque mouvement du marché, mais nos prédicteurs sont tellement merdiques qu'ils ne peuvent objectivement prédire que~3% de tous les mouvements, alors de quoi avons-nous besoin ? Nous devons essayer d'obtenir au moins ces3% et jeter le reste des choses indivisibles parce que ce sont les mêmes déchets/bruit qui doivent être éliminés/raison du recyclage etc... Appelez ça comme vous voulez, c'est bon...

Bien que je n'aie pas encore écrit comment je vois les choses, quelqu'un a-t-il des suggestions sur la façon de faire cette sélection ?

p.s. Sanych, s'il vous plaît, ne me parlez plus de PCA, ce n'est pas la même chose ;)

 
mytarmailS:

Magnifique, et instructif... merci pour cela.

Je crois que je vais devoir me ressaisir et écrire sur mon idée de trouver des modèles purs (mais cela prendra du temps), car je vois que c'est pertinent... Peut-être que du bien en sortira...

Dr.Trader à mon avis, le problème est que nous essayons de forcer le MO à diviser l' ensemble de l' échantillon en classes, et si objectivement nous ne pouvons diviser que ~3% de l'échantillon et que nous disons non MO vous pouvez y aller et tout diviser, je m'en fiche :) donc il sépare les inséparables avec un résultat connu...

Vous voyez, nous essayons de diviser tout échantillon en achat et vente, et c'est comme ça que nous voulons prédire chaque mouvement du marché, mais nos prédicteurs sont tellement merdiques qu'ils ne peuvent objectivement prédire que~3% de tous les mouvements, alors de quoi avons-nous besoin ? Nous devons essayer de prendre au moins ces3% et jeter le reste des choses indivisibles parce que ce sont les mêmes déchets/bruit qui doivent être éliminés/raison du recyclage etc... appelez-le comme vous voulez, c'est bon...

Bien que je n'aie pas encore écrit comment je vois les choses, quelqu'un a-t-il des suggestions sur la façon de faire cette sélection ?

p.s. Sanych, s'il te plaît, ne me parle plus du PCA, ce n'est pas un manteau ;)

J'ai décrit précédemment mon approche de la division en 3 classes (vendre, clôturer, acheter). La classe "clôture" comprend tous les cas qui se contredisent ou qui ne peuvent être divisés en classes d'achat et de vente. Il s'avère que seuls 3 à 10 % d'entre eux entrent dans la catégorie des acheteurs et des vendeurs. La beauté de cette approche est que, en travaillant avec des données inconnues (réelles), avec le temps, le réseau cesse de reconnaître les situations de marché et commence à les attribuer de plus en plus à la "clôture", c'est-à-dire qu'il cesse progressivement de négocier. C'est cent fois mieux que de commencer à pécher par excès d'entrée au fil du temps.

Mais en vain, personne ne veut, personne n'écoute.