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

 
Olga Shelemey:
Merci. Il le lira sûrement plus tard. En ce moment, il dort, en lisant du Shelepin. Il a dit de ne pas le déranger.

OK.

Qu'il trouve le théorème de Tuckens.

 
Aleksey Vyazmikin:

J'ai tout mis dans un seul tableau selon ce principe

J'ai également créé un prédicteur de regroupement par arr_TimeH - peut-être sera-t-il utile dans ce formulaire.

Je joins les fichiers.

Le programme que j'utilise présente l'image suivante : il n'y a que 30,81 % de résultats positifs.


Toutefois, si nous additionnons, par exemple, les erreurs -2 et -1, que nous additionnons les solutions trouvées correctement et que nous les comparons aux solutions trouvées incorrectement, et que nous ignorons le chiffre cible 3 parce qu'il s'agit d'un filtre et qu'il n'affectera pas les résultats financiers, nous obtiendrons l'image suivante

dans ce cas, l'erreur sera de 49,19% pour entrer dans la position, ce qui n'est pas si mal !

 
Maxim Dmitrievsky:

Avez-vous expérimenté avec kfold alglib ? Est-ce que cela améliore les résultats ? J'ai vu dans un de vos anciens messages que ça ne semble pas mélanger l'échantillon. Est-ce que c'est vraiment nécessaire ?

Des conclusions sur ce qui surentraîne le moins - forest ou mlp ? sur les mêmes données. Je soupçonne que pour les tâches de régression, la forêt fonctionne de manière tordue et renvoie des erreurs tordues (très petites), pour les normes de classification.

2. J'ai vu des personnes intéressées par l'OpCl, avez-vous pensé à réécrire la NS en fonction de celle-ci ? Par exemple, j'ai abandonné complètement GA, qui n'était qu'un cauchemar absurde, et tout est maintenant formé dans un seul thread sur un seul cœur. Vous pourriez l'accélérer sur Cl (bien que ce soit aussi rapide que ça). Ou, si vous vous entraînez sur Spark, c'est de toute façon en parallèle et cela n'a aucun sens.

3. plus ou moins compris ce que vous mettez sur le git et comment vous l'appliquez. Un travail intéressant, respectueux ! :)

Lorsque j'ai commencé à faire des recherches sur les réseaux, le résultat a été https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_MultilayerPerceptron.mq5. Je suis passé par différents ensembles de prédicteurs dans différentes séquences (avec et sans brassage) - le paramètre File_Num en est responsable. Et, bien sûr, j'ai essayé de mettre le même nombre d'enregistrements pour deux classes.

Le problème de ce réseau est qu'il n'existe pas de critère clair pour sélectionner un échantillon valide. Par exemple, lorsque vous reconnaissez des images de fruits, vous pouvez clairement identifier où se trouvent une pomme et une orange. Avec les graphiques de prix, il n'y a pas de critère de sélection à 100% et donc pas de critère de recyclage à 100% non plus.

https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_RandomForest.mq5

Une forêt aléatoire est moins dépendante du bruit et plus susceptible de donner le même résultat dans différentes conditions d'échantillonnage. Par exemple, dans le graphique.

Les données bleues et jaunes sont presque identiques. Bien que je m'attendais à plus de différence parce qu'une partie de l'échantillon a été retirée pour la deuxième forêt.

Et à mon avis, certaines personnes essaient d'obtenir le prix d'ouverture d'un ordre en utilisant le net ou la forêt, mais oublient que la prise de bénéfices a lieu lorsque l'ordre est fermé. Pour résoudre ce problème, https://github.com/Roffild/RoffildLibrary/blob/master/Include/Roffild/OrderData.mqh est apparu , mais cette classe est utilisée exactement comme un "parent".

OpenCL n'est nécessaire que pour l'entraînement du réseau. Pour les calculs finaux où le réseau ou la forêt a déjà été entraîné, OpenCL n'est d'aucune utilité car le temps nécessaire au transfert des données vers la carte vidéo est très long. Les algorithmes permettant d'extraire des données d'un réseau ou d'une forêt sont vraiment très simples et le processeur les gère très bien.

En général, Spark parallélise les calculs non seulement entre les cœurs d'un seul ordinateur, mais peut également utiliser un réseau entier d'ordinateurs. Il s'agit d'une norme pour l'informatique inter-serveurs. Par exemple, j'achète généralement 32 cœurs sur amazon pour 0,25 dollar/heure afin d'obtenir rapidement une forêt aléatoire finie.

 
Roffild:

Le problème de ce réseau est qu'il n'existe pas de critère clair pour sélectionner un échantillon valide. Par exemple, lorsque vous reconnaissez des images de fruits, vous pouvez clairement identifier où se trouve une pomme et où se trouve une orange. Avec les graphiques de prix, il n'y a pas de critère de sélection à 100% et donc pas de critère de recyclage à 100% non plus.

https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_RandomForest.mq5

Une forêt aléatoire est moins dépendante du bruit et renvoie plus souvent le même résultat dans des conditions d'échantillonnage différentes. Par exemple, dans le graphique

c'est parce qu'en NS vous devez récupérer l'architecture, alors que les forêts fonctionnent toujours de la même manière, oui :)

Et pour choisir une architecture, vous devez cartographier l'espace des caractéristiques multidimensionnelles et déterminer quelle couche est responsable de quoi, ou simplement utiliser votre intuition. Mais des NS correctement prélevés devraient, en théorie, donner de meilleurs résultats, y compris en termes de sur-équipement.

pas encore toutes les bibliothèques, merci, je vais y regarder de plus près

 
Cauchemar
 
Plus on s'enfonce dans les bois, plus le bois de chauffage est gros...
 

Un autre livre utile en russe.

Джулли А.,Пал С. - Библиотека Keras - инструмент глубокого обучения [2018, PDF, RUS] :: RuTracker.org
  • rutracker.org
Автор : 2018 : Джулли А.,Пал С.: ДМК Пресс : 978-5-97060-573-8 : Русский: PDF : Отсканированные страницы : 298: Книга представляет собой краткое, но обстоятельное введение в современные нейронные сети, искусственный интеллект и технологии глубокого обучения. В ней представлено более 20 работоспособных нейронных сетей, написанных на языке...
 
Vladimir Perervenko:

Un autre livre utile en russe.

Comment trouver Keras ? Est-il meilleur que Darch ou est-il identique ? Peut-il apprendre plus rapidement avec les mêmes données, le même nombre d'époques, etc.
 
elibrarius:
Comment avez-vous trouvé Keras ? Est-il meilleur que Darch ou les capacités sont-elles les mêmes ? Est-il plus rapide d'apprendre avec les mêmes données, le même nombre d'époques, etc.

Aucune comparaison. Kegas - des possibilités illimitées en termes de structure, de formation et de personnalisation, de nombreux exemples et une documentation détaillée. Par ailleurs, à propos de TensorFlow, le développement est très rapide (déjà 1.8). Il est clair que cela a ses avantages et ses inconvénients. Ce n'est pas aussi rapide à apprendre, vous devez faire un peu de gymnastique supplémentaire. Il est difficile d'optimiser les hyperparamètres. Sinon, c'est l'objectif principal pour l'avenir.

Bonne chance

 
Aleksey Vyazmikin:

Je n'ai toujours pas fait d'amis avec R, alors je serais intéressé de voir ce que tu vas faire !

J'ai fait une décomposition de la TF hebdomadaire, 1400 barres (presque tout l'historique disponible dans le terminal).

Il n'affiche pas les dates ici, donc ce n'est pas très pratique. Je vais devoir le réécrire dans Plot ou dans un indicateur pour le marquer sur un graphique.

Les tscc sont plus prononcés sur les petits mods. Et le plus grand est de +- 14 ans (2 demi-périodes de 28 ans), qui est divisé en 4 cycles de 7 ans (comme je l'ai dit). De plus, le dernier cycle de 7 ans s'est terminé au début de cette année (approximativement), ce qui suggère qu'il n'est pas très judicieux d'enseigner la grille à des dates antérieures.

Au milieu, les cycles ne sont pas aussi prononcés.

Et sans vouloir nous creuser la tête, nous devons juste faire entrer tous les mods dans le NS, en plus ils ne sont pas corrélés.

Ensuite, il reconnaîtra les différents cycles, et peut-être pas, une question philosophique, comme vous le faites sera :)