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

 
Aleksey Vyazmikin:

Je pars donc du fait que le sujet est le même partout - un trader et pourquoi changerait-il son comportement en fonction de l'instrument ?

Vous avez finalement décidé dans votre raisonnement qu'il n'y a aucune différence si le cheval est devant la charrette ou vice versa - la charrette est devant le cheval ! ))))

Un trader s'adapte au marché, parce qu'aucun acteur du marché ne peut vous dire où sera le prix demain, aucun acteur du marché ne dispose de toutes les informations sur tous les autres acteurs du marché.


Aleksey Vyazmikin:
Si nous partons du principe que les marchés sont tous identiques et que le comportement des prix présente des schémas similaires, alors pourquoi ne pas combiner une douzaine d'instruments dans un seul échantillon et rechercher des "signes" communs à tous les marchés ?

supposez, alors dans l'optimiseur vous aurez toujours votre TS trouver d'excellentes solutions (j'espère que vous n'envisagez pas le trading avec stop-loss et risk-excess), mais généralement tout est triste, ce qui fonctionne sur un marché peut ne pas fonctionner sur un autre.

Voici le problème général : simplifiez le modèle (le marché) en coordonnées cartésiennes X et Y, en partant de votre hypothèse que tous les marchés sont identiques, alors il existe un coefficient de transformation (linéaire ou non linéaire) qui permet de convertir certaines données en d'autres - si c'est le cas, alors c'est un problème pour la NS, cela résout le problème de trouver la dépendance des données d'entrée sur la sortie, une table de multiplication n'a pas alimenté la NS ; seul un paresseux ici ;)

 
Igor Makanu:

Supposons, alors dans l'optimiseur vous aurez toujours votre TS trouver de grandes solutions (j'espère que nous ne sommes pas envisager le commerce avec des pertes overshooting et des risques excessifs), mais généralement tout est triste, ce qui fonctionne sur un graphique ne fonctionne pas sur l'autre


Cela indique seulement que le neuronet ou autre que vous utilisez a trouvé une autre connerie. Il s'accroche à la forme, s'adapte sur une zone locale, une parmi des millions d'implémentations, mais est incapable de "comprendre" la structure globale. Mais l'essentiel, c'est de partir, je veux dire de gagner, non ?

Si vous êtes si attaché au mode opératoire, si vous voulez déplacer la responsabilité de leur propre tête et de leurs yeux, et si vous êtes un bricoleur sans âme, alors voici un "critère" pour l'évaluation finale.Si vous avez trouvé "quelque chose" sur 15 minutes de la livre, cela devrait fonctionner à peu près de la même manière sur les minutes de l'or et sur le quotidien hebdomadaire des "chemos" domestiques, et sur tout, y compris le sucre et le soja depuis l'époque de Larry Williams.

Désolé d'être si grossier (Igor Makanu: pas vous personnellement, mais en général), ouvrez les yeux et regardez les graphiques dans le livre "Long-Term Secrets"... Ou Linda Raschke a quelques photos, voyez-vous beaucoup de différences entre les montres 15 minutes de la livre ou les montres bitcoin :)

Si vous jugez par le pourcentage de transactions rentables, par le facteur de profit, tout dépend de l'instrument, de l'intervalle de temps, la différence est de plus ou moins 3-4 pour cent, pas plus. Avec l'augmentation de l'intervalle de temps, la stabilité des modèles diminue. Le plus précis est sur les "ticks", quoi que vous puissiez tester, les paramètres du système sont aussi serrés qu'avant. Et puis l'erreur s'accumule au fil du temps et les motifs deviennent plus vagues. Plus il faut de temps pour former le motif, plus l'ébranlement de l'image est fort. Mais la structure du motif ne "s'écroule" pas, même sur MN, c'est toujours le même motif, la différence est dans les pourcentages.

--

La base inébranlable de la "similitude" de tous les graphiques du marché est là, ils ne peuvent pas être différents d'un point de vue purement physique. Ils ne peuvent pas non plus changer au fil du temps, même d'un "millimètre", à moins que la vitesse de la lumière ou le nombre de PI ne changent, par exemple.

Je vous ai donné plus d'une fois le lien d'un livre qui explique pourquoi ils sont les mêmes et pourquoi ils ne peuvent pas changer avec le temps.

 
Aleksey Vyazmikin:

J'avais une formation pour 2016-2017, puis j'ai juste vérifié les feuilles pour 2014-2018 et j'ai sélectionné celles qui étaient rentables chaque année et qui répondaient à un certain nombre d'autres critères (croissance globale/pas de drawdown majeur). Je me demande donc si un tel modèle peut être utilisé.

En ce qui concerne la combinaison de différents symboles, le prédicteur est souvent le gain en pips pour différents intervalles de temps, et cela ne fonctionnera pas avec différents instruments...

Qu'est-ce qu'un paquet ou un programme dans lequel vous pouvez voir les feuilles individuelles et leurs statistiques ?

Vous y avez enseigné un arbre ou une forêt ?
 
Wizard2018:

Il s'accroche à la forme, s'ajuste sur une section locale, l'une des millions de variantes de mise en œuvre, mais ne peut pas "comprendre" la structure globale.Mais l'essentiel est de conduire, c'est-à-dire de gagner, non ?

Si vous tenez tant à ce que le MOD, qui souhaite déplacer la responsabilité de sa propre tête et de ses propres yeux, vers une bogie sans âme, alors voici le "critère" pour l'évaluation finale.Si vous avez trouvé "quelque chose" sur 15 minutes de la livre, cela devrait fonctionner à peu près de la même manière sur les minutes de l'or et sur le quotidien hebdomadaire des "chemos" domestiques, et sur tout, y compris le sucre et le soja depuis l'époque de Larry Williams.

Désolé d'être aussi grossier (Igor Makanu: ce n'est pas pour vous personnellement, mais en général), ouvrez les yeux, regardez les graphiques du livre "Long-Term Secrets"... Ou Linda Raschke a quelques photos, voyez-vous beaucoup de différences entre les montres 15 minutes de la livre ou les montres bitcoin :)

Si vous jugez par le pourcentage de transactions rentables, par le facteur de profit, tout dépend de l'instrument, de l'intervalle de temps, la différence est de plus ou moins 3-4 pour cent, pas plus. Avec l'augmentation de l'intervalle de temps, la stabilité des modèles diminue. Le plus précis est sur les "ticks", quoi que vous puissiez tester, les paramètres du système sont aussi serrés qu'avant. Et puis une erreur s'accumule au fil du temps et les motifs deviennent plus vagues. Plus il faut de temps pour former un motif, plus l'image tremble.

--

La base inébranlable pour que tous les graphiques de marché soient "les mêmes" est là, ils ne peuvent pas être différents purement physiquement. Ils ne peuvent pas non plus changer dans le temps, même d'un "millimètre", à moins que par exemple la vitesse de la lumière change ou que le nombre de PI change.

J'ai donné un lien vers un livre plus d'une fois, il dit tout, à la fois pourquoi ils sont les mêmes et pourquoi ils ne peuvent pas changer avec le temps.

je suis désolé, je n'ai pas toujours le temps de lire toutes les discussions du fil de discussion, je vais le lire, il n'y a rien à lire maintenant de toute façon

 

R ou Python? Pourquoi pas les deux ? Utilisation de Anaconda Python dans R avec {reticulate}

R or Python? Why not both? Using Anaconda Python within R with {reticulate}
R or Python? Why not both? Using Anaconda Python within R with {reticulate}
  • Econometrics and Free Software
  • www.r-bloggers.com
This short blog post illustrates how easy it is to use R and Python in the same R Notebook thanks to the package. For this to work, you might need to upgrade RStudio to the current preview version. Let’s start by importing : is an RStudio package that provides “a comprehensive set of tools for interoperability between Python and R”. With it...
 
Vizard_:

Fa, il faut un filtre normal comme le JMA de Jurica, mais avant 71.
De préférence pas trop compliqué et en R. Vous en avez ?

Non.

J'utilise depuis longtemps l'AGC finalisée sur mcl4 en termes d'adaptation de période, mais cela ne sert pas à grand chose : elle s'estompe comme tout le reste. De temps en temps, j'ai dû intervenir avec mes mains.

J'utilise des indicateurs comme prédicteurs, mais je ne connais aucun lissage qui ait un pouvoir prédictif pour mes variables cibles.

S'il s'agit de filtres, il existe un curieux paquet appelé smooth. A l'intérieur du lissage se trouve Kalman avec l'espace d'état. Il donne des mashups de très bonne qualité, et avec une extrapolation (prévision) pour plusieurs pas en avant.


Mais encore une fois, l 'essentiel pour moi est : la capacité de prédiction pour la cible, et tout ce qui est dans ce paquet a le même problème : il n'a aucune capacité de prédiction.


C'est pourquoi j'ai abandonné tous les filtres, les lissages et autres.

 
Igor Makanu:

dans votre raisonnement, vous avez finalement décidé que cela ne fait aucune différence que le cheval soit devant la charrette ou vice versa - la charrette est devant le cheval ! ))))

Le trader s'adapte au marché, car aucun acteur du marché ne peut vous dire où sera le prix demain, aucun acteur du marché ne dispose de toutes les informations sur tous les acteurs du marché.

Le trader est une image collective, c'est une personne qui exprime la volonté d'une personne (physique ou morale), qui influence le marché en appliquant ses compétences pour répondre aux besoins d'un client. C'est pourquoi je dis que des compétences collectivement similaires sur tous les instruments sont gagnantes, non pas en raison des connaissances ou des compétences elles-mêmes, mais en raison de la quantité d'actifs des parties prenantes utilisés. Ajoutez à cela la religion mondiale de l'analyse technique, qui est inapplicable à la plupart des acteurs du marché (une fois escompté un lien vers l'exigence de la Banque centrale de connaître ces postulats pour un acteur professionnel du marché des valeurs mobilières)... Vous ne pouvez pas dire où sera le prix, notre tâche est de comprendre comment le prix va évoluer en fonction du vecteur de mouvement choisi et de minimiser le coût d'entrée dans la transaction, le prix du risque.


Igor Makanu:


Supposons alors dans l'optimiseur, vous aurez toujours votre TS va trouver de grandes solutions (j'espère que le commerce avec la perte de surcompensation et l'excès de risque, nous ne considérons pas), mais généralement tout est triste, ce qui fonctionne sur un graphique ne fonctionne pas sur l'autre

Voici le problème général : simplifiez le modèle (le marché) en coordonnées cartésiennes X et Y, en partant de votre hypothèse que tous les marchés sont identiques, alors il existe un rapport de transformation (linéaire ou non linéaire), qui permet de convertir certaines données en d'autres - si c'est le cas, alors c'est un problème pour la NS, elle résout parfaitement le problème de trouver la dépendance des données d'entrée sur la sortie, une table de multiplication n'a pas alimenté la NS ;)

Je travaille davantage avec des prédicteurs, qui décrivent le marché, et j'en ai déjà plus de 300, et 300 entrées, c'est trop compliqué pour SN... C'est pourquoi j'utilise des modèles en forme d'arbre. Dans tous les cas, la tâche consiste à convertir les points en unités relatives pour que les prédicteurs ne dépendent pas de l'instrument. Je le fais avec l'ATR quotidien, mais il existe peut-être une meilleure méthode - je ne sais pas. En tout cas, je dois essayer différentes méthodes de transformation des données, puisque mon échantillon d'entraînement est petit - toutes les variations ne sont pas prises en compte ou présentes sous une petite forme quantitative, ce qui empêche d'identifier la règle (formation de listes).

 
elibrarius:

Quel est le paquet ou le programme dans lequel vous pouvez regarder les feuilles individuelles et les statistiques sur leur travail ?

Vous y avez formé un arbre ou une forêt ?

Oui, il est très instructif de travailler avec l'échantillonnage dans Deductor Studio - vous pouvez reconstruire des branches ou construire un arbre à partir de zéro - un très bon outil pour comprendre le fonctionnement de l'arbre et pour tester vos hypothèses. L'inconvénient est que le paquet est payé et que vous ne pouvez pas vous décharger des règles (feuilles) si facilement...

J'utilise le script R pour générer l'arbre avec la génétique, puis j'utilise le script pour décharger les données de l'arbre à chaque itération, et ensuite j'utilise le programme d'analyse syntaxique, qui a été écrit séparément, il convertit les arbres en feuilles dans ce format :

            if(Test_P!=1245)if(DonProc>=5.5 && TimeH< 10.5 && Levl_High_H4s1< 1.5) CalcBuy=CalcBuy+1; //(0.22513089 0.30366492 0.47120419)
            if(Test_P!=2030)if(Povtor_Low_M1>=0 && TimeH>=10.5 && TimeH< 21.5 && BB_iD_Center_H1< 0 && Levl_Close_D1>=-2.5 && Levl_Support_W1s1< 4.5 && LastBarPeresekD_Down_M15< 4.5) CalcBuy=CalcBuy+1; //(0.09111617 0.51252847 0.39635535)
            if(Test_P!=2537)if(Povtor_High_M1>=0 && rLevl_Down_iD_RSI< -6.5 && TimeH< 14.5) CalcBuy=CalcBuy+1; //(0.1990172 0.3832924 0.4176904)
            if(Test_P!=3243)if(Levl_Close_H1>=0 && TimeH<10.5 && Levl_Support_W1<-3.5) CalcBuy=CalcBuy+1; //(0.1153846 0.1538462 0.7307692)
            if(Test_P!=3314)if(Levl_Close_H1>=0 && TimeH< 10.5 && Levl_Low_W1s1N< 4.5 && Levl_Support_W1< -3.5) CalcBuy=CalcBuy+1; //(0.1153846 0.1538462 0.7307692)
            if(Test_P!=3583)if(Povtor_Type_M1>=0 && TimeH< 10.5 && Levl_Close_W1< -3.5) CalcBuy=CalcBuy+1; //(0.11428571 0.20000000 0.68571429)
            if(Test_P!=3857)if(Povtor_Type_M1>=0 && TimeH<10.5 && Levl_Support_W1<-3.5) CalcBuy=CalcBuy+1; //(0.07142857 0.17857143 0.75000000)
            if(Test_P!=6546)if(Povtor_Type_H1< 0 && Levl_Close_H1s1N>=0 && Levl_Close_H1s1N< 2.5 && Levl_High_W1s1>=2.5 && DonProc_M15>=5.5) CalcBuy=CalcBuy+1; //(0.1228070 0.4210526 0.4561404)
            if(Test_P!=6676)if(Povtor_Type_H1< 0 && Levl_Close_H1s1N>=0 && Levl_Close_MN1< 4.5 && TimeH< 21.5 && BB_iD_Center_H1< 0 && Povtor_Type_M15>=0 && Levl_Down_DC_M15>=-2.5) CalcBuy=CalcBuy+1; //(0.10619469 0.42477876 0.46902655)
            if(Test_P!=8673)if(Levl_Close_H1s1< 0 && Levl_Close_H1s1N>=0 && Part_H4>=2.5 && TimeHG< 3 && Levl_first_W1s1>=0.5) CalcBuy=CalcBuy+1; //(0.11607143 0.40178571 0.48214286)
            if(Test_P!=8840)if(TimeHG>=1.5 && RSI_Open_M1< 0.5 && BB_Peresek_Last_M1< 0.5 && RSI_Open_M1>=-0.5 && Levl_Support_W1s1>=-4.5 && Povtor_Low_H1>=0 && Levl_Support_H4>=0 && RegressorSpeed< 1.5) CalcBuy=CalcBuy+1; //(0.1606218 0.4145078 0.4248705)
            if(Test_P!=10002)if(rOpen_WormsDown>=0 && BB_Peresek_Last_M1< 0.5 && rDeltaWorms< 2.5 && DonProcVisota< 4.5 && Part_D1< 3.5 && BB_iD_Center_H1< 0 && Levl_Close_H1s1N>=0) CalcBuy=CalcBuy+1; //(0.1890244 0.3963415 0.4146341)
            if(Test_P!=10395)if(rOpen_WormsDown>=0 && Povtor_Type_M15>=0 && Levl_Low_H1< -4.5 && Levl_Close_H1s1N>=0) CalcBuy=CalcBuy+1; //(0.1990741 0.3888889 0.4120370)
            if(Test_P!=14244)if(rPeresek_Up<0.5 && BB_Peresek_Last_M1<0.5 && Polozhenie_M1>=0 && Povtor_High_H1<-2.5) CalcBuy=CalcBuy+1; //(0.1948052 0.3506494 0.4545455)
            if(Test_P!=14462)if(rPeresek_Up<0.5 && BB_Peresek_Last_M1<0.5 && Polozhenie_M1>=0 && DonProc_M15<9.5 && Levl_Support_H4s1<4.5 && Povtor_High_H1<-2.5) CalcBuy=CalcBuy+1; //(0.2112676 0.3239437 0.4647887)
            if(Test_P!=17944)if(Levl_Low_H1s1N< -1.5 && Levl_Close_H4>=0 && Levl_Close_H1s1N>=0 && BB_iD_Center_H1< 0 && Part_H1< 2.5) CalcBuy=CalcBuy+1; //(0.1408451 0.3239437 0.5352113)
            if(Test_P!=18382)if(Povtor_Low_M15< 3.5 && LowPerekH1s1_1< 0.5 && Polozhenie_M1>=0 && BB_iD_Down_M1>=-5.5 && DonProcVisota>=3.5 && Povtor_Low_M15< 1.5 && BB_iD_Down_M1>=-1.5) CalcBuy=CalcBuy+1; //(0.1659389 0.3842795 0.4497817)
            if(Test_P!=19123)if(rPeresek_Down< 0.5 && Povtor_Low_M15< 3.5 && LowPerekH1s1_1< 0.5 && Polozhenie_M1>=0 && rCalcLvlWorms< 1.5 && DonProcVisota>=3.5 && rLevl_UpPeresek_iD_RSI< 1.5 && RegressorCalc_S1>=-1.5 && Levl_first_W1s1>=-0.5) CalcBuy=CalcBuy+1; //(0.1225490 0.4313725 0.4460784)
            if(Test_P!=26038)if(Levl_Support_H1s1>=-3.5 && Part_H4< 2.5 && LowPerekH1s1_0>=0.5 && Part_H1>=1.5) CalcBuy=CalcBuy+1; //(0.1912568 0.4153005 0.3934426)

Ensuite, j'utilise l'EA qui lit les prédicteurs du fichier et le résultat financier et applique des feuilles sur eux en mode d'optimisation "Calculs mathématiques" et à l'intérieur de celui-ci, je rassemble déjà des statistiques par le calcul des indicateurs financiers et d'autres statistiques, qui sont transmises des agents à l'EA dans des cadres et rassemblées dans un fichier comme résultat.


Ensuite, je regarde la feuille pour chaque période de rapport.

 
Aleksey Vyazmikin:

Oui, il est très instructif de travailler avec l'échantillonnage dans Deductor Studio - vous pouvez reconstruire des branches ou construire un arbre à partir de zéro - un très bon outil pour comprendre le fonctionnement de l'arbre et pour tester vos hypothèses. L'inconvénient est que le paquet est payé et que vous ne pouvez pas vous décharger des règles (feuilles) si facilement...

J'utilise le script R pour générer l'arbre avec la génétique, puis j'utilise le script pour décharger les données de l'arbre à chaque itération, et ensuite j'utilise le programme d'analyse syntaxique, qui a été écrit séparément, il convertit les arbres en feuilles dans ce format :

Ensuite, j'utilise l'EA qui lit les prédicteurs du fichier et le résultat financier et applique des feuilles sur eux en mode d'optimisation "Calculs mathématiques" et à l'intérieur de celui-ci, je rassemble déjà des statistiques par le calcul des indicateurs financiers et d'autres statistiques, qui sont transmises des agents à l'EA dans des cadres et rassemblées dans un fichier comme résultat.


Ensuite, je regarde comment la feuille s'est comportée dans chaque période de rapport.

Bon sang, tout ce que vous faites manuellement devrait être fait par un neurone, et donc..... Une perte de temps, et si le résultat est négatif, vous avez beaucoup de frustration et de recherche d'autres méthodes.

 
Vizard_:

Marteau. Essayez le rétro-éclairage pour plus de commodité (cartes thermiques)

Oui, j'ai vu de telles implémentations avec rétro-éclairage, mais il s'agit d'un algorithme distinct à écrire, et d'une toile à attirer, dont je ne me suis pas du tout occupé. C'est pourquoi je le sors avec des formules. Mais une carte serait intéressante, mais là encore, il vaut mieux utiliser le multidimensionnel...

Maintenant je pense à ce que je dois viser lorsque je collecte des feuilles pour un modèle, tout d'abord j'ai sélectionné les feuilles stables - j'ai déjà écrit, puis vient le filtre des feuilles (j'ai une classification -1/0/1 - vente/non à entrer/achat), respectivement le filtre peut être des feuilles du groupe "non à entrer" et du groupe "acheter" pour la vente, et en fait, ils font partie du groupe "vendre" - car soit le motif était faux, soit le graphique d'application des feuilles à l'entrée sur le marché ne couvre pas cette surface avec le signal d'entrée, mais filtre bien en termes d'ignorance de l'entrée. Jusqu'à présent, les critères des filtres sont les suivants - amélioration du profit, diminution du drawdown, diminution du nombre d'entrées perdantes à la suite, de sorte que vous pouvez prendre 4-6 feuilles, qui dans des périodes de 3x/4x amélioreront tous ces indices à la fois, et les indices en général - profit et drawdown. Et ensuite soit de concentrer l'attention de la sélection sur la rentabilité et le pourcentage d'entrées correctes, soit je pense d'essayer de trouver un filtre individuel pour chaque feuille (1-2), ce qui est plus cher, mais devrait être plus efficace en théorie.