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

 

Eh bien, chargez vos algorithmes. Mettez en place vos systèmes clés en main, car il y a deux ensembles de données à venir qui en montreront toute l'essence. Le verdict à leur sujet sera intéressant, et de préférence aussi les modèles construits, afin que vous puissiez les tester en fonctionnement réel.

Dossiers :
Buy15MALL.txt  733 kb
Sell15MALL.txt  791 kb
 
Vizard_:

OH... Sensei, merci))) Je n'ai pas ri comme ça depuis longtemps))))))))


XM.... Je ne comprends pas ...... si votre modèle est une sorte de secret, vous n'avez pas à le poster. Ou pensez-vous que votre modèle fonctionnera toujours et que vous donnez en quelque sorte le Graal à quelqu'un d'autre ? ? ??? Qu'est-ce qui vous fait tant rire ? ? ???

En fait, j'adhère personnellement au postulat suivant : "L'architecture du réseau joue un rôle insignifiant dans la construction de modèles. L'essentiel est de savoir comment entraîner correctement au moins un neurone."

Je ne sais pas comment m'exprimer, mais je ne trouve rien de sensé à dire ce matin. Je voulais juste dire que vous pouvez obtenir un modèle sous la forme d'un polynôme, sans aucun secret, etc. tel un polynôme ordinaire ..... MAIS elle sera généralisable et applicable à l'avenir. Il suffit qu'il soit formé correctement, et c'est un art, ce n'est pas le NS lui-même mais son environnement qui en est responsable......

Si je publie mon modèle, la sécurité de mes SN ne sera pas compromise, car ce n'est pas le polynôme lui-même qui importe, mais la méthode pour l'obtenir.....

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8) {
   double x0 = 2.0 * (v0 + 854.0) / 1708.0 - 1.0;
   double x1 = 2.0 * (v1 + 6025.0) / 12050.0 - 1.0;
   double x2 = 2.0 * (v2 + 83.31175) / 166.6235 - 1.0;
   double x3 = 2.0 * (v3 + 94.01706) / 190.59075 - 1.0;
   double x4 = 2.0 * (v4 + 79.89835) / 162.32691999999997 - 1.0;
   double x5 = 2.0 * (v5 + 8139.72596) / 16279.45192 - 1.0;
   double x6 = 2.0 * (v6 + 44728.87178) / 89457.74356 - 1.0;
   double x7 = 2.0 * (v7 + 16744.5244) / 33489.0488 - 1.0;
   double x8 = 2.0 * (v8 + 3571.0) / 7142.0 - 1.0;
   double decision = -0.3081635711326393 * sigmoid(x4)
  + 1.0249861163756249 * sigmoid(x2 + x4)
  + 0.09986072300626747 * sigmoid(x1 + x2 + x3 + x4)
  + 0.5413533668890985 * sigmoid(x5)
  + 0.6997159366377829 * sigmoid(x0 + x2 + x5)
  -0.04588868418500921 * sigmoid(x0 + x1 + x2 + x4 + x5)
  + 0.16781775869820087 * sigmoid(x1 + x2 + x3 + x4 + x5)
  + 0.4607985948890632 * sigmoid(x0 + x6)
  -0.8671700766023466 * sigmoid(x1 + x6)
  -0.5270267887837945 * sigmoid(x4 + x6)
  -0.027936937492837814 * sigmoid(x0 + x4 + x6)
  -0.6617354089719066 * sigmoid(x1 + x3 + x4 + x7)
  -0.19638937616247806 * sigmoid(x1 + x5 + x7)
  + 0.8684769002935395 * sigmoid(x6 + x7)
  -0.5967137681478805 * sigmoid(x0 + x2 + x5 + x6 + x7)
  -0.2097815643098296 * sigmoid(x0 + x1 + x4 + x5 + x6 + x7)
  -1.5340457322179422 * sigmoid(x8)
  + 0.7646273899667675 * sigmoid(x0 + x8)
  + 0.27679539504420725 * sigmoid(x2 + x3 + x8)
  -0.37855134296518955 * sigmoid(x1 + x6 + x8)
  -0.0311654310975556 * sigmoid(x0 + x1 + x2 + x6 + x8)
  -0.6036203203370856 * sigmoid(x0 + x1 + x2 + x3 + x5 + x6 + x8)
  + 0.04123987376920568 * sigmoid(x3 + x7 + x8)
  + 0.8450984194705711 * sigmoid(x0 + x1 + x2 + x3 + x4 + x7 + x8)
  -0.8578008338989624 * sigmoid(x2 + x3 + x5 + x7 + x8)
  + 1.059103470465344 * sigmoid(x1 + x3 + x6 + x7 + x8)
  + 1.0514388283102527 * sigmoid(x0 + x1 + x2 + x4 + x5 + x6 + x7 + x8)
  -0.06758350008374249 * sigmoid(1.0 + x0 + x3 + x4)
  -0.24213702035383408 * sigmoid(1.0 + x4 + x5)
  -0.8011798876969051 * sigmoid(1.0 + x0 + x1 + x3 + x5 + x6 + x7)
  + 0.7506445968459932 * sigmoid(1.0 + x0 + x3 + x8)
  + 0.3049328737780207 * sigmoid(1.0 + x0 + x1 + x2 + x3 + x6 + x7 + x8);
   return decision;
}
 
Pourquoi y a-t-il deux tables ?
L'une a la cible 1 et l'autre 0 ? Pourquoi alors chaque table a déjà la cible 0 et 1 ?
Est-il possible de les combiner en un seul ?
 
Dr. Trader:
Et pourquoi deux tables ?
L'un a la cible 1 et l'autre 0 ? Pourquoi avons-nous déjà des cibles 0 et 1 dans chaque table ?
Peut-on les combiner en un seul ?

Un pour les signaux d'achat et un pour les signaux de vente.....

Pour les combiner en un seul, vous devez effectuer une inversion pour l'un des tableaux. Un seul et même modèle peut alors être utilisé pour les signaux d'achat et de vente.

Mais dans ce cas, nous avons deux modèles indépendants, l'un pour l'achat, l'autre pour la vente.....

 
Vizard_:

C'est une maladie))))
Vous vous rendez compte que la baise, au moins pour le respect devrait d'abord corriger le chapeau))))) que la cible n'a pas la propriété de l'exhaustivité et les gens utilisent non seulement kv et ainsi de suite ..,
mais aussi bêtement divisé en deux)))) Vous réalisez que ce poste n'est pas non plus une simple stèle ? Non... donc dans 13 ans tu écriras les mêmes bêtises))))
Pour rire, je vous rappelle pour la dixième fois que la machine infernale de Reshetov comporte deux erreurs, dont l'une peut être partiellement nivelée... mais cet engin
perdront toujours au moins 2%... sur l'ensemble des données de Doc, vous pouvez obtenir 55,3% sur l'oos... mais bien sûr, ce ne sont que des perroquets...


Vous savez quelles sont ces erreurs ???? Si vous le dites avec confiance.....

 

J'ai essayé Buy15MALL, le modèle a trouvé une sorte de corrélation entre ST9, AD5, Volum7, VVolum7, les autres entrées sont complètement ignorées. La précision est de 55,6 %. Je ne peux pas partager le modèle. Essayez de ré-entraîner la machine Reshetov sur seulement ces quatre-là.


Vizard_:

sur l'OOS (test) vous pouvez obtenir 55,3%... mais bien sûr, ce ne sont que des perroquets...

Cool, c'est même pas des perroquets, c'est une prédiction des gains de la barre m5 de l'eurusd sur les 7 dernières semaines environ. Mais compte tenu de l'écart, je pense que le commerce sera désavantagé.
Je vais tenter une expérience similaire avec différents décalages, comme open0-open1, open0-open2, etc.

 

Le but de cet exercice était de déterminer ce qui suit.

Soit mes données sont collectées correctement et elles fonctionneront avec d'autres algorithmes et systèmes d'optimisation.

Ou bien ce sont les miracles de l'optimiseur Reshetov, qui peut faire un modèle valable à partir de n'importe quelles données.

 
Vizard_:

Il vaut mieux s'entraîner sur une image, car le but n'est pas de la traiter, mais...

Je suis d'accord, j'ai besoin d'une réduction du bruit de qualité.
J'ai en quelque sorte appris comment former un modèle par validation croisée pour que la précision ne chute pas trop sur les nouvelles données. Comme dans ce cas, s'il y a quelques années, j'obtenais 100 % sur le formateur et 50 % sur le test, aujourd'hui, je n'obtiens que 50 % sur les deux. Mais ce n'est manifestement pas suffisant. Quand j'apprendrai à réduire le bruit, je pourrai probablement gagner quelques pour cent.

 
Yuriy Asaulenko:

J'ai vérifié les instruments de la bourse. Contrairement à il y a quelques années, tout mouvement est de 15 à 20 minutes... et le silence.

En forex, oui, les minutes ne sont pas la règle. Parfois, je ne sais pas quoi en faire. Mais pour améliorer l'entrée, je peux essayer.


Ladistribution des probabilités est la même dans n'importe quelle TF, c'est-à-dire la probabilité de dépasser 3 sigmas et d'attraper un cygne noir, de quoi parle-t-on ?). TF est juste une autre représentation du même graphique
 
Chers amis, avant de faire des prévisions de marché, vous devriez avoir étudié la problématique de la tâche. La prévision des séries chronologiques n'est pas la classification des plantes et des cancers par puces.


Mihail Marchukajtes:

Michail, juste une question.

Pourquoi vos données sont-elles triées dans l'ensemble de données de séries chronologiques ?


Qu'y a-t-il à prévoir ?
Au moins, comment diviser l'ensemble de données en un ensemble de formation et un ensemble de test ?