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

 
Mihail Marchukajtes:

J'ai un fichier sale de 7700 colonnes où je prends 24 ligues, alors ne continuez pas, mais regardez plutôt ici. Voici votre dossier.

Et voici le mien.

Quelle est la différence ? ? ??? Je ne vais pas vous tenir en haleine. Dans l'analyse en composantes principales, lorsque chaque colonne a son propre système de coordonnées, il est important qu'elles puissent être regroupées afin que les points de différentes colonnes puissent être reportés sur le même système de coordonnées. L'interprétation est simple. Plus il y a de vecteurs verticaux et horizontaux, plus c'est cool. Ce que vous avez, c'est une tache uniforme.

Si vous voulez compresser l'information, vérifiez d'abord l'autocorrélation, et vous pouvez sans risque ne laisser qu'une seule entrée, mais le réseau ne fonctionnera pas, car il n'y a pas de mémoire.

 
Rorschach:

Si vous voulez compresser l'information, vérifiez d'abord l'autocorrélation, et vous pouvez sans risque ne laisser qu'une seule entrée, seulement le réseau ne fonctionnera pas car il n'y a pas de mémoire.

La mémoire n'est pas la chose la plus importante pour un réseau - ce sont les décalages qui la fournissent - mais la qualité du partitionnement des classes (si l'on parle de classification) est très importante. Il est nécessaire d'obtenir un ensemble de données qui ne présente pas d'incohérences et dont les classes sont regroupées. Tout cela conduit à une séparation qualitative. J'ai exécuté votre fichier dans Rattle (shell graphique en P) il y a une méthode de vecteurs de référence et le résultat était 65% de redondance. Autrement dit, si l'ensemble de données est un simple G, il n'y aura pas de poisson. Mais ces méthodes ne nécessitent pas de grands ensembles de données. Il se peut que vous utilisiez une configuration d'IA telle que l'utilisation de l'ensemble du jeu permet d'obtenir un score d'apprentissage élevé, mais c'est généralement un peu tiré par les cheveux, rien de plus.
 
Mihail Marchukajtes:

Bien et en plus le modèle estime.

Les prédicteurs indiquent le nombre de colonnes dans le fichier

258 nombre total de vecteurs. J'ai supprimé la classe 0 et laissé la classe 2 renommée à zéro, car leur nombre était équilibré avec celui de la classe 1, 19.60 est l'erreur quadratique, ou plutôt la différence entre linéaire et quadratique ; elle devrait tendre vers zéro, 79.141 est la capacité de généralisation, quand on arrive à 100 la différence entre les erreurs diminue, 69.767 est la spicification. La parcelle de contrôle totale est de 75 avec une généralité de 70. La réponse est NON CONNU : nous avons obtenu 77 vecteurs de l'échantillon total alors que la parcelle témoin en avait 17.

En fait, j'ai obtenu de moins bons résultats dans la formation mais de bien meilleurs dans la parcelle de contrôle. De plus, il ne s'agissait pas d'un site de test, comme le vôtre, mais d'un site de contrôle, celui que le net n'avait pas vu du tout. Le test est le moment où le réseau s'entraîne sur la section d'entraînement afin de bien fonctionner sur la section de test, c'est-à-dire que le réseau voit potentiellement la section de test pendant l'entraînement. Le test ne le fait pas. Questions ????

Adabust m'a donné 79 sur 79

 
Maxim Dmitrievsky:

Adabust m'a donné 79 pour 79

Pouvez-vous échanger mon modèle contre un OOS ?
 
Mihail Marchukajtes:
Vous utilisez peut-être une configuration d'IA capable d'obtenir un score d'apprentissage élevé en utilisant l'ensemble des données.

C'est exactement ce que c'est. Laissez-moi essayer de l'expliquer d'une autre manière. Supposons que nous ayons un système classique sur Ma(100) et le prix. Croisement vers le haut pour acheter, croisement vers le bas pour vendre. Habituellement, nous alimentons le Ma et le prix à l'entrée et les signaux du système à la sortie. Il en résulte une économie d'intrants, puisque le maïs est calculé à l'avance et transmis au réseau sous une forme prête à l'emploi. Il est également possible d'alimenter le réseau non pas avec ma, mais avec 100 retards de prix (pour que le réseau se calcule lui-même) sur l'entrée et les signaux du système sur la sortie. Sous cette forme, les réseaux ne peuvent pas être alimentés avec moins de 100 décalages de prix.

 
Rorschach:

C'est ici. Laissez-moi essayer de l'expliquer différemment. Disons qu'il existe un système classique sur ma(100) et le prix. Croisement à la hausse pour acheter, croisement à la baisse pour vendre. Habituellement, nous alimentons le Ma et le prix à l'entrée et les signaux du système à la sortie. Cela permet d'économiser sur les intrants, puisque le maïs est calculé à l'avance et introduit dans le réseau sous une forme prête à l'emploi. Il est également possible d'alimenter le réseau non pas avec ma, mais avec 100 retards de prix (pour que le réseau se calcule lui-même) sur l'entrée et les signaux du système sur la sortie. Sous cette forme, le réseau ne peut être alimenté avec moins de 100 retards de prix.

Des pensées primitives et plus vite vous vous en débarrasserez, plus vite vous sortirez du gouffre de vos illusions. Vous enfreignez l'une des principales règles de la préparation d'un modèle. Rappelez-vous que nous sommes ici une fois avec Alexey Vyazemsky a été actif sur les Jeux olympiques, donc comme un signe de gratitude, j'ai podnakil lui sur les décalages et l'effet que j'ai été surpris. Je suis un praticien, puis un théoricien. Permettez-moi de citer une partie de ma correspondance dans laquelle l'essence du lag est révélée

Citation :

Ahem, ahem... drôle. Je ne vais pas vous ennuyer. Vous avez été bon avec moi, alors je vais vous le dire. Je suis un praticien et je tombe souvent sur des phénomènes divers, que j'essaie ensuite d'expliquer en théorie ou d'élaborer en détail les effets que j'ai découverts. Mais le plus intéressant est d'obtenir les réponses à mes questions. Nous avions donc une question. Comment équiper le classificateur de données historiques au lieu de données actuelles lors de sa formation. Lors de la construction d'un modèle prédictif basé sur la régression, l'ordre des données est très important, c'est-à-dire que si un fichier d'apprentissage a été formé à partir de l'historique, il ne faut en aucun cas les intervertir ou les mélanger. C'est la séquence des données (dans un ordre strict) qui permet aux modèles prédictifs de voir l'historique complet de l'échantillon d'entraînement et, comme je l'ai dit, les toutes premières données de l'échantillon d'entraînement affectent les dernières données en raison de l'ordre. Cela va du passé au futur et il ne faut jamais les mélanger. Vous vous souvenez que Max a essayé une fois mais le résultat était décevant. Parce que le mélange n'est pas applicable à la régression. La classification est une autre affaire, lorsque la méthode de mélange aléatoire de l'ensemble d'apprentissage est nécessaire pour éviter le surentraînement. En d'autres termes, nous obtenons une estimation réelle de la qualité de la formation, et non une estimation gonflée parce que les données ont été mélangées avec succès. Nous faisons une rotation de 10 époques, mélangeons l'ensemble, le faisons tourner à nouveau, le mélangeons à nouveau. Dans ce cas, il n'y a pas de connexions entre les vecteurs d'apprentissage et chaque vecteur fonctionne essentiellement de manière autonome.
2020.07.02 22:47
Je me suis donc demandé comment fournir au NS non seulement les valeurs des indicateurs pour le signal actuel mais aussi l'historique. Enfin, j'ai une idée. C'est très simple. Nous enregistrons les indicateurs au moment du signal, puis nous prenons les valeurs de l'indicateur précédent pour le signal actuel, puis un autre pour le signal précédent, etc. Par conséquent, pour le signal actuel, non seulement ses indicateurs mais aussi les indicateurs des signaux précédents sont sauvegardés. Pour le moment, je prends un retard de 24 signaux. C'est-à-dire que pour le signal actuel, je sauvegarde les valeurs des indicateurs pour 24 signaux auparavant. Je me souviens avoir dit sur le forum que le fichier d'entraînement contenait 7500 colonnes pour 50 lignes mais que personne n'était capable de deviner comment elles étaient arrivées là. Problème de la zone MO, nous sommes tous trop intelligents ici :-)
2020.07.02 22:52
Venons-en maintenant au fait :
Comme vous l'avez peut-être remarqué, je sauvegarde les données de 15 instruments et je les utilise pour construire plusieurs indicateurs. Je prends la fonction stochastique. Je prends l'écart-type cumulé et c'est à peu près tout. En conséquence, j'ai 307 barres d'entrée uniques qui sont primaires pour le signal actuel. Par conséquent, je prends ces 307 barres pour le signal actuel et je lui ajoute (le signal) 307 barres des 24 signaux précédents. La signification de ce décret à l'apparition du signal de présenter les données à la NS immédiatement pour les 24 derniers signaux. Il s'agit de la transformation qui permet à la classification d'examiner en profondeur l'historique du signal actuel. Il s'agit essentiellement d'un décalage de la profondeur de 24
2020.07.02 22:59
MAIS j'ai laissé la partie la plus intéressante pour le dernier paragraphe : Je suis sûr que vous avez entendu parler de l'addon vtreat pour P. Cette bête effectue donc un prétraitement des données en identifiant des colonnes significatives pour la variable de sortie. En règle générale, après son traitement, il y a 130-180 colonnes réellement significatives. Mais le paradoxe est que les valeurs actuelles des indicateurs pour le signal actuel entrent très rarement dans cet échantillon. Très rarement. Le même décalage de 24 heures n'est pas un invité rare dans le fichier post-traité. En d'autres termes, les valeurs des indicateurs qui étaient disponibles il y a 24 lags sont critiques pour la fonction cible. Au fond, l'idée est aussi simple que 5 kopecks. Enregistrez un échantillon assez large, puis multipliez les colonnes avec un décalage vers le bas d'une cellule Excel et post-traitez-les. C'est ça le profit !


Le devis est complet :

Le réseau ne pourra rien faire tout seul. Ce que vous lui donnez en entrée est ce que vous obtenez en résultat. Tous les décalages ne sont pas bons, comme le montre la pratique, et dans votre ensemble, il n'y a pas une seule colonne qui aiderait les NS à obtenir un modèle adéquat...... Bonne chance !!!!!

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 

Et lorsqu'il est fait correctement, le modèle fonctionne comme suit.....


 
Valeriy Yastremskiy:

Oui, c'est faux) Apparemment, ce sont tous des problèmes dans l'analyse syntaxique ou dans les données lues.

Il est peu probable que la normalisation soit pratique. La bonne chose est que nous avons besoin de données d'archives de nouvelles dans le terminal, une capacité régulière de les télécharger et un service pour travailler avec eux. Je ne pense pas qu'il n'y ait pas d'archives) Mais à en juger par la position des créateurs, tant que les utilisateurs ne diront pas leur mot, ce qu'ils veulent, cela ne commencera pas, et si cela commence, d'abord dans une version payante).

Eh bien, oui, le calendrier libre et bon n'est guère possible du tout).

 
Aleksey Nikolayev:

Ouais, eh bien, un calendrier libre et bon n'est guère possible du tout).

Oui, vous pouvez faire un mauvais calendrier, long et précis) dans l'archive) c'est un service de menthe) à propos de maintenant l'analyse par vous-même)
 
Mihail Marchukajtes:

Merci, c'est intéressant, je n'aurais pas pensé à utiliser les signaux précédents. Cela nous amène à nous demander si le réseau n'est pas un lien inutile.

C'est ce que je trouve le plus intéressant sur le net, pour ne pas gommer les fonctionnalités. Sinon, il serait plus facile de faire un système classique.

Il faudra que je me donne la peine de faire d'autres expériences, je prendrai un très grand nombre d'exemples du système sur le poignet, de sorte qu'à l'entraînement il n'y ait pas une seule répétition et qu'il soit possible de tenir dans une seule époque.