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

 
Alexey Burnakov:

Vous n'avez aucune idée de la façon dont votre modèle fonctionne sur de longues périodes : il n'y a pas de grand test d'avance ni de test d'avance à pied. Votre modèle peut être un ensemble de bruits appris que vous avez pris pour des signaux dans quelques photos bien choisies.

Je vous suggère de reconsidérer votre approche et de faire d'abord des tests approfondis. Vous verrez des creux et des montagnes et peut-être, mais c'est peu probable, vous dépasserez un peu l'attente de maturité zéro. Et tout cela peut être fait avant que vous ne commenciez à perdre de l'argent réel.

Je suis surtout surpris par votre confiance dans mon système. Eh bien, voyons voir à la fin de la semaine, je vous montrerai comment ça marche... ok ?
 
Mihail Marchukajtes:
Ce qui surprend le plus, c'est votre confiance dans mon système. Eh bien, on verra à la fin de la semaine, je vous montrerai comment ça marche... ok ?

Ne le faites pas. Une semaine de plus, une semaine de moins. Ce n'est pas une indication.

Je ne suis pas sûr à 100% de votre système. Il y a un constat : on ne sait pas comment il va se comporter sur une période plus ou moins longue. Il s'agit d'un fil de discussion pour partager des expériences. D'après mon expérience, les résultats que vous avez obtenus jusqu'à présent peuvent être soit un coup de chance, soit un modèle, mais un coup de chance a beaucoup plus de chances d'être un modèle. Et je te donne des conseils.

 

Bonjour !

J'essaie d'exécuter un réseau convolutif à partir du paquet mxnethttp://tjo-en.hatenablog.com/entry/2016/03/30/233848 mais je ne sais pas très bien comment l'exécuter avec "nos" données, à savoir sous forme de chaînes de caractères, car le réseau fonctionne principalement avec des images et les données sont prises sous la forme d'un tableau multidimensionnel avec des matrices, en bref, si quelqu'un comprend et sait comment l'exécuter, je serais très reconnaissant pour un exemple du réseau avec, disons, "iris".

{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
  • 2016.03.30
  • tjo-en.hatenablog.com
Actually I've known about MXnet for weeks as one of the most popular library / packages in Kaggler, but just recently I heard bug fix has been almost done and some friends say the latest version looks stable, so at last I installed it. Convolutional Neural Network (CNN) I believe almost all readers of this blog already know well about Deep...
 
Mihail Marchukajtes:
Pas moyen... Vous devez surveiller le nombre d'erreurs par rapport au nombre total et si les erreurs augmentent, vous devez réentraîner le réseau. Par exemple, si vous avez 4 erreurs sur 20 signaux, c'est bon, si le nombre d'erreurs augmente, vous devez réentraîner le réseau. Une autre question se pose... quel modèle choisir pour qu'on puisse lui faire confiance pour 10 signaux. Eh bien, Yuri l'a en quelque sorte décrit. Choisissons le modèle qui présente le niveau maximal de généralisation des modèles binaire et trinaire et commençons à travailler avec lui. Et pour augmenter qualitativement le temps d'exécution d'une stratégie, nous devons augmenter l'intervalle entraînable, et pour l'augmenter, nous devons augmenter le nombre d'entrées. C'est-à-dire que 10 entrées peuvent scier 100 signaux à zéro. 15 entrées peuvent traiter 225 entrées, ce qui représente 6 semaines de signaux, donc le temps de réseau hors échantillon sera plus long, pas une semaine, mais deux semaines. Avec un taux d'erreur correct. Il n'est pas possible de travailler sans erreurs. J'aimerais bien, mais ce n'est pas possible. L'essentiel est de réduire l'influence de cette erreur sur votre dépôt et vous êtes en affaires).

Faites attention avec libVMR ou jPredictor, ils montrent des performances gonflées dans le forex. Pour le forex, il est très important de tester sur des données en dehors de l'échantillon d'entraînement. libVMR ou jPredictor prend les données d'un fichier source, sélectionne aléatoirement la moitié des lignes pour entraîner un modèle, puis construit un modèle sur ces données et le teste sur les lignes restantes. Cela pourrait convenir pour évaluer la reconnaissance d'images, de textes ou de toute autre tâche simple. Mais ce ne sera pas bon pour le forex.

Faites une expérience simple : vous avez, par exemple, 200 lignes dans le fichier de formation et vous avez une fourchette de prédiction de 30%. Divisez donc le fichier en deux - le premier fichier aura 150 premières lignes, le deuxième fichier aura les 50 dernières lignes restantes. Entraînez jPredictor sur le nouveau fichier de 150 lignes, puis utilisez "utiliser le modèle" pour faire une prédiction pour les 50 lignes restantes (vous devrez entrer les données une par une, cela prendra un certain temps). Comptez le nombre de bonnes réponses, ce ne sera pas du tout 90 %, je pense que ce sera autour de 60 % au mieux.
Vous êtes toujours bénéficiaire uniquement grâce à votre indicateur principal, il semble être plus ou moins rentable tel quel, et grâce au filtre supplémentaire dans le neurone, vous l'améliorez juste légèrement.

 
Alexey Burnakov:

Ne le faites pas. Une semaine de plus, une semaine de moins. Ce n'est pas un indicateur.

Je ne suis pas sûr à 100% de votre système. Il y a un constat : on ne sait pas comment il va se comporter sur une période plus ou moins longue. Il s'agit d'un fil de discussion pour partager des expériences. D'après mon expérience, les résultats que vous avez obtenus jusqu'à présent peuvent être soit un coup de chance, soit un modèle, mais un coup de chance a beaucoup plus de chances de se produire. Et je te donne des conseils.

Donc tu veux un Graal. Tu t'es entraîné une fois et tu vas couper des coupons pour le reste de ta vie ? C'est comme ça ? Je suis surpris, depuis combien de temps êtes-vous sur le marché ? Si ce n'est pas un secret...... Savez-vous que le marché change constamment et qu'après un certain temps, le modèle disparaît tout simplement. Si vous voulez que le modèle fonctionne pendant longtemps, utilisez un graphique mensuel, dans ce cas, c'est la meilleure option. Et donc, si 5 minutes par semaine est un résultat normal, alors vous faites du surentraînement ...... Et si vous travaillez pendant quinze jours, alors c'est génial.....
 
Dr. Trader:

Faites attention avec libVMR ou jPredictor, ils montrent des performances gonflées dans le forex. Pour le forex, il est très important de tester sur des données en dehors de l'échantillon d'entraînement. libVMR ou jPredictor prend les données d'un fichier source, sélectionne aléatoirement la moitié des lignes pour entraîner un modèle, puis construit un modèle sur ces données et le teste sur les lignes restantes. Cela peut convenir pour évaluer la reconnaissance d'images, de textes ou de toute autre tâche simple. Mais cela ne fonctionnera pas sur le marché des changes.

Faites une expérience simple : je pense que vous avez 200 lignes dans le fichier d'entraînement et que la plage de prédiction est de 30%. Divisez donc le fichier en deux - le premier fichier aura 150 premières lignes, le deuxième fichier aura les 50 dernières lignes restantes. Entraînez jPredictor sur le nouveau fichier de 150 lignes, puis utilisez "utiliser le modèle" pour faire une prédiction pour les 50 lignes restantes (vous devrez entrer les données une par une, cela prendra un certain temps). Comptez le nombre de bonnes réponses, ce ne sera pas du tout 90 %, je pense que ce sera autour de 60 % au mieux.
Vous faites toujours des bénéfices uniquement grâce à votre indicateur principal, qui est probablement plus ou moins rentable de toute façon, et grâce au filtre supplémentaire dans le neurone, vous ne faites que l'améliorer légèrement.

Vous ne savez simplement pas comment préparer les données :-) Je n'ai pas du tout de plage de prédiction, je ne prédis rien. 30% est un intervalle de confiance, l'intervalle dans lequel vous pouvez faire confiance au modèle, si ce n'est à tous les 50%. C'est-à-dire que si vous avez été formé pendant trois semaines, cela devrait fonctionner pendant une semaine. Je travaille avec le prédicteur de Yury depuis plus d'un an et je comprends beaucoup de choses, ainsi que la façon de préparer les données, ce qu'il peut (prédicteur) et ce qu'il ne peut tout simplement pas. Vous pouvez m'envoyer un fichier avec vos données, je formerai le modèle et vous verrez comment il fonctionne à l'avenir, si vous le souhaitez, bien sûr ...

Et si vous le faites, nous ferons ce qui suit. Prenez une semaine de recul... (cette semaine sera une semaine de test, hors échantillon) Enregistrez les données à raison de 10 entrées = 100 enregistrements, afin de ne pas vous entraîner pendant une longue période. Je vais entraîner le modèle, vous l'appliquez à votre TS, décrire de manière préliminaire le principe de sa construction et montrer le résultat de la dernière semaine, puis nous verrons..... Qu'en pensez-vous ?

 
Mihail Marchukajtes:

Autrement dit, si vous avez été formé pendant trois semaines, vous devez travailler pendant une semaine.

Et je me disais : où est le piège ? Eh bien, il n'y avait personne sur le forum qui gagnerait vraiment par l'artisanat de Reshetov. Mais il est là ! La prise bien sûr).
 
Combinateur:
Je me demandais où était le piège. Eh bien, il n'y a pas encore eu d'homme sur le forum qui pourrait réellement gagner de l'argent avec les produits artisanaux de Reshetov. Et le voilà ! Le piège, bien sûr.)
Cela dépend de comment..... J'ai aimé son travail manuel ce tout un peu, il a un grain rationnel, mais qui ne peut pas l'utiliser correctement, de sorte que rien ne va aider. Donnez-moi un système qui fonctionne pendant un an sans une seule erreur, et je le croirai. C'est des conneries. Je suis stupéfait par de tels geeks, comme ceux qui demandent, eh bien, où le prix va aller, ou combien de points ce signal va rapporter. Vous êtes naïf. Le marché est une telle chose qu'il est impossible de connaître l'avenir....... Mais tu ne peux pas comprendre tout ça.....
 
Mihail Marchukajtes:

Eh bien, l'exemple actuel qui fonctionne dans l'image que j'ai maintenant est fait à partir de ce fichier

Comment calculez-vous le bénéfice de 100 points après le signal ?

Par exemple, vous pouvez prendre n chandeliers dans le futur et mesurer leurs ombres. Si un chandelier présente une différence entre son ombre et le prix actuel dans la direction du signal d'au moins 100 points, alors nous en établissons un. Si la condition ne fonctionne pour aucun des chandeliers, le résultat est 0.

La deuxième variante : créer un EA avec un StopLoss et un Takeaway à 100 points de la bougie actuelle et ouvrir des trades par le signal et mémoriser le modèle. Une fois la position fermée, nous l'examinons. S'il clôture sur un bénéfice, nous marquons ce modèle dans l'échantillon avec 1, s'il montre une perte, nous le marquons avec zéro.

Bien sûr, vous pouvez m'envoyer le code d'un script ou d'un Expert Advisor qui collecte des données pour l'échantillonnage, par exemple, dans mon espace personnel. Je vais me débrouiller tout seul.

J'essaie actuellement d'adapter jPrediction afin de ne pas avoir à extraire le code et à le compiler dans MQL. L'EA déversera un modèle dans un fichier et l'outil Java, un classificateur ternaire, lira ces fichiers et s'il confirme le signal, il affichera une alerte avec des conseils et un signal sonore. IMHO, ce sera plus facile ?

Plus tard, nous pourrons créer un mode entièrement automatique afin que le classificateur et le conseiller expert puissent échanger des fichiers et ouvrir automatiquement des transactions de leur côté.

 
Yury Reshetov:

Ce que j'ai besoin de savoir, comment calculez-vous le bénéfice de 100 pips après le signal ?

Par exemple, vous pouvez prendre n chandeliers dans le futur et mesurer leurs ombres. Si un chandelier présente une différence entre l'ombre et le prix actuel dans la direction du signal d'au moins 100 pips, alors définissez-en un. Si la condition ne fonctionne pour aucun des chandeliers, le résultat est 0.

La deuxième variante : créer un EA avec un StopLoss et un Takeaway à 100 points de la bougie actuelle et ouvrir des trades par le signal et mémoriser le modèle. Une fois la position fermée, nous l'examinons. S'il clôture sur un bénéfice, nous marquons ce modèle dans l'échantillon avec 1, s'il montre une perte, nous le marquons avec zéro.

Vous pouvez bien sûr m'envoyer dans votre message personnel le code du script ou de l'Expert Advisor qui collecte les données pour l'échantillonnage. Je vais me débrouiller tout seul.

J'essaie actuellement d'adapter jPrediction afin de ne pas avoir à extraire le code et à le compiler dans MQL. L'EA déversera un motif dans un fichier et l'outil Java, un classificateur ternaire, lira ces fichiers et s'il confirme le signal, il affichera une alerte avec des conseils et un signal sonore. IMHO, ce serait plus facile ?

Plus tard, nous pourrons créer un mode entièrement automatique afin que le classificateur et le conseiller expert puissent échanger des fichiers et ouvrir automatiquement des transactions de leur côté.

C'est beaucoup plus simple que ça. Je calcule la différence entre le clone du signal actuel et le clone du signal précédent, si cette différence est positive en tenant compte de la direction du signal et que la positivité de la différence est supérieure à 100 pips, alors le signal précédent est "un", si moins - "zéro". Je sauve tout avec l'aide du Loafer, celui qui est écrit pour le neuroshell. J'ai une bonne idée pour sauvegarder toutes les données de n'importe quel indicateur dans un fichier ksv, donc c'est comme ça...... Je n'utilise pas d'EA, je trade à la main et je mets des modèles dans l'indicateur, c'est pourquoi je n'ai pas besoin d'EA. La chose la plus simple à faire est de conserver le modèle ternaire en même temps que le modèle binaire. Par exemple, pour un modèle binaire, préfixez _2 au nom du fichier, pour un modèle ternaire _3 et ce sera assez...... IMHO. Tout ce qui est brillant est simple, il n'est pas nécessaire de compliquer les choses.

Voici un EA qui sauvegarde les données de tous les indicateurs, regardez la fonction pour 5 minutes, j'y ai mes indicateurs. Cependant tout cela est pour MT4, je ne travaille que sur celui-ci... bye....

Dossiers :