Depuis le début des années 90, lorsque les premiers types pratiquement utilisables ont émergé, les réseaux neuronaux artificiels (RNAs) ont rapidement gagné en popularité. Ce sont des systèmes de logiciels adaptatifs d'intelligence artificielle qui ont été inspirés par le fonctionnement des réseaux neuronaux biologiques. Leur utilisation vient parce qu'ils peuvent apprendre à détecter des modèles complexes dans les données. En termes mathématiques, ce sont des approximateurs de fonctions non linéaires universels qui, étant donné les bonnes données et configurés correctement, permettent de saisir et de modéliser les relations entrées-sorties. Cela supprime non seulement la nécessité d'une interprétation humaine des graphiques ou la série de règles pour générer des signaux d'entrée-sortie, mais fournit également un pont vers l'analyse fondamentale car ce type de données peut être utilisé comme entrée. De plus, comme les RNA sont des modèles statistiques essentiellement non linéaires, leurs capacités de précision et de prédiction peuvent être testées mathématiquement et empiriquement. Dans diverses études, les réseaux de neurones utilisés pour générer des signaux commerciaux ont significativement surpassé les stratégies buy-hold ainsi que les méthodes traditionnelles d'analyse technique linéaire. Alors que la nature mathématique avancée de ces systèmes adaptatifs ont gardé des réseaux neuronaux pour l'analyse financière principalement dans les cercles de recherche universitaires, ces dernières années plus convivial réseau de réseaux neuronaux a rendu la technologie plus accessible aux commerçants. (J. Moody) Exemple typique publié (de la littérature): Synthèse de l'opération: Le trader, souhaitant quantifier la relation entre un groupe Du cours des actions ou des actions et / ou des indices, entre les guichets en majuscules, séparés par des virgules. Les devis et les volumes d'actions historiques et en temps réel nécessaires sont recherchés et comparés automatiquement. Le réseau neuronal recherche une relation mathématique non linéaire (pattern) reliant les prix et les volumes au ticker d'intérêt, tandis que l'utilisateur participe en contrôlant un ajustement de sensibilité (aussi appelé momentum). Lorsque la sensibilité est alors réglée à zéro, les graphiques montrent deux années de Un backtesting correct et rigoureux. Par lequel l'utilisateur peut évaluer visuellement si la relation est valable tout au long du temps historique. La relation est étendue dans l'avenir pour faire une prévision, par le nombre de jours que l'utilisateur a mis sur le curseur pendant la formation. Il n'y a pas d'indicateur buysell: la fiabilité de la prévision dépend de la vérification visuelle des utilisateurs de la correspondance entre les deux graphes obtenus lors du backtesting et de son estimation de la probabilité que la relation mathématique qui a été trouvée continuera à tenir à l'avenir . Instructions pour l'utilisateur 1. Pensez à une liste de tickers qui sont susceptibles d'être mathématiquement liés, au fil du temps. C'est l'étape la plus difficile - mathématiquement liée ne signifie pas qu'ils se comportent de façon similaire. 2. Localisez l'étiquette qui indique le groupe associé de Tickers. En dessous, supprimez l'échantillon de listes de tickers qui peuvent être présents et entrez les noms des tickers que vous souhaitez analyser, en majuscules et séparés par des virgules. 3. Choisissez une source de données à partir du bouton Fichier: en haut du programme. La possibilité la plus simple est de charger à partir d'Internet. Le programme sait comment rechercher la liste standard de sites de domaine public, y compris Google, Yahoo et MSN et placer un fichier texte brut appelé Internet. txt dans le dossier GoldenGem, qui aura des colonnes pour Date, Ticker, Open, High, Low, Close , Et Volume, avec des entrées séparées par des virgules. Les paramètres par défaut dans StockDownloader sont configurés pour charger la même liste de stocks que vous avez saisie dans GoldenGem, jusqu'au prix de clôture le plus récent. Si vous êtes satisfait de cette sélection, appuyez sur le bouton Charger sur StockDownloader. (Le StockDownloader est juste un outil de débutants, il est prévu que vous serez plus tard passer de l'analyse technique à l'analyse fondamentale de trouver vos propres données à partir d'autres sites Web cliquez ici pour savoir comment faire.) 4. Utilisez les flèches haut et bas sur votre Clavier pour choisir lequel des différents graphiques que vous souhaitez voir (ou vous pouvez utiliser le bouton du menu déroulant, près des lettres TK à droite de l'écran). Cliquer pour continuer 5. Vous verrez trois traces colorées sur chaque graphique. La trace rouge est le graphique du cours de l'action sélectionnée sur deux années de temps historique. Le graphique vert montre l'utilisation de l'intelligence artificielle par les réseaux neuronaux pour prédire le graphique rouge, tout au long du temps historique, combinant simultanément toutes les informations relatives au volume et au prix de toutes les actions. Il ya aussi un graphique bleu, qui montre où le graphique vert serait aller si elle prédit parfaitement. 6. Augmentez la sensibilité et attendez que le graphique vert corresponde au graphique bleu, puis diminuez la sensibilité à zéro (le bas du curseur). Cela est mieux fait par étapes, sur de nombreuses itérations, que vous êtes enlevant l'entrée de formation. Si les graphes vert et bleu correspondent bien lorsque la sensibilité est nulle, cela signifie que la courbe verte a appris à prédire la copie d'avance de la courbe rouge tout au long du temps historique, en regardant uniquement les effets de plusieurs jours dans le passé comme vous l'avez sélectionné Le curseur des jours. La courbe verte n'a donc pas besoin de se terminer à la date Chargée Jusqu'à, mais peut continuer le calcul pour un nombre égal de jours à venir. Vous voyez cela dans la première capture d'écran comme la partie de la courbe verte qui s'étend trois semaines après la ligne bleue verticale. 7. La prédiction numérique pour l'augmentation ou la diminution future sera également affichée en haut à droite de l'écran. Un affichage de texte indiquera, par exemple: Changement prévu dans les 15 prochains jours ouvrables: 2.35. Pour des instructions plus détaillées, allez à la page FAQ (cliquez ici) Pour les spécifications techniques, cliquez ici Autres sources de données: Outre l'utilisation de StockDownloader, il existe d'autres options pour obtenir des données. Pour trois exemples de début, vous pouvez choisir Charger à partir du fichier, pour charger les données que vous avez peut-être téléchargées auparavant, comme le fichier standard et pauvre 500 sp500hst. txt qui utilise les mêmes conventions de fichier standard que GoldenGem et peut être obtenu en tant que fichier Appelé fullset. zip de biz. swcpstocks télécharger une collection de fichiers. csv (certaines des données du marché boursier et certaines des données Forex) de par exemple forexrate. co. ukforexhistoricaldata. php. L'exportation de données csv sur ce site fonctionne en faisant défiler avec les touches fléchées haut et bas. Sélectionnez 500 points de données, 1 jour et divisez par virgule. Changez le nombre de vol dans GoldenGem à la colonne 4, entrez les noms de ticker que vous souhaitez dans GoldenGem et choisissez Importer dans un dossier. Ensuite, accédez à tout dossier contenant les fichiers. csv. Coller ou de type dans un fichier texte de votre propre utilisation de Wordpad, comme expliqué dans le lien ci-dessous télécharger un fichier de 2 ans ou plus de données quotidiennes de la Bank of England Base de données statistiques bankofengland. co. ukstatisticsindex. htm Choisissez columnular (avec les titres si tu souhaites). Cela crée un fichier appelé results. csv. Définissez les numéros de position du fichier cocher, date près de 2,1,3 et laissez la fenêtre vol vide. Tapez le sous-ensemble de noms de marqueurs que vous souhaitez commencer. Choisissez Parcourir un nouveau fichier à partir du bouton Fichier GoldenGems. Choisissez des fichiers séparés par des virgules (csv) au bas de la boîte de sélection de fichier et sélectionnez results. csv, le fichier que vous venez de télécharger à partir de Bank of England. Disponibilité: Essayer en ligne Si vous disposez d'un système d'exploitation Windows XP, avec Internet Explorer ou Mozilla, vous trouverez peut-être qu'il n'est pas nécessaire d'installer le programme à tous les youre invités à cliquer ici pour l'essayer en ligne. Pour Internet Explorer, sélectionnez exécuter au lieu d'enregistrer. Pour Mozilla, choisissez enregistrer puis ouvrir. Le lien ci-dessus est un petit fichier de 504 K appelé GoldenGem Viewer. Choisissez de charger des tickers depuis Internet à partir du menu Fichier:, puis utilisez le menu à droite de l'écran pour passer d'un graphique à l'autre. Si c'est la première fois que vous avez formé un réseau de neurones, pensez-y comme une sorte de jeu vidéo, où le but est de rendre les deux feux indicateurs restent verts. Installation complète: 2. Le site de téléchargement, qui délivre le même fichier, vérifie que les logiciels qu'ils proposent sont exempts d'adware, de logiciels espions ou de virus et qu'il s'installe et désinstalle correctement. Peu importe si vous téléchargez à partir du lien local ou à partir du téléchargement. Consignes de sécurité: 2. Signature numérique. Le menu des propriétés pour les fichiers signés numériquement comprend toujours un onglet Signatures numériques supplémentaire pour s'assurer qu'un fichier n'a jamais été modifié. Il vous permet de vérifier les informations suivantes: Nom du fichier: setupv. exe Taille du fichier: 2.05 Mo Systèmes d'exploitation pris en charge par la version 2.4 Windows 98, 2000, NT, XP Vista et Windows 7. Avantages: Prévisions de référence des fonctions mathématiques abstraites, Montrés sur ce site, ont été largement vérifiés. Les spécifications techniques sont celles qui ont été jugées les plus efficaces dans la prévision du marché boursier. L'algorithme a été largement utilisé pendant de nombreuses années dans la finance, le commerce et l'investissement, la gestion de portefeuille. Il est établi comme un calcul fiable et précieux. L'algorithme est la seule façon fiable dans laquelle il est possible d'examiner simultanément les effets combinés d'un nombre de prix et de volumes. Testez votre copie de GoldenGem Weve a fait un fichier de tickers nommés x, y, z, w contenant 10 sin (i10), 10 cos (i10), 10 cos 2 (i10) sin (i10) 10 cos (i10) et 10 Sin 2 (i10) -10 cos (i10) -10. Pour i1 à 400. Cliquez avec le bouton droit sur proof2.txt et choisissez Enregistrer la cible. Définissez les noms de marqueur x, y, z, w et les numéros de position de fichier 1 (blanc) 2 (blanc) comme dans la capture d'écran ci-dessous. Appuyez sur le bouton Fichier:, sélectionnez Parcourir le nouveau fichier et localisez le fichier proof2.txt que vous venez de télécharger. Ensuite, amusez-vous Le fait weve utilisé répéter les fonctions est juste pour que le spectateur peut reconnaître si les prédictions sont correctes. Le programme n'utilise pas le fait qu'ils répètent des fonctions de quelque façon que ce soit. Notez que puisque le curseur DAYS est réglé sur 21, le changement prévu est donné 15 points de données à l'avance, comme le curseur DAYS est en termes de jours réels, y compris les week-ends, donc il indiquera que la prédiction est de 15 jours ouvrables en l'avenir. L'inscription est gratuite. Le programme est gratuit et une clé d'enregistrement peut être obtenue ici. La théorie des réseaux de neurones Mathématiquement, la théorie des réseaux de neurones est assez trivial. Cela dit, il est également vrai que le développement de la théorie aurait progressé plus rapidement si la compréhension mathématique de base avait été appliquée au début. On suppose que l'on sait qu'une carte linéaire est donnée par une matrice avec n colonnes et m lignes, dont les entrées sont des nombres réels. Un composite de telles cartes linéaires est de nouveau une carte linéaire, et la matrice représentant le composite est le produit des matrices représentant les facteurs séparés. Par conséquent, l'ensemble de fonctions qui peut être représenté comme un composite de cartes linéaires n'est pas plus grand que l'ensemble de fonctions qui peuvent être représentées par une seule matrice. Juste pour rendre les choses concrètes, si nous essayons de trouver une fonction qui détermine le prix d'une part d'IBM, en termes de prix et de volumes de cinq actions, en utilisant une fonction linéaire, nous choisissons une fonction à partir d'un espace de dix dimensions De fonctions ou, nous choisissons les dix entrées d'une matrice avec une seule ligne et dix colonnes. Une notion de ce que ces entrées devraient être est celle qui donne la moindre erreur, au sens des moindres carrés. Pourvu que les cours des actions soient normalisés pour avoir un zéro moyen et un écart type un, ces dix nombres sont ce que l'on appelle les coefficients de régression linéaire. Le nouvel ingrédient dans les réseaux neuronaux est qu'après avoir appliqué une matrice à un vecteur, nous appliquons alors une fonction de transition à chaque entrée du nouveau vecteur. Si nous répétons ce que nous venons de faire, le résultat ne sera pas très différent. Certaines des différences sont qu'il n'est pas garanti qu'il y ait une séquence de dix coefficients qui donne le meilleur ajustement, deux séquences de dix pourraient donner un ajustement également bon. En outre, il sera impossible de saisir des valeurs qui dépassent la portée de notre fonction de transition. Ceux-ci semblent comme des inconvénients. Mais il ya d'énormes avantages compensatoires. En effet, un ensemble de fonctions de ce type (application d'une matrice, puis application d'une fonction de transition à chaque entrée de la réponse) n'est pas identique à une seule fonction de ce type. Par exemple, le composite de cartes linéaires va (si cinq parts sont chargées) et il y a dix neurones dans la couche intermédiaire R 11 8594 R 10 8594 R 10 8594 R 5 Pour faire une comparaison équitable, en calculant une sortie, nous Ne regardent que l'un des facteurs de R 5. Donc, le nombre d'entrées matricielles utilisées pour le même calcul est 11 215 10 10 215 10 10 215 1220 Ainsi, au lieu d'un espace à dix dimensions des fonctions, Des fonctions. Ensuite, pour simplifier les choses, écrivons toutes les différentes entrées matricielles comme une suite de variables où m est un nombre qui peut aller jusqu'à, comme nous l'avons vu, 220. Et écrivons les variables d'entrée comme x1. Xn où dans notre exemple de cinq actions, n est juste dix. En fait, n est onze parce que nous utilisons une variable de biais qui est l'entrée constante. Maintenant, notre réseau de neurones, ou la partie de celui-ci qui calcule une variable de sortie unique, est juste une fonction où V est le maximum de la volatilité annuelle réelle et prédite exprimée en points de pourcentage. Cette prise de V pour être le maximum de la volatilité réelle et prédite semble artificielle, mais c'est exactement ce qu'on veut. Si r et V ont été définis en utilisant uniquement la volatilité réelle, alors une stratégie consistant à s'appuyer sur une information a posteriori existerait pour obtenir des rendements trompeusement bons au cours du test en arrière qui ne résultent pas vraiment d'une prédiction: une réponse lente, dans laquelle la courbe verte reste proche La moyenne de 2 ans correspondrait à une stratégie consistant à prévoir toujours un retour soudain à la moyenne de 2 ans, qui au cours du backtesting comprend la connaissance des jours futurs et serait injustement récompenser le seul coefficient de corrélation. Alors que si r et V étaient définis en utilisant uniquement la volatilité prédite, il n'y aurait pas de relation intrinsèque entre r et le gain en pourcentage réel: une grande valeur r pourrait provenir d'une prédiction à très faible variance. La valeur de r telle que nous l'avons définie exclut ces deux problèmes, et semble correspondre à ce qui ressemble à un backtesting intuitivement bon. La première lumière est jaune lorsque la valeur r est supérieure à 0,39 et verte quand elle est supérieure à 0,6. La deuxième lumière passe du rouge au jaune au vert lorsque l'entrée d'apprentissage est supprimée. Vous devrez essayer différentes combinaisons de variables d'entrée avant que vous ne puissiez faire que les deux lumières restent vertes en même temps. Si les lumières ne peuvent pas être faites pour rester vert, la réponse à votre question est, la prédiction est sans signification. Si les lumières restent en vert, cela signifie qu'une relation a été trouvée qui a été en mesure de faire des prédictions réussies pendant l'intervalle de backtesting. Lorsque les deux lumières sont restées vertes, cela implique-t-il que la prédiction peut être digne de confiance Pas encore. Même si l'on tient compte du rapport de variance, la formulation en termes de bénéfices montre que ce nombre pourrait être assez élevé pour donner le feu vert, simplement parce que certains des métiers hypothétiques étaient extrêmement rentables, d'autres pas du tout. Vous devez également regarder le comportement de la ligne de prédiction, la partie de la ligne verte s'étendant dans l'avenir, passé la ligne rouge, tout au long de backtesting, et de voir qualitativement comment il est cohérente correctement. Lorsque la sensibilité est réglée à zéro, il n'y a pas d'entrée d'entraînement et le graphique vert est calculé uniquement en utilisant les valeurs de données de toutes les variables de l'époque du graphique rouge précédent, et toute prédiction que vous voyez montre une relation mathématique réelle pendant le test. Enfin, vous n'êtes toujours pas tout à fait fait. Même si vous avez évalué à la fois statistiquement et visuellement que les prédictions à travers le backtesting sont bonnes, pour être vraiment sûr que les variables que vous regardez sont liés, vous devez définir la date d'aujourd'hui dans StockDownloader à un moment dans le passé, À plusieurs reprises dans le passé, et former le filet pour prédire une gamme de valeurs que vous connaissez réellement déjà. Il s'agit d'un jeu de données de validation, et la prochaine version de GoldenGem rendra cette dernière étape de validation plus facile. Il existe des relations entre les variables qui sont connues pour affecter les prix, celles qui sont bien connues ne peuvent être exploitées que si vous avez une connaissance des variables d'entrée avance du public de négociation. Il n'est pas vrai que toutes les relations existantes soient bien connues. Insider trading est parfaitement légale si vous exploiter l'information de domaine public par votre propre intelligence. Ce qui va se passer la première fois que je l'essaie Une bonne stratégie d'entraînement est de commencer par une grande sensibilité, et de la réduire par étapes. En supposant que les variables étaient réellement liées et que votre stratégie de formation était correcte, vous êtes susceptible de finir par la première lumière devenant rouge, signifiant une corrélation inadéquate, au moment où la seconde lumière devient verte. C'est généralement pour une des trois raisons suivantes: 1. Si vous voyez des pointes vertes verticales et un message Appuyez sur le bouton Réinitialiser, alors vous avez traumatisé le filet. Comme un humain ou un animal, il faudra beaucoup de temps pour récupérer. Semblable à une bonne nuit de sommeil pourrait faire pour un animal, le bouton Réinitialiser donne un nouveau départ, et tout est pardonné, mais il faudra être formé à nouveau dès le début. 2. Si la ligne verte est plate, c'est parce qu'elle a été formée de façon inadéquate. Soulevez de nouveau le curseur de sensibilité et attendez un moment avant de le ramener (idéalement par étapes). 3. Si la ligne verte ressemble à la ligne rouge, mais est décalée vers la droite par le montant sur le curseur jours, vous voyez une situation où la valeur future attendue est toujours rien mais la dernière valeur connue. Si tous les graphiques sont comme ça, félicitations, vous avez trouvé un ensemble Markovien d'actions: intéressant mais sans possibilité d'arbitrage, en supposant que le réseau neuronal a trouvé la meilleure solution possible. Conclusion L'analyse financière est quelque chose que vous faites, pas quelque chose que vous achetez. Un réseau neuronal nécessite l'intervention de l'utilisateur. Vous devez choisir les données qui vous semblent pertinentes, vous devez apprendre à former le réseau, et c'est à vous d'évaluer le backtesting. La chose la plus importante à retenir est que, bien que notre affichage ne montre que deux graphes à la fois (réel et prédit), le graphique prédit est généré en tenant compte des relations mathématiques entre les prix et les volumes de toutes les variables chargées simultanément et donc le choix Des tickers non affichés affecte la qualité de la correspondance entre les deux graphes que vous observez. Il est de votre responsabilité de décider si vous découvrez et exploitez une relation mathématique valable et rationnelle que d'autres n'ont pas encore pensé. Pensez à la célèbre histoire de l'investisseur qui a profité il ya des décennies, au début de la légende urbaine d'une souris dans un repas KFC. Il a compté le changement dans le nombre de personnes assistant à son KFC local chaque jour, et a décidé qu'il n'y avait pas eu de diminution. Il existe une relation valable, simple et significative entre le nombre de personnes qu'il a observées, le prix actuel de l'action et le cours de l'action future, qu'il a utilisé intuitivement. S'il avait voulu être plus précis, il aurait pu utiliser un réseau de neurones. Ce n'est pas une conjecture, ce n'est pas une expédition de pêche ou d'exploration de données. Vous devez déjà savoir ce que vous faites et pourquoi. Cliquez avec le bouton droit de la souris, sélectionnez tout, Copiez et collez le texte ci-dessous dans votre code HTML si vous souhaitez intégrer le NewsTicker gratuit sur votre site. (Ne faites jamais un site Web avant de ne pas s'inquiéter, il suffit de coller le code dans le Bloc-notes, d'ajouter le texte que vous aimez, et d'enregistrer en tant que fichier appelé favourite. html sur votre bureau. Vous avez fait votre premier site Web. Télécharger à un serveur.) Neural réseau hybride Stop-and-Reverse stratégies pour le Forex Les réseaux neuronaux ont été utilisés dans les systèmes de négociation depuis de nombreuses années avec des degrés divers de succès. Leur attraction principale est que leur structure non linéaire est plus apte à saisir les complexités du mouvement des prix que les règles de négociation standardisées basées sur les indicateurs. L'une des critiques a été que les stratégies de négociation basées sur les réseaux neuronaux ont tendance à être trop adaptées et ne fonctionnent donc pas bien sur de nouvelles données. Une solution possible à ce problème consiste à combiner les réseaux neuronaux avec une logique de stratégie basée sur des règles pour créer un type de stratégie hybride. Cet article vous montrera comment cela peut être fait en utilisant Adaptrade Builder. En particulier, cet article illustrera ce qui suit: Combinaison de réseaux neuronaux et de logique basée sur des règles pour les entrées commerciales Une approche de données à trois segments sera utilisée, le troisième segment servant à valider les stratégies finales. Le code de stratégie résultant pour MetaTrader 4 et TradeStation sera montré, et il sera démontré que les résultats de validation sont positifs pour chaque plate-forme. Réseaux de neurones en tant que filtres d'entrée de métier D'un point de vue mathématique, un réseau de neurones est une combinaison non linéaire d'une ou plusieurs entrées pondérées qui génèrent une ou plusieurs valeurs de sortie. Pour la négociation, un réseau de neurones est généralement utilisé de deux façons: (1) comme une prédiction du mouvement des prix futurs, ou (2) comme un indicateur ou un filtre pour la négociation. Ici, son utilisation comme indicateur ou filtre commercial sera prise en considération. En tant qu'indicateur, un réseau de neurones agit comme une condition ou un filtre supplémentaire qui doit être satisfait avant qu'une transaction puisse être saisie. Les entrées du réseau sont typiquement d'autres indicateurs techniques, tels que l'impulsion, stochastique, ADX, les moyennes mobiles, et ainsi de suite, ainsi que les prix et les combinaisons des précédents. Les entrées sont mises à l'échelle et le réseau neuronal est conçu de telle sorte que la sortie soit une valeur comprise entre -1 et 1. Une approche consiste à permettre une entrée longue si la sortie est supérieure ou égale à une valeur de seuil, telle que 0,5 et a Court si la sortie est inférieure ou égale au négatif du seuil, par exemple -0,5. Cette condition s'ajouterait aux conditions d'entrée existantes. Par exemple, s'il y avait une condition d'entrée longue, elle devrait être vraie et la sortie du réseau neuronal devrait être au moins égale à la valeur de seuil pour une entrée longue. Lors de la mise en place d'un réseau neuronal, un opérateur serait généralement responsable du choix des entrées et de la topologie du réseau et de la quottraining du réseau, ce qui détermine les valeurs de poids optimales. Comme on le verra ci-dessous, Adaptrade Builder effectue ces étapes automatiquement dans le cadre du processus de construction évolutive sur lequel le logiciel est basé. L'utilisation du réseau neuronal comme un filtre de commerce lui permet d'être facilement combiné avec d'autres règles pour créer une stratégie de négociation hybride, qui combine les meilleures caractéristiques des méthodes traditionnelles basées sur les règles avec les avantages des réseaux neuronaux. Comme exemple simple, Builder peut combiner une règle de croisement moyenne mobile avec un réseau neuronal de sorte qu'une position longue est prise lorsque la moyenne à déplacement rapide croise au-dessus de la moyenne mobile lente et la sortie du réseau neural est au seuil ou au-dessus. Stratégies de trading stop-and-reverse Une stratégie de trading stop-and-reverse est celui qui est toujours sur le marché, long ou court. Strictement parlant, quotstop-et-reversequot signifie que vous inverser le commerce lorsque votre ordre d'arrêt est frappé. Cependant, je l'utilise comme un court-à-main pour toute stratégie commerciale qui inverse de long à court à long et ainsi de suite, de sorte que vous êtes toujours sur le marché. Par cette définition, il n'est pas nécessaire que les ordres soient des ordres stop. Vous pouvez entrer et inverser en utilisant des ordres de marché ou de limite ainsi. Il n'est pas non plus nécessaire que chaque côté utilise la même logique ou même le même type d'ordre. Par exemple, vous pouvez saisir long (et quitter court) sur un ordre d'arrêt et saisir short (et exit long) sur un ordre de marché, en utilisant différentes règles et conditions pour chaque entryexit. Ce serait un exemple d'une stratégie asymétrique stop-and-reverse. Le principal avantage d'une stratégie stop-and-reverse est que, en étant toujours sur le marché, vous ne manquez jamais de grands mouvements. Un autre avantage est la simplicité. Quand il ya des règles et des conditions séparées pour entrer et sortir des métiers, il ya plus de complexité et plus qui peuvent aller mal. La combinaison des entrées et des sorties signifie que moins de décisions de synchronisation doivent être prises, ce qui peut signifier moins d'erreurs. D'autre part, on peut avancer que les meilleures conditions pour sortir d'un métier sont rarement les mêmes que celles pour entrer dans la direction opposée que l'entrée et la sortie des métiers sont des décisions séparées par nature qui devraient donc utiliser des règles et une logique séparées. Un autre inconvénient potentiel de toujours être sur le marché est que la stratégie de commerce à travers chaque écart d'ouverture. Un écart important d'ouverture contre la position peut signifier une perte importante avant que la stratégie soit capable de renverser. Les stratégies qui entrent et sortent plus sélectivement ou qui sortent à la fin de la journée peuvent minimiser l'impact de l'ouverture des lacunes. Étant donné que le but est de construire une stratégie de forex, MetaTrader 4 (MT4) est un choix évident pour la plateforme de trading, étant donné que MetaTrader 4 est conçu principalement pour le forex et est largement utilisé pour la négociation de ces marchés (voir, par exemple, MetaTrader vs TradeStation : Une comparaison de langues). Cependant, ces dernières années, TradeStation a ciblé les marchés de forex beaucoup plus agressivement. En fonction de votre volume de trading andor niveau de compte, son possible d'échanger les marchés de forex par TradeStation sans encourir de frais de plate-forme ou de payer des commissions. Les spreads sont étroitement liés avec une bonne liquidité sur les principales paires de devises. Pour ces raisons, les deux plateformes ont été ciblées pour ce projet. Plusieurs problèmes surviennent lorsque vous ciblez plusieurs plates-formes simultanément. Premièrement, les données peuvent être différentes selon les plates-formes, avec des différences dans les fuseaux horaires, les prix pour certaines barres, le volume et les plages de dates disponibles. Pour lisser ces différences, les données ont été obtenues à partir des deux plates-formes, et les stratégies ont été construites sur les deux séries de données simultanément. Les meilleures stratégies ont donc été celles qui ont bien fonctionné sur les deux séries de données malgré les différences dans les données. Les paramètres de données utilisés dans Builder sont illustrés ci-dessous à la Fig. 1. Comme on peut en déduire du tableau des données de marché de la figure, le marché Forex Eurodollar a été ciblé (EURUSD) avec une barre de taille de 4 heures (240 minutes). Autres tailles de bar ou les marchés auraient aussi bien servi. Je n'ai pu obtenir autant de données sur ma plate-forme MT4 qu'indiqué par la plage de dates illustrée à la Fig. 1 (série de données 2), de sorte que la même plage de dates a été utilisée pour obtenir les séries de données équivalentes de TradeStation (série de données 1). 80 des données ont été utilisées pour la construction (combiné dans l'échantillon et quotout de l'échantillon), avec 20 (62014 à 21015) mis de côté pour la validation. 80 du 80 original a ensuite été réglé à quotin-échantillon avec 20 mis à quotout-d'échantillon, comme montré sur la Fig. 1. L'écart bidask a été fixé à 5 pips, et les coûts de négociation de 6 pips ou 60 par lot complet (100 000 actions) ont été supposés par tour de tour. Les deux séries de données ont été incluses dans la compilation, comme indiqué par les marques de contrôle dans la colonne de gauche de la table Données de marché. Figure 1. Paramètres de données de marché pour la construction d'une stratégie de forex pour MetaTrader 4 et TradeStation. Un autre problème potentiel lors du ciblage de plusieurs plates-formes est que Builder est conçu pour dupliquer la façon dont chaque plate-forme prise en charge calcule ses indicateurs, ce qui peut signifier que les valeurs d'indicateur seront différentes selon la plate-forme sélectionnée. Pour éviter cette éventuelle source de divergence, tous les indicateurs qui évaluent différemment dans MetaTrader 4 que dans TradeStation doivent être éliminés de la compilation, ce qui signifie que les indicateurs suivants doivent être évités: Tous les autres indicateurs disponibles pour les deux plateformes sont calculés de la même façon Les deux plates-formes. TradeStation inclut tous les indicateurs disponibles dans Builder, alors que MetaTrader 4 ne le fait pas. Par conséquent, pour inclure uniquement les indicateurs disponibles dans les deux plates-formes, la plate-forme MetaTrader 4 doit être sélectionnée comme type de code dans Builder. Cela éliminera automatiquement tous les indicateurs du jeu de construction qui ne sont pas disponibles pour MT4, ce qui laissera les indicateurs disponibles dans les deux plates-formes. De plus, depuis que j'ai remarqué des différences dans les données de volume obtenues à partir de chaque plate-forme, j'ai supprimé tous les indicateurs dépendant du volume de l'ensemble de construction. Enfin, l'indicateur de l'heure a été supprimé en raison des différences dans les fuseaux horaires entre les fichiers de données. Dans la Fig. 2, ci-dessous, la liste des indicateurs utilisés dans l'ensemble de construction est affichée triée par si l'indicateur a été considéré par le processus de construction (quotConsiderquot colonne). Les indicateurs retirés de la considération pour les raisons exposées ci-dessus sont indiqués en haut de la liste. Les autres indicateurs, commençant par quotSimple Mov Avequot, faisaient tous partie de l'ensemble de construction. Figure 2. Sélection des indicateurs dans Builder, montrant les indicateurs supprimés de l'ensemble de construction. Les options d'évaluation utilisées dans le processus de construction sont illustrées à la Fig. 3. Comme indiqué, MetaTrader 4 a été sélectionné comme choix de sortie de code. Une fois les stratégies construites dans Builder, toutes les options de l'onglet Options d'évaluation, y compris le type de code, peuvent être modifiées et les stratégies réévaluées, qui réécrivent également le code dans la langue choisie. Cette fonctionnalité a été utilisée pour obtenir le code TradeStation pour la stratégie finale après la construction des stratégies pour MetaTrader 4. Figure 3. Options d'évaluation dans Builder pour la stratégie forex EURUSD. Pour créer des stratégies stop-and-reverse, tous les types de sortie ont été supprimés de l'ensemble de construction, comme illustré ci-dessous à la Fig. 4. Les trois types d'ordres d'entrée - marché, arrêt et limite - ont été laissés comme quotconsiderquot, ce qui signifie que le processus de construction pourrait envisager l'un d'eux pendant le processus de construction. Figure 4. Types de commande sélectionnés dans Builder pour créer une stratégie d'arrêt et de retour. Le logiciel Builder génère automatiquement des conditions logiques basées sur des règles pour l'entrée et / ou la sortie. Pour ajouter un réseau de neurones à la stratégie, il est seulement nécessaire de sélectionner l'option quotInclure un réseau neuronal dans les conditions d'entrée sous l'onglet Options de stratégie, comme illustré ci-dessous à la Fig. 5. Les paramètres de réseau neural ont été laissés à leurs valeurs par défaut. Dans le cadre de la logique d'arrêt et d'inversion, l'option Market Sides était définie sur LongShort et l'option d'attente pour la sortie avant d'entrer une nouvelle transaction était désactivée. Ce dernier est nécessaire pour permettre à l'ordre d'entrée de quitter la position courante lors d'une inversion. Tous les autres paramètres ont été laissés aux valeurs par défaut. Figure 5. Options de stratégie sélectionnées dans Builder pour créer une stratégie hybride utilisant à la fois des conditions basées sur des règles et des réseaux neuronaux. La nature évolutive du processus de construction dans Builder est guidée par la condition physique. which is calculated from the objectives and conditions defined on the Metrics tab, as shown below in Fig. 6. The build objectives were kept simple: maximizing the net profit while minimizing the complexity, which was given a small weight relative to the net profit. More emphasis was placed on the build conditions, which included the correlation coefficient and significance for general strategy quality, as well as the average bars in trades and the number of trades. Initially, only the average bars in trades was included as a build condition. However, in some of the early builds, the net profit was being favored over the trade length, so the number-of-trades metric was added. The specified range for the number of trades (between 209 and 418) is equivalent to average trade lengths between 15 and 30 bars based on the number of bars in the build period. As a result, adding this metric put more emphasis on the trade length goal, which resulted in more members of the population with the desired range of trade lengths. Figure 6. Build objectives and conditions set on the Metrics tab determine how the fitness is calculated. The quotConditions for Selecting Top Strategiesquot duplicate the build conditions except that the top strategies conditions are evaluated over the entire range of data (not including the validation segment, which is separate), rather than just over the build period, as is the case for the build conditions. The top strategies conditions are used by the program to set aside any strategies that meet all the conditions in a separate population. The final settings are made on the Build Options tab, as shown below in Fig. 7. The most important options here are the population size, number of generations, and the option to reset based on the quotout-of-samplequot performance. The population size was chosen to be large enough to get good diversity in the population while still being small enough to build in a reasonable amount of time. The number of generations was based on how long it took during a few preliminary builds for the results to start to converge. Figure 7. Build options include the population size, number of generations, and options for resetting the population based on quotout-of-samplequot performance. The option to quotReset on Out-of-Sample (OOS) Performancequot starts the build process over after the specified number of generations if the specified condition is met in this case, the population will be reset if the quotout-of-samplequot net profit is less than 20,000. This value was chosen based on preliminary tests to be a high enough value that it probably would not be reached. As a result, the build process was repeated every 30 generations until manually stopped. This is a way to let the program identify strategies based on the Top Strategies conditions over an extended period of time. Periodically, the Top Strategies population can be checked and the build process cancelled when suitable strategies are found. Notice that I put quotout-of-samplequot in quotes. When the quotout-of-samplequot period is used to reset the population in this manner, the quotout-of-samplequot period is no longer truly out-of-sample. Since that period is now being used to guide the build process, its effectively part of the in-sample period. Thats why its advisable to set aside a third segment for validation, as was discussed above. After several hours of processing and a number of automatic rebuilds, a suitable strategy was found in the Top Strategies population. Its closed trade equity curve is shown below in Fig. 8. The equity curve demonstrates consistent performance across both data segments with an adequate number of trades and essentially the same results over both data series. Figure 8. Closed-trade equity curve for the EURUSD stop-and-reverse strategy. To check the strategy over the validation period, the date controls on the Markets tab (see Fig. 1) were changed to the end date of the data (2112015), and the strategy was re-evaluated by selecting the Evaluate command from the Strategy menu in Builder. The results are shown below in Fig. 9. The validation results in the red box demonstrate that the strategy held up on data not used during the build process. Figure 9. Closed-trade equity curve for the EURUSD stop-and-reverse strategy, including the validation period. The final check is to see how the strategy performed on each data series separately using the code output option for that platform. This is necessary because, as explained above, there may be differences in the results depending on (1) the code type, and (2) the data series. We need to verify that the chosen settings minimized these differences, as intended. To test the strategy for MetaTrader 4, the data series from TradeStation was deselected on the Markets tab, and the strategy was re-evaluated. The results are shown below in Fig. 10, which duplicates the bottom curve in Fig. 9. Figure 10. Closed-trade equity curve for the EURUSD stop-and-reverse strategy, including the validation period, for MetaTrader 4. Finally, to test the strategy for TradeStation, the data series from TradeStation was selected and the series for MetaTrader 4 was deselected on the Markets tab, the code output was changed to quotTradeStation, quot and the strategy was re-evaluated. The results are shown below in Fig. 11 and appear to be very similar to the middle curve in Fig. 9, as expected. Figure 11. Closed-trade equity curve for the EURUSD stop-and-reverse strategy, including the validation period, for TradeStation. The code for both platforms is provided below in Fig. 12. Click the image to open the code file for the corresponding platform. Examining the code reveals that the rule-based part of the strategy uses different volatility-related conditions for the long and short sides. The neural network inputs consist of a variety of indicators, including day-of-week, trend (ZLTrend), intraday high, oscillators (InvFisherCycle, InvFisherRSI), Bollinger bands, and standard deviation. The hybrid nature of the strategy can be seen directly in the code statement (from the TradeStation code): If EntCondL and NNOutput gt 0.5 then begin Buy(quotEnMark-Lquot) NShares shares next bar at market The variable quotEntCondLquot represents the rule-based entry conditions, and quotNNOuputquot is the output of the neural network. Both conditions have to be true to place the long entry order. The short entry condition works the same way. Figure 12. Trading strategy code for the EURUSD stop-and-reverse strategy (left, MetaTrader 4 right, TradeStation). Click the figure to open the corresponding code file. Download a Builder project (.gpstrat) file containing the settings described in this article . This article looked at the process of building a hybrid rule-basedneural network strategy for the EURUSD using a stop-and-reverse (always in the market) approach with Adaptrade Builder. It was shown how the strategy code can be generated for multiple platforms by selecting a common subset of the indicators that work the same way in each platform. The settings necessary to generate strategies that reverse from long to short and back were described, and it was demonstrated that the resulting strategy performed positively on a separate, validation segment of data. It was also verified that the strategy generated similar results with the data and code option for each platform. As discussed above, the stop-and-reverse approach has several drawbacks and may not appeal to everyone. However, an always-in-the-market approach may be more attractive with forex data because the forex markets trade around the clock. As a result, there are no session-opening gaps, and the trading orders are always active and available to reverse the trade when the market changes. The use of intraday data (4-hour bars) provided more bars of data for use in the build process but was otherwise fairly arbitrary in that the always-in-the-market nature of the strategy means that trades are carried overnight. The build process was allowed to evolve different conditions for entering long and short, resulting in an asymmetric stop-and-reverse strategy. Despite the name, the resulting strategy enters both long and short trades on market orders, although market, stop, and limit orders were all considered by the build process independently for each side. In practice, reversing from long to short would mean selling short twice the number of shares at the market as the strategy was currently long e. g. if the current long position was 100,000 shares, you would sell short 200,000 shares at market. Likewise, if the current short position was 100,000 shares, you would buy 200,000 shares at market to reverse from short to long. A shorter price history was used than would be ideal. Nonetheless, the results were positive on the validation segment, suggesting the strategy was not over-fit. This supports the idea that a neural network can be used in a trading strategy without necessarily over-fitting the strategy to the market. The strategy presented here is not intended for actual trading and was not tested in real-time tracking or trading. However, this article can be used as a template for developing similar strategies for the EURUSD or other markets. As always, any trading strategy you develop should be tested thoroughly in real-time tracking or on separate data to validate the results and to familiarize yourself with the trading characteristics of the strategy prior to live trading. This article appeared in the February 2015 issue of the Adaptrade Software newsletter. LES RÉSULTATS DE PERFORMANCE HYPOTHETIQUES OU SIMULÉS ONT CERTAINES LIMITATIONS INHÉRENTES. UNLIKE UN RAPPORT DE PERFORMANCE RÉELLE, LES RÉSULTATS SIMULÉS NE REPRÉSENTENT PAS DE COMMERCE RÉEL. AINSI, LES COMMERCES N'ONT PAS EFFECTUÉES REELLEMENT, LES RÉSULTATS PEUVENT ÊTRE SOUS-OU SUR-COMPENSÉS POUR L'INCIDENCE DE CERTAINS FACTEURS DE MARCHÉ, TELS QUE LE MANQUE DE LIQUIDITÉ. LES PROGRAMMES SIMULTANÉS DE COMMERCE EN GÉNÉRAL SONT ÉGALEMENT SUJETS AU FAIT QU'ILS SONT CONÇUS AVEC LE BÉNÉFICE DE HINDSIGHT. AUCUNE REPRÉSENTATION N'EST FAITE QUE TOUT COMPTE EST OU PEUT PROBABILITÉ D'OBTENIR DES BÉNÉFICES OU DES PERTES SIMILAIRES À CELLES INDIQUÉES. Si vous désirez être informé des nouveautés, des nouveautés et des offres spéciales d'Adaptrade Software, veuillez rejoindre notre liste de diffusion. Je vous remercie.
No comments:
Post a Comment