Saturday, February 25, 2017

Déménagement Moyenne Trading Système Backtesting

MOYENNE MOBILE DOUBLE Alors que les systèmes de moyenne mobile simple et double sont communs, ils sont surtout mentionnés comme des systèmes d'inversion qui sont sur le marché 100 de l'époque. Nous savons que le marché doesnt tendance 100 du temps de sorte que l'exemple de double moyenne mobile crossover système ci-dessous est mis en place pour déclencher une entrée, mais n'est pas toujours sur le marché. La version du système d'inversion est mentionnée et testée comme la moyenne mobile double dans le Guide de la tortue et des commerçants techniques à l'analyse informatique du marché à terme. Le système de crossover moyen à double mouvement est une version simplifiée du système Donchian 5 et 20 qui est mentionné et testé dans le Guide Dow Jones-Irwin pour les systèmes de négociation, mais nous avons vu d'autres versions du système Donchian 520 avec des règles d'entrée supplémentaires en plus du Simple croisement MA seul. LeBeau et Lucas disent le Donchian 520. N'est pas un simple système d'inversion mais utilise un ensemble élaboré de filtres. L'entrée de base du système de la moyenne mobile double est quand la ligne de temps de déplacement la plus rapide traverse la ligne de temps moyenne la plus lente. Pour les moyennes mobiles de 5 jours et 20 jours de Donchian, une position longue survient lorsque la moyenne mobile de 5 jours passe au-dessus de la moyenne mobile de 20 jours. Une position courte se produit lorsque la moyenne mobile de 5 jours passe au-dessous de la moyenne mobile de 20 jours. Vous pouvez choisir de prendre l'entrée dès que les lignes croiser ou attendre jusqu'à ce que le prix se ferme sur le côté de la croix. POSITION SIZING Position Le dimensionnement et l'arrêt sont les plus grands changements de la version d'inversion. Bien utiliser un arrêt et calculer la taille de position en utilisant la méthode de la volatilité en pourcentage qui est un risque défini si arrêté. Pour notre exemple, nous avons un arrêt de 14 jours ATR 1.5 qui risque 2 comptes d'actions par position. Si une entrée longue à 10 a un arrêt à 8,5, 1,5 serait à risque pour chaque action s'il s'agissait d'un achat d'actions. Si la taille du compte est de 10 000 et le risque par position est de 2, votre risque serait de 200. Le 200 (10 000 2) divisé par 1,50 (de la valeur ATR si l'arrêt est touché) serait une position de 133 actions. Calculez la taille de la position en prenant votre risque et en la divisant par la valeur du mouvement à l'arrêt. Avec le calcul de la taille de la position, bien utiliser un multiple de l'ATR comme l'arrêt. Un exemple consiste à utiliser un ATR de 14 jours multiplié par 1,5 et bien y ajouter des nombres. Si vous avez un stock que vous avez entré à 10 et l'ATR de 14 jours est 1, vous seriez arrêté d'une position longue à 8,50. Une position courte serait arrêtée à 11h50. Les versions d'inversion attendent que les lignes de moyenne mobile croisent l'autre manière mais selon vos périodes vous pouvez avoir le lag significatif qui renvoie beaucoup de tendances profit. Une sortie plus serrée comme le prix frappant un SAR parabolique, une rupture d'un canal de prix ou en utilisant une rupture d'une autre ligne de moyenne mobile peut être une meilleure alternative pour votre système. VARIATIONS Afin d'éviter des whipsaws lorsque le marché tend vers les côtés, vous pouvez ajouter des filtres supplémentaires tels que ADX, Stochastics ou RSI. Si vous utilisez des délais plus lents, les moyennes mobiles retardent l'action de prix de sorte qu'un filtre supplémentaire pour compenser peut être un nouveau prix élevé avant une position longue ou un nouveau prix bas avant une position courte. PLUS DE DÉTAILS Une recherche sur Internet trouvera de nombreuses pages liées à ce système. Vous pouvez également le trouver dans les trois livres mentionnés ci-dessus avec les résultats des tests et de le comparer à d'autres systèmes. Chemin de la tortue l'utilise comme un système à long terme avec 100 jours et 350 lignes de jour. Guide technique des commerçants à l'analyse informatique du marché à terme et le guide Dow Jones-Irwin à Trading Systems l'utiliser avec les lignes de 5 jours et 20 jours. Copie 2012 GTV HOLDINGS, LLC. TOUS LES DROITS SONT RÉSERVÉS. À PROPOS DE NOUS CONTACTEZ-NOUS VOUS ASSUMEZ TOUS LES RISQUES ASSOCIÉS AUX DECISIONS D'INVESTISSEMENT FAITES SUR LA BASE D'INFORMATIONS CONTENUES SUR CE SITE WEB. LA COMMERCE EST SPECULATIVE DANS LA NATURE ET NON APPROPRIÉE POUR TOUS LES INVESTISSEURS. LES INVESTISSEURS DEVRAIENT UTILISER SEULEMENT DES CAPITAUX DE RISQUE QU'ILS SONT PREPARES A PERDRE COMME IL EXISTE TOUJOURS LE RISQUE DE PERTES SUBSTANTIELLES. LES INVESTISSEURS DOIVENT EXAMINER COMPLETEMENT LEUR PROPRE SITUATION FINANCIERE PERSONNELLE AVANT COMMERCE. LES SYSTÈMES SUR CE SITE SONT DES EXEMPLES D'ÉDUCATION ET NE SONT PAS DES RECOMMANDATIONS À ACHETER OU À VENDRE. Si l'une des activités liées au commerce que j'apprécie vraiment faire est de créer des stratégies mécaniques simples qui ont un avantage statistique, et peut être utilisé avec succès par n'importe qui, indépendamment de l'importance de la rétro-test. Du niveau d'expérience dans le monde du trading en général, et le Forex en particulier. Ce mois-ci, j'ai jeté un coup d'œil à un indicateur de la moyenne mobile appelé GMMA (Guppy Multiple Moving Average) et j'ai essayé d'élaborer une stratégie rentable basée sur quelques règles simples. Même si cet outil (développé par le trader australien Daryl Guppy) n'est pas disponible dans la plate-forme jForex de Dukascopy, vous pouvez facilement l'appliquer à vos diagrammes car il consiste simplement en deux groupes de moyennes mobiles exponentielles (EMA) . Les moyennes les plus rapides sont 3, 5, 8, 10, 12 et 15 EMA, tandis que les plus lentes sont 30, 35, 40, 45, 50 et 60 EMA. La façon dont vous faites affaire avec le GMMA n'est pas par le croisement moyen de la moyenne mobile, mais en analysant et en interprétant l'interaction entre les deux groupes (par exemple, si la distance entre eux est la compression ou l'expansion), et aussi parmi les différents EMAs au sein de chaque groupe. Cependant, comme je crois que regarder les choses autrement que la plupart des gens est une bonne façon d'augmenter vos chances de réussite, j'ai ignoré les interprétations habituelles de GMMA, et s'est concentré sur le développement de quelque chose de plus facile à systématiser et sans aucune sorte de subjectivité. Ingrédients de ce système mécanique Lors de l'élaboration de cette stratégie, j'ai remplacé les EMA du groupe plus rapide pour les SMA (moyenne mobile simple), car les EMA réagissent plus nerveusement au marché et finissent par déclencher trop de métiers, ou prématurément fermer ceux existants. Placer 3, 5, 8, 10, 12 et 15 SMA sur vos cartes. Vous pouvez utiliser des couleurs légèrement différentes pour les distinguer facilement. Par exemple, différentes nuances de bleu. Place 30, 35, 40, 45, 50 et 60 EMA. Ajouter un ATR 10, cela mesurera la volatilité et nous aidera avec le positionnement de dimensionnement et l'arrêt de la perte de placement. Time frame: Je ne recommande pas d'utiliser quelque chose de moins de 1 heure bougies, car dans des délais plus courts il ya trop de bruit des prix qui ont toujours un impact très négatif lors de l'utilisation des moyennes mobiles. Recommander des paires: Toute paire qui tend à bien, a beaucoup de liquidité et aussi peu de pics de prix que possible, peut être utilisé. C'est essentiellement tous les majors. Règles de la stratégie L'objectif de cette stratégie est de déclencher les échanges seulement quand il ya une tendance claire sur le marché, dans tous les délais. Allez LONG quand à la fin de la bougie actuelle toutes les moyennes mobiles sont correctement alignés dans une direction de la tendance haussière, dans l'ordre croissant. EMA 3 sera plus élevé que EMA 5, celui-ci sera plus élevé que EMA 8, puis EMA 10, jusqu'à ce que vous arrivez à SMA 60: Go SHORT quand le contraire se produit, et les 12 moyennes mobiles sont alignés dans l'ordre décroissant: Open trades Sont sortis lorsque la perte d'arrêt initiale est atteinte, ou plus probablement si une ou plusieurs des moyennes mobiles ne sont plus correctement alignées à la fin de la bougie (attendez toujours que la bougie se ferme). Par exemple, une position longue serait fermée si l'EMA 8 était en dessous de l'EMA 10, même si toutes les autres maintenaient leur alignement: La perte d'arrêt initiale est placée à 2 x ATR 10. Donc si ATR 10 est de 75 pips, l'arrêt La perte serait placé 150 pips du prix d'entrée. Tous les métiers sont inscrits à l'ouverture de la prochaine bougie. Par exemple, si à la fin de la bougie 10am toutes les moyennes mobiles indiquent une tendance haussière, alors vous ouvrez une position longue droite quand la bougie 11am commence. Gestion de l'argent et dimensionnement de la position Je ne recommande pas les tailles de lot fixes à tous, les marchés sont dynamiques et devrait donc vos métiers. Comme d'habitude avec toutes mes stratégies, j'inclus une calculatrice de gestion de l'argent Excel, que nous utiliserons pour placer le stop loss et déterminer le dimensionnement de position, basé sur la volatilité, la taille du compte de trading et combien nous voulons risquer par trade. De cette façon, nous négocions des positions plus petites lorsque le marché est plus volatil, et plus grand quand le marché est calme. De plus, en combinant les profits et en négociant des positions plus importantes, plus le compte est élevé (et l'inverse si nous commençons à perdre), nous obtenons un taux de rendement plus élevé que si nous échangeions la même quantité tout le temps. Cette calculatrice que j'ai développé a été décrite dans d'autres articles que j'ai écrit, si vous avez des doutes s'il vous plaît vérifier cet article Comment calculer la dimension de position et normaliser la volatilité. Ou postez simplement une question ici. Voici comment se présente la calculatrice: Je fais toujours quelques réglages, pour mieux l'adapter à chaque système que je crée, vous pouvez télécharger cette calculatrice mois ici (vous devez Excel pour l'ouvrir). J'ai effectué un backtest manuel de cette stratégie sur un graphique EURUSD quotidien pour les 10 dernières années, du 17 avril 2003 au 17 avril 2013. 1 pip a été prélevé de chaque position, pour le spread et les commissions, et le risque par trade était de 4 Du solde du compte. Notez que cette stratégie peut être utilisée à n'importe quel moment, j'ai utilisé les graphiques quotidiens parce que c'est ce que je commerce dans mon compte en direct, et je cherchais à voir si je pouvais ajouter cette stratégie à ma collection de systèmes. Cette stratégie n'a pas déclenché que de nombreux métiers, 120 en 10 ans. Étant donné qu'il y a environ 250 bougies par jour en une année (2500 pour toute la période d'essai), il y a environ un signal commercial toutes les 21 bougies, en moyenne. Si au lieu de graphiques quotidiens que vous avez utilisé horaires, vous pourriez vous attendre à environ 1 signal de commerce par jour. Si quelqu'un veut une liste de quelques métiers fait dans le backtest, s'il vous plaît laissez-moi savoir dans les commentaires ci-dessous. Au risque 4 par trade le système a produit un rendement total positif de 51, ce qui équivaut à un taux de croissance annuel composé (CAGR) de 4,21, tandis que le tirage maximal était de 32,1. Contrairement aux derniers mois article, où les résultats de cette stratégie a dépassé mes attentes, cette fois je dois admettre que Im déçu. Bien que les premières 5-6 années de l'essai étaient très bonnes, les années suivantes ont produit beaucoup de pertes, qui ont provoqué ce grand tirage. Le système semble avoir un avantage positif (et dans un marché à somme négative, même la rupture même est déjà bonne), bien que faible. Ma plus grande déception provient du facteur profit (bien que tout ce qui est au-dessus de 1 soit rentable), pas le CAGR, parce que si j'avais utilisé des bougies à l'heure qui auraient seul augmenté le CAGR significativement (et le rabattement un peu aussi), car il y aurait Beaucoup plus de métiers et de temps pour composer les profits. Comment améliorer encore le système Presque à la fin du backtest, j'ai commencé à réaliser que placer le stop loss à ATR 10 fonctionnerait presque certainement mieux que 2 x ATR 10, car il y avait quelques grosses pertes qui auraient pu être Partiellement évitées. Si nous faisons cela, nous devrions également réduire le risque par métier à 2. J'ai également pensé à ajouter une moyenne mobile à très long terme, peut-être 200 SMA, et seulement les commandes ouvertes dans le sens de cette MA. Un autre filtre pourrait être des retracements de Fibonacci, ce qui nous empêcherait de faire du commerce s'il y avait une ration importante proche du prix d'ouverture. Toutes ces améliorations pourraient potentiellement donner un coup de pouce au facteur profit, je vais probablement revenir à cette stratégie dans le futur, avec d'autres tests. Final mots et pourquoi backtesting est si important Après avoir vérifié les résultats, et réalisant qu'ils n'étaient pas aussi bien que je m'attendais (je comptais sur un facteur de profit d'au moins 1,5), j'avais deux options: d'une part, je pourrais avoir décrit le (Sans les résultats de backtesting), disant combien je croyais que cela fonctionnerait et que la plupart des gens le jugeraient et me féliciter pour une bonne stratégie d'autre part, je pourrais inclure le backtesting, admettant ainsi, ce n'est pas une si étonnante Système après tout (même si elle bat toujours plus de 95 du marché). Mais en faisant ainsi Id être fournir un bien meilleur service à la communauté, donc la bonne option est évidente. La leçon ici est simple, quand vous pensez que vous avez une bonne idée, le tester beaucoup avant de le négocier dans un compte en direct. Et si vous voyez un système développé par un autre commerçant demander à himher de fournir un backtest, parce que sans un vous ne savez pas vraiment si ce qui semble comme une grande stratégie est en fait ce bien, ou juste un moyen de perdre de l'argent très vite. Pas de backtest aucune stratégie. Oui, le rendement passé n'est pas une garantie de performance future, mais quand il est fait correctement backtesting fournit une bonne idée si un systemapproach donné est rentable ou non. Parce que sans backtesting, ce qui est là pour nous donner une certaine confiance qu'une idée fonctionne. ) Plusieurs fois, il m'est arrivé que j'ai eu ce qui semblait être de grandes idées, seulement pour eux d'échouer complètement lors d'un long backtest. ) Moyennes mobiles peuvent être dangereux, mais comme la plupart des choses dans le commerce, ils peuvent également s'avérer très utile, tout dépend de la façon dont ils sont utilisés :) Par exemple, certaines personnes aiment Elliot Waves, mais pour moi, il ne fonctionnerait jamais, mais Peut-être un jour mal expliquer en détail pourquoi je n'aime pas Elliot Waves. ) Se déplaçant le long des moyennes mobiles: P Bon article, bien expliqué. J'ai aimé la partie des backtests. Nous devons considérer que le marché change au fil du temps et que certaines stratégies ont de bons résultats dans une situation de marché, mais échouent sur d'autres. Le marché a changé au cours des dernières années, et les anciennes stratégies qui ont un grand succès ne fonctionnent pas maintenant. Mais nous pouvons apprendre avec eux et les adapter aux nouveaux temps :) Gardez le bon travail yap regarde très professionnel cet article. Je vois rarement ce genre de travail ici et espérons pour vous un meilleur endroit ce monthBacktesting un Moyenne mobile Crossover en Python avec des pandas Dans l'article précédent sur la recherche Backtesting Environnements Dans Python Avec Pandas nous avons créé un environnement de backtesting basé sur la recherche orienté objet et testé Sur une stratégie de prévision aléatoire. Dans cet article, nous allons utiliser les mécanismes que nous avons mis en place pour mener des recherches sur une stratégie réelle, à savoir le Crossover moyen mobile sur AAPL. Stratégie de croisement moyenne mobile La technique de crossover moyenne mobile est une stratégie de momentum simpliste extrêmement connue. Il est souvent considéré comme l'exemple Hello World pour le commerce quantitatif. La stratégie décrite ici est longue seulement. Deux filtres de moyenne mobile simple distincts sont créés, avec des périodes d'analyse différentes, d'une série temporelle particulière. Les signaux d'achat de l'actif se produisent lorsque la moyenne mobile de retour en arrière plus courte dépasse la moyenne mobile plus longue. Si la moyenne plus longue dépasse par la suite la moyenne plus courte, l'actif est vendu de nouveau. La stratégie fonctionne bien lorsqu'une série chronologique entre dans une période de tendance forte, puis renverse lentement la tendance. Pour cet exemple, j'ai choisi Apple, Inc. (AAPL) comme la série chronologique, avec un court retour de 100 jours et un lookback long de 400 jours. C'est l'exemple fourni par la bibliothèque de trading algorithmique zipline. Ainsi, si nous voulons mettre en œuvre notre propre backtester, nous devons nous assurer qu'il correspond aux résultats en zipline, comme un moyen de base de validation. Implémentation Assurez-vous de suivre le tutoriel précédent ici. Qui décrit comment la hiérarchie d'objet initiale pour le backtester est construite, sinon le code ci-dessous ne fonctionnera pas. Pour cette implémentation particulière, j'ai utilisé les bibliothèques suivantes: La mise en œuvre de macross. py nécessite le backtest. py du tutoriel précédent. La première étape consiste à importer les modules et objets nécessaires: Comme dans le didacticiel précédent, nous allons sous-classer la classe de base abstraite Stratégie pour produire MovingAverageCrossStrategy. Qui contient tous les détails sur la façon de générer les signaux lorsque les moyennes mobiles de AAPL se croisent. L'objet nécessite une fenêtre courte et une fenêtre longue sur laquelle fonctionner. Les valeurs ont été définies à des valeurs par défaut de 100 jours et 400 jours respectivement, qui sont les mêmes paramètres utilisés dans l'exemple principal de la tyrolienne. Les moyennes mobiles sont créées en utilisant la fonction rollingmaing pandas sur les barsFermer le cours de clôture du stock AAPL. Une fois que les moyennes mobiles individuelles ont été construites, la série de signaux est générée en plaçant la colonne égale à 1,0 lorsque la moyenne mobile courte est supérieure à la moyenne mobile longue ou 0,0 autrement. De là, les ordres de position peuvent être générés pour représenter des signaux de négociation. Le MarketOnClosePortfolio est sous-classé de Portfolio. Qui se trouve dans backtest. py. Il est presque identique à la mise en œuvre décrite dans le didacticiel précédent, à l'exception que les métiers sont maintenant effectués sur une base Close-to-Close, plutôt que Open-to-Open. Pour plus de détails sur la définition de l'objet Portfolio, reportez-vous au didacticiel précédent. Ive a laissé le code dedans pour l'intégralité et pour garder ce tutoriel autonome: Maintenant que les classes MovingAverageCrossStrategy et MarketOnClosePortfolio ont été définies, une fonction principale sera appelée pour attacher toutes les fonctionnalités ensemble. En outre, la performance de la stratégie sera examinée au moyen d'un graphique de la courbe de capitaux propres. L'objet DataReader de pandas télécharge les prix OHLCV des stocks d'AAPL pour la période du 1er janvier 1990 au 1er janvier 2002, date à laquelle les signaux DataFrame sont créés pour générer les signaux long seulement. Par la suite, le portefeuille est généré avec une base de capital initiale de 100 000 USD et les rendements sont calculés sur la courbe de capitaux propres. La dernière étape est d'utiliser matplotlib pour tracer un graphique à deux chiffres des deux prix AAPL, recouvert avec les moyennes mobiles et les signaux buysell, ainsi que la courbe d'équité avec les mêmes signaux buysell. Le code de traçage est pris (et modifié) à partir de l'exemple d'implantation de typo. La sortie graphique du code est la suivante. J'ai fait usage de la commande IPython coller pour mettre cela directement dans la console IPython alors que dans Ubuntu, de sorte que la sortie graphique reste en vue. Les upticks roses représentent l'achat du stock, alors que les downticks noirs représentent la vente de retour: Comme on peut le voir la stratégie perd de l'argent au cours de la période, avec cinq métiers de tour-aller. Cela n'est pas surprenant compte tenu du comportement de l'AAPL au cours de la période, qui a connu une légère tendance à la baisse, suivie d'une recrudescence significative à partir de 1998. La période de retour des signaux de la moyenne mobile est assez importante et a eu un impact sur le profit du commerce final , Qui autrement aurait pu rendre la stratégie rentable. Dans les articles suivants, nous allons créer un moyen plus sophistiqué d'analyser la performance, ainsi que de décrire comment optimiser les périodes d'attente des signaux individuels de moyenne mobile.


No comments:

Post a Comment