Saturday, February 18, 2017

Algorithme Génétique Forex Matlab

GEATbx - La boîte à outils Algorithm génétique et évolutionnaire pour Matlab La boîte à outils Algorithm génétique et évolutionnaire fournit des capacités d'optimisation globale dans Matlab pour résoudre des problèmes qui ne conviennent pas aux approches d'optimisation traditionnelles. Vous cherchez un moyen sophistiqué de résoudre votre problème au cas où il n'a pas de dérivés, est discontinu, stochastique, non linéaire ou a plusieurs minima ou maxima Le GEATbx devrait être votre méthode de choix algorithmes génétiques et évolutionnaires puissants trouver des solutions à vos problèmes - et son facile à utiliser. De nombreux exemples et démonstrations prêts à l'emploi vous donnent une longueur d'avance dans la configuration de votre problème, en sélectionnant l'algorithme d'optimisation approprié et en surveillant l'état et la progression de l'optimisation. Cela permet aux débutants et aux utilisateurs avancés d'obtenir rapidement des résultats. Afin de résoudre des problèmes importants et complexes. Le GEATbx contient des extensions nécessaires notamment pour l'optimisation des problèmes réels. Visualisation de l'état et progression de votre optimisation, optimisation multi-objectifs, gestion des contraintes, initialisation et visualisation spécifiques au problème. Multi-stratégie et soutien multi-population. La boîte à outils complète est écrite dans le langage Matlab ouvert (m fichiers). Cela vous permettra d'inspecter tous les exemples, toutes les démonstrations et toutes les fonctions. La boîte à outils peut facilement être modifiée ou étendue par vos propres fonctions personnalisées. Le GEATbx est livré avec une documentation complète. À l'aide des démonstrations incluses, le tutoriel vous guidera depuis vos premières optimisations jusqu'à la mise en œuvre de vos propres fonctions objectives et la sélection d'un algorithme d'optimisation approprié. Avec quelques étapes vous pouvez commencer à résoudre vos problèmes. Tous les aspects du GEATbx seront expliqués dans l'Introduction aux Algorithmes Évolutifs. La documentation Options et Paramètres et la description des fonctions Exemples. Les problèmes d'optimisation des paramètres (optimisation du contrôleur, contrôle du moteur, contrôle du climat, estimation des paramètres, optimisation des fonctions), les problèmes de commande (ordonnancement - TSP, VRP, JSSP.), Les problèmes de contraintes, les problèmes discrets et binaires (Sélection de la caractéristique, sac à dos), beaucoup de fonctions standard de référence uniques et multi-objectifs (DeJong, Rosenbrock, Rastrigin, Griewangk, Schwefel, Auckley, Deb, Zitzler, Fonseca.) Et beaucoup d'autres peuvent être résolus en utilisant le GEATbx. Voici ce que vous obtenez lorsque vous commandez le GEATbx Le code source complet (m-fichiers) du GEATbx, s'exécute sur n'importe quelle plate-forme Matlab (Matlab 6.1, 6.5, 7.x, R2006a, R2006b et plus récent). 19 démonstrations prêtes à l'emploi, 54 exemples de fonctions prêtes à l'emploi, des instructions étape par étape sur la configuration de votre optimisation (Tutorial), une Introduction aux Algorithmes Evolutionnaires expliquant les algorithmes génétiques et évolutifs, une documentation complète de l'algorithme évolutif Options de mise au point de vos optimisations, Nous vous proposons la Boîte à Outils Algorithmique Génétique et Evolutionnaire avec tout ce qui précède pour seulement 400 Euros (476 Euros TTC). Accès immédiat: Vous pourrez télécharger le GEATbx immédiatement afin que vous puissiez commencer immédiatement. Cliquez simplement sur le lien ci-dessous: Cliquez ici pour commander en toute sécurité et en toute sécurité le GEATbx par carte de crédit. (Géré par ShareIT). Cette offre a un remboursement de 100, sans questions, demandé satisfaction garantie. Garantie de 30 jours En 12 ans de développement de GEATbx nous avons résolu d'innombrables problèmes d'optimisation complexes en utilisant le GEATbx et aidé beaucoup d'autres utilisateurs à s'attaquer au leur. Notre propre et les autres besoins des utilisateurs de GEATbx ont été incorporés dans le développement continu du GEATbx. Les fonctionnalités avancées sont le résultat de ces expériences de longue date. D'une part, vous pouvez rapidement configurer un problème et exécuter l'optimisation. D'autre part, lorsque vos besoins grandissent et que votre problème devient plus grand et plus difficile, le GEATbx fournit toujours les fonctionnalités dont vous avez besoin pour résoudre votre problème d'optimisation avec succès. Vous pouvez vous concentrer sur la solution de votre problème le GEATbx fera le travail d'optimisation et fournit les outils dont vous avez besoin pour cela. Offre spéciale pour les étudiants et les universités: Nous savons que le prix de la GEATbx peut être un problème en dehors des entreprises. Ainsi, nous avons organisé des prix spéciaux pour les étudiants et les universités. Si vous étudiez ou enseignez dans une université, une école ou un établissement d'enseignement, nous vous offrons le GEATbx pour le prix spécial de seulement 250 Euros (297,50 Euros TTC 19). Vous pourrez également télécharger le GEATbx immédiatement afin que vous puissiez commencer immédiatement. Cliquez simplement sur le lien ci-dessous: Cliquez ici pour commander en toute sécurité et en toute sécurité le GEATbx (licence universitaire à usage unique) par carte de crédit, chèque. Cette offre est également livrée avec un remboursement de 100, sans questions, demandé satisfaction garantie. Garantie de 30 jours Outre les prix académiques, nous proposons également des offres spéciales pour les licences en classe, les licences multi-utilisateurs et les licences de site. GEATbx Détails des prix conditions et prix sur les différentes options. Évaluez en premier et payez si vous êtes satisfait Si vous souhaitez évaluer le GEATbx, veuillez consulter la page d'évaluation pour toutes les informations nécessaires. La page Contact fournit des détails sur le support technique. Sur la page de téléchargement, nous proposons des versions gratuites de la documentation du GEATbx (Introduction gratuite aux algorithmes évolutifs, le didacticiel pour le GEATbx). Les documents sont disponibles en format pdf et html. Un certain nombre de matlab m-fichiers pour le travail quotidien est également disponible. Autres implémentations d'EA Au fil des ans, nous avons collecté des liens vers d'autres implémentations d'Algorithmes Évolutionnaires dans Matlab. C'est un bon point de départ pour comparer d'autres implémentations avec les capacités du GEATbx. Burton a suggéré dans son livre, A Random Walk Down Wall Street, (1973) que, Un singe aux yeux bandés lancer des fléchettes sur les pages financières des journaux pourrait sélectionner Un portefeuille qui ferait tout aussi bien qu'une sélection soigneusement sélectionnée par les experts. Bien que l'évolution ait pu rendre l'homme plus intelligent à la cueillette des stocks, la théorie de Charles Darwins est très efficace lorsqu'elle est appliquée plus directement. (Pour vous aider à choisir des stocks, consultez Comment choisir un stock.) Quels sont les algorithmes génétiques Les algorithmes génétiques (AG) sont des méthodes de résolution de problèmes (ou heuristiques) qui imitent le processus d'évolution naturelle. Contrairement aux réseaux neuronaux artificiels (RNA), conçus pour fonctionner comme des neurones dans le cerveau, ces algorithmes utilisent les concepts de sélection naturelle pour déterminer la meilleure solution pour un problème. En conséquence, les AG sont couramment utilisés comme des optimiseurs qui ajustent les paramètres pour minimiser ou maximiser une certaine mesure de rétroaction, qui peut ensuite être utilisé indépendamment ou dans la construction d'une ANN. Sur les marchés financiers. Les algorithmes génétiques sont le plus couramment utilisés pour trouver les meilleures valeurs de combinaison de paramètres dans une règle de négociation, et ils peuvent être intégrés dans les modèles ANN conçus pour cueillir des actions et identifier les métiers. Plusieurs études ont démontré que ces méthodes peuvent s'avérer efficaces, y compris les algorithmes génétiques: Genesis of Stock Evaluation (2004) de Rama, et The Applications of Genetic Algorithms in Stock Market Data Mining Optimization (2004) par Lin, Cao, Wang, Zhang. (Pour en savoir plus sur ANN, voir Réseaux de neurones: Profits de prévision.) Comment fonctionnent les algorithmes génétiques Les algorithmes génétiques sont créés mathématiquement à l'aide de vecteurs, qui sont des quantités qui ont une direction et une grandeur. Les paramètres de chaque règle commerciale sont représentés par un vecteur unidimensionnel qui peut être considéré comme un chromosome en termes génétiques. En attendant, les valeurs utilisées dans chaque paramètre peuvent être considérées comme des gènes, qui sont alors modifiés en utilisant la sélection naturelle. Par exemple, une règle de négociation peut impliquer l'utilisation de paramètres tels que la convergence-divergence moyenne mobile (MACD). Moyenne mobile exponentielle (EMA) et stochastique. Un algorithme génétique introduirait alors des valeurs dans ces paramètres dans le but de maximiser le bénéfice net. Avec le temps, de petits changements sont introduits et ceux qui font un impact souhaitable sont retenus pour la prochaine génération. Il existe trois types d'opérations génétiques qui peuvent alors être effectuées: Les croisements représentent la reproduction et le croisement biologique vu en biologie, par lequel un enfant prend certaines caractéristiques de ses parents. Les mutations représentent une mutation biologique et sont utilisées pour maintenir la diversité génétique d'une génération d'une population à l'autre en introduisant de petits changements aléatoires. Les sélections sont l'étape à laquelle les génomes individuels sont choisis parmi une population pour une reproduction ultérieure (recombinaison ou croisement). Ces trois opérateurs sont ensuite utilisés dans un processus en cinq étapes: Initialiser une population aléatoire, où chaque chromosome est n-longueur, n étant le nombre de paramètres. Autrement dit, un nombre aléatoire de paramètres est établi avec n éléments chacun. Sélectionnez les chromosomes, ou les paramètres, qui augmentent les résultats souhaitables (probablement le bénéfice net). Appliquer des mutations ou des opérateurs de croisement aux parents sélectionnés et générer une progéniture. Recombiner la progéniture et la population actuelle pour former une nouvelle population avec l'opérateur de sélection. Répétez les étapes 2 à 4. Au fil du temps, ce processus se traduira par des chromosomes (ou paramètres) de plus en plus favorables à utiliser dans une règle commerciale. Le processus est alors terminé lorsqu'un critère d'arrêt est respecté, ce qui peut inclure le temps de fonctionnement, l'aptitude, le nombre de générations ou d'autres critères. (Pour en savoir plus sur MACD, lisez Trading The MACD Divergence.) Utilisation des algorithmes génétiques dans le commerce Alors que les algorithmes génétiques sont principalement utilisés par les commerçants institutionnels quantitatifs. Les commerçants individuels peuvent exploiter la puissance des algorithmes génétiques - sans un diplôme en mathématiques avancées - en utilisant plusieurs progiciels sur le marché. Ces solutions vont de paquets logiciels autonomes orientés vers les marchés financiers vers Microsoft Excel add-ons qui peuvent faciliter plus d'analyse pratique. Lors de l'utilisation de ces applications, les opérateurs peuvent définir un ensemble de paramètres qui sont ensuite optimisés à l'aide d'un algorithme génétique et d'un ensemble de données historiques. Certaines applications peuvent optimiser quels paramètres sont utilisés et leurs valeurs, alors que d'autres se concentrent principalement sur l'optimisation des valeurs pour un ensemble donné de paramètres. (Pour en savoir plus sur ces stratégies dérivées des programmes, voir La puissance des métiers du programme.) Conseils et astuces d'optimisation importants Le montage de la courbe (surfaçage), la conception d'un système commercial autour des données historiques plutôt que l'identification de comportements répétitifs représentent un risque potentiel pour les commerçants utilisant algorithmes génétiques. Tout système commercial utilisant des GA devrait être testé sur le papier avant l'utilisation en direct. Le choix des paramètres est une partie importante du processus et les opérateurs doivent rechercher des paramètres corrélés aux variations du prix d'un titre donné. Par exemple, essayez différents indicateurs et voyez si tout semble se corréler avec les virages du marché majeur. Les algorithmes génétiques sont des moyens uniques pour résoudre des problèmes complexes en exploitant la puissance de la nature. En appliquant ces méthodes à la prévision des prix des titres, les opérateurs peuvent optimiser les règles de négociation en identifiant les meilleures valeurs à utiliser pour chaque paramètre pour un titre donné. Cependant, ces algorithmes ne sont pas le Saint Graal, et les commerçants devraient faire attention de choisir les bons paramètres et pas l'ajustement de courbe. (Pour en savoir plus sur le marché, consultez Écoutez le marché, pas ses experts.) Le ratio de Sharpe est une mesure pour calculer le rendement ajusté au risque, et ce ratio est devenu la norme de l'industrie pour de tels. Le fonds de roulement est une mesure à la fois de l'efficacité d'une entreprise et de sa santé financière à court terme. Le fonds de roulement est calculé. L'Environmental Protection Agency (EPA) a été créée en décembre 1970 sous la présidence du président américain Richard Nixon. Le. Un règlement mis en œuvre le 1er janvier 1994, qui a diminué et a finalement éliminé les tarifs douaniers pour encourager l'activité économique. Une norme permettant de mesurer la performance d'un titre, d'un fonds commun de placement ou d'un gestionnaire de placements. Portefeuille mobile est un portefeuille virtuel qui stocke les informations de carte de paiement sur un périphérique mobile. SnowCron Algorithme génétique dans les systèmes de négociation FOREX Utilisation de l'algorithme génétique pour créer rentable FOREX Trading Strategy. Algorithme génétique dans le réseau de réseaux neuronaux du cortex Feedforward Backpropagation Réseau neuronal Application pour les calculs génétiques basés trading Forex. Cet exemple utilise des concepts et des idées de l'article précédent, alors s'il vous plaît lisez Algorithme génétique réseau neuronal dans Forex Trading Systems d'abord, mais il n'est pas obligatoire. À propos de ce texte Tout d'abord, veuillez lire l'avertissement. Ceci est un exemple d'utilisation de la fonctionnalité de l'algorithme génétique du logiciel de réseaux neuronaux de Cortex, et non un exemple de la façon de faire du commerce rentable. Je ne suis pas votre gourou, je ne devrais pas non plus être responsable de vos pertes. Cortex Neural Networks Software a des réseaux de neurones en elle, et FFBP nous avons discuté avant est seulement une façon de choisir des stratégies de trading forex. C'est une bonne technique, puissante et appliquée correctement, très prometteuse. Cependant, il a un problème - pour enseigner le Réseau Neural. Nous devons connaître la sortie souhaitée. Il est assez facile de le faire lorsque nous faisons l'approximation de la fonction, nous prenons simplement la valeur réelle d'une fonction, parce que nous savons ce qu'elle devrait être. Quand nous faisons des prévisions de réseaux neuronaux. Nous utilisons la technique (décrite dans les articles précédents) d'enseigner le réseau neuronal sur l'histoire, encore une fois, si nous prédisons, disons, un taux de change, nous savons (pendant la formation) ce que la prédiction correcte est. Cependant, lorsque nous construisons un système de négociation, nous n'avons aucune idée de ce que la décision de négociation correcte est, même si nous savons le taux de change Comme la question de fait, nous avons beaucoup de stratégies de trading de forex, nous pouvons utiliser à tout moment, Nous devons trouver un bon - comment Que devons-nous nourrir comme la sortie souhaitée de notre réseau neuronal Si vous avez suivi notre article précédent, vous savez, que nous avons triché pour faire face à ce problème. Nous avons enseigné le réseau neuronal pour faire la prévision du taux de change (ou taux de change basé indicateur), puis utilisé cette prédiction pour faire du commerce. Ensuite, en dehors de la partie réseau neuronal du programme, nous avons pris une décision sur quel réseau neuronal est le meilleur. Algorithmes génétiques peuvent traiter ce problème directement, ils peuvent résoudre le problème déclaré comme trouver les meilleurs signaux commerciaux. Dans cet article, nous allons utiliser Cortex Neural Networks Software pour créer un tel programme. Utilisation de l'algorithme génétique Les algorithmes génétiques sont très bien développés et très divers. Si vous voulez en savoir plus sur eux, je vous suggère d'utiliser Wikipedia, car cet article est seulement sur ce que le logiciel Cortex Neural Networks peut faire. Avoir un logiciel de réseaux neuronaux Cortex. Nous pouvons créer un réseau neuronal qui prend une certaine entrée, disons, les valeurs d'un indicateur, et produit une certaine sortie, disons, les signaux de négociation (acheter, vendre, tenir.) Et arrêter la perte de prendre des niveaux de profit pour les postes à ouvrir. Bien sûr, si nous semons ce réseau neuronal poids s au hasard, les résultats commerciaux seront terribles. Cependant, disons que nous avons créé une douzaine de tels NN. Ensuite, nous pouvons tester la performance de chacun d'entre eux, et choisir le meilleur, le gagnant. C'était la première génération de NN. Pour continuer à la deuxième génération, nous devons permettre à notre gagnant de procréer, mais pour éviter d'obtenir des copies identiques, ajoute un peu de bruit aléatoire à ses poids descendants. Dans la deuxième génération, nous avons notre gagnant de première génération et ses copies imparfaites (mutées). Permet de faire des tests à nouveau. Nous aurons un autre gagnant, qui est MIEUX alors tout autre réseau neuronal dans la génération. Etc. Nous permettons simplement aux gagnants de se reproduire, et d'éliminer les perdants, tout comme dans l'évolution de la vie réelle, et nous obtiendrons notre meilleur réseau commercial de neurones. Sans aucune connaissance préalable sur ce que le système commercial (algorithme génétique) devrait être comme. Réseau neuronal Algorithme génétique: Exemple 0 C'est le premier exemple d'algorithme génétique. Et un très simple. Nous allons le parcourir étape par étape, pour apprendre toutes les astuces que les exemples suivants utiliseront. Le code contient des commentaires en ligne, alors laissez-nous nous concentrer sur les moments clés. Tout d'abord, nous avons créé un réseau de neurones. Il utilise des poids aléatoires et n'a pas encore été enseigné. Ensuite, en cycle, nous en faisons 14 copies, en utilisant MUTATIONNN fumction. Cette fonction fait une copie d'un réseau neuronal source. En ajoutant des valeurs aléatoires de 0 à (dans notre cas) 0,1 à tous les poids. Nous gardons les poignées à 15 NNs résultants dans un tableau, nous pouvons le faire, car handle est juste un nombre entier. La raison pour laquelle nous utilisons 15 NNs n'a rien à voir avec la négociation: Cortex Neural Networks Software peut tracer jusqu'à 15 lignes sur un graphique simultanément. Nous pouvons utiliser différentes approches pour les tests. Tout d'abord, nous pouvons utiliser l'ensemble d'apprentissage, tout cela à la fois. Deuxièmement, nous pouvons tester sur, disons, 12000 resords (sur 100000), et marcher à travers l'ensemble d'apprentissage, du début à la fin. Cela rendra les apprentissages différents, car nous allons chercher des réseaux neuronaux qui sont rentables sur une partie donnée de données, et pas seulement sur l'ensemble. La deuxième approche peut nous donner des problèmes, si les données changent, du début à la fin. Ensuite, le réseau va évoluer, l'obtention de la capacité de négocier à la fin de l'ensemble de données, et la perte de la capacité de négocier à son début. Pour résoudre ce problème, nous allons prendre des fragments de 12000 enregistrements aléatoires à partir de données, et de l'alimenter au réseau neuronal. Est simplement un cycle sans fin, car 100000 cycles ne seront jamais atteints à notre vitesse. Ci-dessous nous ajoutons un enfant pour chaque réseau, avec des poids légèrement différents. Notez que 0.1 pour mutation tange n'est pas le seul choix, comme la question de fait, même ce paramètre peut être optimisé en utilisant l'algorithme génétique. Les NN nouvellement créés sont ajoutés après 15 noms existants. De cette façon, nous avons 30 NN dans un tableau, 15 anciens et 15 nouveaux. Ensuite, nous allons faire le prochain cycle de tests, et de tuer les perdants, des deux générations. Pour faire des tests, nous appliquons le réseau neuronal à nos données, pour produire des sorties, puis appelez la fonction Test, qui utilise ces sorties pour simuler la négociation. Les résultats de la négociation sont utilisés pour deside, qui NNs sont les meilleurs. Nous utilisons un intervalle de nLearn enregistrements, de nStart à nStart nLearn, où nStart est un point aléatoire dans le jeu d'apprentissage. Le code ci-dessous est un truc. La raison pour laquelle nous l'utilisons est d'illustrer le fait que l'algorithme génétique peut créer un algorithme génétique. Mais ce ne sera pas nécessairement le meilleur, et aussi, pour suggérer, que nous pouvons améliorer le résultat, si nous impliquons quelques limitations au processus d'apprentissage. Il est possible que notre système de négociation fonctionne très bien sur les longs métiers, et très faible sur court, ou vice versa. Si, par exemple, les métiers longs sont TRÈS bons, cet algorithme génétique peut gagner, même avec des pertes importantes sur les métiers de courte durée. Pour l'éviter, nous attribuons plus de poids aux métiers longs dans les métiers bizarres et courts dans des cycles pairs. C'est juste un exemple, il n'y a aucune garantie, qu'il améliorera quelque chose. Plus d'informations ci-dessous, dans la discussion sur les corrections. Techniquement, vous n'avez pas à le faire, ou peut le faire différemment. Ajoutez du profit à un tableau trié. Il renvoie une position d'insertion, puis nous utilisons cette position pour ajouter le gestionnaire de réseau neuronal, l'apprentissage et les bénéfices de test aux matrices non triées. Maintenant nous avons des données pour le réseau neuronal actuel au même indice de tableau que son profit. L'idée est d'arriver à un tableau de NN, triés par la rentabilité. Comme le tableau est trié par le profit, pour supprimer 12 des réseaux, qui sont moins rentables, nous avons juste besoin d'enlever NNs 0 à 14 Les décisions commerciales sont basées sur la valeur du signal réseau neuronal, de ce point de vue le programme est identique à des exemples de Article précédent. Stratégie Trading FOREX: Discuter exemple 0 Tout d'abord, nous allons jeter un oeil à des graphiques. Le premier graphique de profit au cours de la première itération n'est pas bon du tout, comme on peut s'y attendre, le réseau neuronal perd de l'argent (image evolution00gen0.png copié après la première itération du dossier images): L'image pour le profit sur le cycle 15 est meilleure, parfois , Algorithme génétique peut apprendre très vite: Cependant, remarquez la saturation sur une courbe de profit. Il est intéressant également de regarder la façon dont les profits individuels changent, en gardant à l'esprit, que le nombre de courbes, disons, 3 n'est pas toujours pour le même réseau neuronal. Comme ils sont nés et résiliés tout le temps: Notez également, que peu Forex système commercial automatisé effectue pauvres sur les métiers de courte durée, et beaucoup mieux sur longs, qui peut ou non être lié au fait, que le dollar a été en baisse par rapport à Euro pendant cette période. Il peut aussi avoir quelque chose à voir avec les paramètres de notre indicateur (peut-être, nous avons besoin de période différente pour les courts métrages) ou le choix des indicateurs. Voici l'histoire après 92 et 248 cycles: À notre grande surprise, l'algorithme génétique a échoué complètement. Essayons de comprendre pourquoi, et comment aider la situation. Tout d'abord, n'est pas chaque génération censé être mieux que le previuos La réponse est non, du moins pas dans le modèle que nous avons utilisé. Si nous avons pris ENTIER apprentissage ensemble à la fois, et utilisé à plusieurs reprises pour enseigner nos NN, alors oui, ils vont améliorer sur chaque génération. Mais au lieu de cela, nous avons pris des fragments aléatoires (12000 enregistrements dans le temps) et les avons utilisés. Deux questions: pourquoi le système a échoué sur des fragments aléatoires de l'ensemble d'apprentissage, et pourquoi havent nous avons utilisé tout ensemble d'apprentissage Bien. Pour répondre à la deuxième question, je l'ai fait. NNs ont accompli beaucoup - sur l'ensemble d'apprentissage. Et ils ont échoué sur l'ensemble de tests, pour la même raison, il échoue lorsque nous avons utilisé l'apprentissage FFPB. En d'autres termes, nos NN se sont surspécialisés, ils ont appris à survivre dans l'environnement auquel ils sont habitués, mais pas à l'extérieur. Cela arrive beaucoup dans la nature. L'approche que nous avons prise à la place était destinée à compenser cela, en obligeant NNs à effectuer de bonnes sur n'importe quel fragment aléatoire de l'ensemble de données, de sorte que, espérons-le, ils pourraient également effectuer sur un ensemble de tests peu familier. Au lieu de cela, ils ont échoué à la fois sur les tests et sur l'ensemble d'apprentissage. Imaginez des animaux, vivant dans un désert. Beaucoup de soleil, pas de neige du tout. Il s'agit d'une métafor pour rizing marché, comme pour nos données NNs jouer le rôle de l'environnement. Les animaux ont appris à vivre dans un désert. Imaginez des animaux qui vivent dans un climat froid. Neige et pas de soleil du tout. Eh bien, ils ont ajusté. Cependant, dans notre expérience, nous avons placé au hasard nos NN dans un désert, dans la neige, dans l'eau, sur les arbres. En les présentant avec différents fragments de données (hausse aléatoire, baisse, plat.). Des animaux sont morts. Ou, pour le dire autrement, nous avons sélectionné le meilleur réseau neuronal pour l'ensemble de données aléatoires 1, qui, disons, était pour la hausse du marché. Ensuite, nous avons présenté, aux gagnants et à leurs enfants, une baisse des données sur les marchés. NNs mal exécuté, nous avons pris le meilleur des artistes pauvres, peut-être, l'un des enfants mutants, qui a perdu la capacité de commerce sur la hausse du marché, mais a obtenu une certaine capacité à faire face à la chute. Ensuite, nous avons tourné la table à nouveau, et encore, nous avons obtenu le meilleur interprète - mais le meilleur parmi les mauvais interprètes. Nous n'avons tout simplement pas donner à nos NN toutes les chances de devenir universel. Il existe des techniques permettant à l'algorithme génétique d'apprendre de nouvelles informations sans perdre de performance sur de vieilles informations (après tout, les animaux peuvent vivre en été et en hiver, à droite). Nous pouvons discuter de ces techniques plus tard, bien que cet article est plus sur l'utilisation de Cortex Neural Networks Software. Que sur la construction d'un système de trading automatisé forex succès. Algorithme génétique du réseau neuronal: Exemple 1 Il est maintenant temps de parler de corrections. Un algorithme génétique simple que nous avons créé au cours de l'étape précédente comporte deux failles majeures. Premièrement, il n'a pas échangé avec le profit. Il est ok, nous pouvons essayer d'utiliser partiellement formé système (il était rentable au début). Le deuxième défaut est plus grave: nous n'avons aucun contrôle sur les choses, que ce système fait. Par exemple, il peut apprendre à être rentable, mais avec des tirages énormes. C'est un fait bien connu, que dans la vie réelle, l'évolution peut optimiser plus d'un paramètre simultanément. Par exemple, nous pouvons obtenir un animal, qui peut courir vite et être résistant au froid. Pourquoi ne pas essayer de faire de même dans notre système de trading automatisé forex. C'est quand nous utilisons des corrections, qui ne sont rien d'autre que l'ensemble des peines supplémentaires. Disons, notre système trades avec drawdown 0,5, alors que nous voulons le confirmer à 0 - 0,3 intervalle. Pour dire au système qu'il a fait une erreur, nous diminuer son bénéfice (un utilisé pour déterminer, quel algorithme génétique a gagné) au degré, qui est proportionnel à la taille de DD. Ensuite, l'algorithme d'évolution s'occupe du reste. Il y a peu d'autres facteurs que nous voulons prendre en considération: nous pouvons vouloir avoir un nombre plus ou moins égal d'opérations d'achat et de vente, nous voulons avoir plus d'opérations rentables, puis d'échecs, Être linéaire et ainsi de suite. Dans evolution01.tsc, nous mettons en œuvre un ensemble simple de corrections. Tout d'abord, nous utilisons un grand nombre pour une valeur de correction initiale. Nous le multiplions à une petite (habituellement, entre 0 et 1) valeurs, en fonction de la punition que nous voulons appliquer. Ensuite, nous multiplions notre profit par cette correction. En conséquence, le profit est corrigé, pour refléter à quel point l'algorithme génétique correspond à nos autres critères. Ensuite, nous utilisons le résultat pour trouver un réseau neuronal gagnant. Stratégie de trading FOREX: Discussion de l'exemple 1 L'exemple 1 fonctionne beaucoup mieux que l'exemple 0. Au cours des 100 premiers cycles, il a appris beaucoup, et les graphiques de profit semblent rassurants. Cependant, comme dans l'exemple 0, les métiers longs sont beaucoup plus rentables, ce qui signifie très probablement qu'il ya un problème dans notre approche. Néanmoins, le système a trouvé un équilibre entre deux conditions initiales contradictoires: Il ya une certaine dynamique positive à la fois dans le jeu d'apprentissage et, plus important, dans l'ensemble de tests. En ce qui concerne les apprentissages ultérieurs, au cycle 278, nous pouvons voir que notre système a été surexposé. Cela signifie que nous avons encore des progrès sur le jeu d'apprentissage: Mais l'ensemble de tests montre la faiblesse: C'est un problème commun avec les NN: quand on l'enseigne sur le jeu d'apprentissage, il apprend à y faire face et parfois, il apprend trop bien - Degré, quand il perd la performance sur l'ensemble d'essai. Pour faire face à ce problème, une solution traditionnelle est utilisée: nous continuons à chercher le réseau neuronal. Qui effectue le meilleur sur le jeu de test, et l'enregistrer, en écrasant le meilleur précédent, chaque fois que le nouveau pic est atteint. C'est la même approche, nous avons utilisé dans la formation FFBP, sauf, cette fois, nous devons le faire nous-mêmes (l'ajout de code, qui cherche un meilleur réseau neuronal sur un ensemble de tests, et d'appeler SAVENN, ou d'exporter des poids de réseau neuronal à un fichier). De cette façon, lorsque vous arrêtez votre formation, vous aurez le meilleur interprète sur le SET test enregistré et vous attend. Notez également que ce n'est pas le max. Profit que vous êtes après, mais les performances optimales, alors envisager d'utiliser des corrections, lors de la recherche d'un meilleur interprète sur un ensemble de tests. Algorithme génétique pour l'analyse technique de FOREX: Où maintenant Après que vous ayez obtenu votre réseau de neurones gagnant. Vous pouvez suivre les étapes, décrites dans l'article précédent, pour exporter les poids de ce réseau neuronal. Et puis de les utiliser dans votre plateforme de trading en temps réel, comme Meta Trader, Trade Station et ainsi de suite. Alternativement, vous pouvez vous concentrer sur d'autres façons d'optimiser le réseau neuronal. Contrairement à l'algorithme FFBP, ici vous pouvez obtenir avay d'utiliser des ensembles d'apprentissage et de test, et de déplacer l'apprentissage séquentiel. Télécharger Cortex Order Cortex Voir la liste des prix La visibilité est très importante pour ce site. Si vous le désirez, veuillez accéder à cette URL


No comments:

Post a Comment