Lorsque MACD s'associe à BB dans Elasticsearch,… PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Lorsque MACD s'associe à BB dans Elasticsearch, …

Wai Tak Wong

La divergence de convergence moyenne mobile (MACD) est un indicateur de tendance et de dynamique, tandis que Bollinger Bands (BB) est un indicateur basé sur la volatilité. Lorsque MACD se couple avec BB, certains professionnels l'appellent MACD BB, et d'autres l'appellent BB MACD. Dans cet article, le nom MACD BB est utilisé. La combinaison de deux indicateurs d'analyse technique hérite des capacités des deux indicateurs et donne un aperçu des tendances du marché. D'après mes recherches intensives sur le Web, il n'y a nulle part où dire qui a inventé cet indicateur. Si quelqu'un sait, merci de partager la source. Cependant, de nombreuses plateformes et forums de trading proposent cet indicateur en tant que fonctionnalité avancée. Les lecteurs sont invités à lire mes deux articles précédents pour avoir rapidement une compréhension de base de ces deux indicateurs et de leur mise en œuvre à l'aide d'Elasticsearch.
Selon l'équation décrite dans l'article "Construire un histogramme MACD avec Elasticsearch”, MACD implique une moyenne mobile à pondération exponentielle à court terme et à long terme (EWMA). Les pratiques courantes pour ces deux termes sont 12 et 26.

Lorsque MACD s'associe à BB dans Elasticsearch,… PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Dans l'article "Calculer la largeur de bande de Bollinger via Elasticsearch», BB est basé sur la moyenne mobile simple (SMA) et l'écart type (SD) des prix quotidiens pour construire la bande supérieure (BBU) et la bande inférieure (BBL). La ligne médiane de BB est la SMA. De la terminologie de MACD BB, il utilise MACD au lieu de prix. Le calcul de BBL et BBU est expliqué comme suit, où la fenêtre glissante (fenêtre) est de 20 ou 26, et l'écart type (n) est de 1 ou 2 dans la pratique courante.

Fondamentalement, MACD, BBU et BBL seront tracés sur un graphique et les utilisateurs pourront observer les intersections de MACD et des deux bandes. Lorsque le MACD franchit le BBU, il montre un fort signal de tendance haussière. De même, lorsque le MACD franchit le BBL, il montre un fort signal à la baisse. Il est beaucoup plus facile d'utiliser un diagramme pour décrire le sens. Dans cet article, nous essayons d'appliquer MACD et BB aux fonds négociés en bourse (ETF) sans commission et nous nous concentrons sur Elasticsearch comme outil d'analyse. L'exemple suivant sélectionne au hasard « Fidelity International Multifactor ETF ». Son symbole boursier est FDEV. Les données sont sélectionnées dans la période comprise entre le 1er février 2021 et le 31 mai 2021 fournie par IEX, Investors Exchange. Les paramètres de MACD les plus utilisés sont 12 pour le court terme et 26 pour le long terme. Selon de nombreux articles sur Internet, lors du calcul de BB, la période de SMA est de 10 et l'écart type de BB est de 1.
Dans la figure ci-dessous, MACD et ses BBL, BBU et SMA sont tracés. Si la valeur MACD est supérieure au BBU et est un incrément par rapport à la valeur de l'horodatage à venir, il s'agit d'un point bleu aqua. Si la valeur MACD est supérieure au BBU et est décrémentée, il s'agit d'un point bleu. Si la valeur MACD est inférieure au BBL et est une décrémentation, il s'agit d'un point rouge. Si la valeur MACD est inférieure au BBL et est un incrément, il s'agit d'un point orange. Pour les autres cas, il s'agit d'un point gris. Les lecteurs peuvent facilement observer que les lignes rouges/oranges sont en dessous de BBL et les lignes bleu/aqua-bleu sont au-dessus de BBU. De plus, lorsque la valeur MACD passe de moins de zéro et dépasse zéro (considérez un signal haussier généré par MACD), un point bleu aqua correspondant est suivi de près dans la plupart des cas. De la même manière, lorsque la valeur MACD chute au-dessus de zéro et franchit zéro (considérez un signal baissier généré par MACD), un point rouge correspondant suivra. La pente de la ligne indique l'élan de la tendance.

Cependant, lorsque nous essayons d'expliquer le moment où la valeur MACD dépasse BBU ou BBL en combinaison avec des valeurs typiques, elle ne semble pas correspondre à la tendance à la hausse ou à la baisse du prix, comme le montre la figure ci-dessous. Les signes potentiels d'une volatilité accrue et d'éventuelles opportunités de trading futures ne sont pas faciles à saisir et parfois la direction est inversée.

Bien que la plupart des plateformes de trading fournissent l'indicateur MACD BB et donnent le même commentaire, "Il ne convient pas aux traders débutants", son implémentation Elasticsearch montre une intégration transparente et facile à comprendre. Supposons qu'il existe un index Elasticsearch rempli de données et que son mappage de données utilisé est le même que celui décrit dans l'article précédent. Les étapes suivantes illustrent le code du corps de la demande de l'API REST.

Collecter tous les documents pertinents grâce à l'opération de recherche

Utilisez une requête "bool" avec une clause "must" pour collecter les documents avec le symbole FDEV et la date entre le 1er février 2021 et le 31 mai 2021. En raison du calcul de la moyenne mobile de 26 jours de bourse, des données supplémentaires sont ajustées pendant 1.5 mois (du 15 décembre 2021 au 1 février 2021)

Calculer la valeur typique quotidienne du fonds

Utilisez une agrégation « date_histogram », nommée MACD, avec le paramètre « champ » comme « date » et le paramètre « intervalle » comme « 1j » pour extraire les prix du fonds chaque jour. Ensuite, suivi d'une agrégation "scripted_metric", nommée TP, pour calculer le prix typique, qui est égal au prix moyen du plus haut, du plus bas et du prix de clôture.

Extraire la date du bucket

En raison des données supplémentaires, les opérations suivantes doivent filtrer ultérieurement la partie hors plage. Une agrégation « min » nommée « DateStr » permet d'obtenir la date du bucket. Dans le serveur Elasticsearch, la date est stockée dans l'heure Epoch. L'unité de temps est la milliseconde et le fuseau horaire est UTC.

Sélectionnez les compartiments avec plus d'un document

Afin de filtrer les buckets vides (jours non commerciaux), une agrégation « bucket_selector », nommée STP, est utilisée pour sélectionner les buckets dont le nombre de documents est supérieur à 0.

Calculer quotidiennement l'EWMA de 12 jours de bourse et de 26 jours de bourse de la valeur typique

Utilisez une agrégation "moving_fn", nommée EWMA12, avec la fenêtre de paramètre comme 12 et le paramètre "buckets_path" comme TP.value pour calculer l'EWMA sur 12 jours de bourse de la valeur typique. EWMA est calculé en utilisant la fonction MovingFunctions.ewma avec le paramètre alpha comme 2/(window+1). L'agrégation EWMA26 peut se faire de la même manière.

Calculer MACD

Utilisez une agrégation « bucket_script », nommée macd, avec le paramètre « buckets_path » pour spécifier les résultats de EWMA12 et EWMA26. Ensuite, l'indicateur MACD est calculé selon l'équation du script.

Calculer la moyenne mobile simple quotidienne sur 10 jours de la valeur typique

Utilisez une agrégation "moving_fn", nommée SMA10, avec la fenêtre de paramètre comme 10 et le paramètre "buckets_path" comme MACD pour calculer le SMA sur 10 jours de la valeur MACD. La SMA est calculée à l'aide de la fonction moyenne non pondérée (MovingFunctions.unweightedAvg).

Calculer l'écart-type quotidien sur 10 jours de la valeur typique

Utilisez une agrégation "moving_fn", nommée SD10, avec la fenêtre de paramètre comme 10 et le paramètre "buckets_path" comme MACD pour calculer l'écart type MACD sur 10 jours. SD est calculé en utilisant la fonction d'écart type (MovingFunctions.stdDev).

Calculer MACD BB

Utilisez deux agrégations "bucket_script", nommées BBU10 et BBL10, avec le paramètre "buckets_path" pour spécifier les résultats de l'agrégation SMA10 et de l'agrégation SD10. Ensuite, les BBL10 et BBU10 sont calculés à partir de SMA10 avec plus ou moins la valeur de SD10.

Identifier le type de la valeur MACD

a) Utilisez une agrégation « dérivée » nommée MACD_Diff, avec le paramètre « buckets_path » pour spécifier la valeur de MACD afin de déterminer s'il s'agit d'un incrément ou d'une décrémentation par rapport au MACD à l'horodatage à venir.

b) Utilisez une agrégation « bucket_script », nommée MACDType, avec le paramètre « buckets_path » pour spécifier les résultats de l'agrégation BBL10, BBU10, macd et MACD_Diff pour classer le type de la valeur MACD.

Tapez 1 si MACD_Diff est un décrément et valeur macd < BBL
Tapez 2 si MACD_Diff est un incrément et valeur macd < BBL
Tapez 3 si MACD_Diff est un incrément et valeur macd > BBU
Tapez 4 si MACD_Diff est un décrément et valeur macd > BBU
Tapez 0 pour les autres cas

Filtrer les documents supplémentaires pour la sortie

Utilisez une agrégation "bucket_selector", nommée SMACD_BB, avec le paramètre "buckets_path" comme "DateStr" pour sélectionner les buckets corrects spécifiés dans l'instruction "script". Le critère de sélection correspond aux compartiments dont la date est égale ou postérieure au 1er février 2021 (l'heure d'époque 1612137600000 en millisecondes).

Après avoir collecté les résultats, nous pouvons dessiner les figures comme indiqué précédemment. La couleur des points pour le type 3 est bleu aqua, le type 4 est bleu, le type 1 est rouge, le type 2 est orange et les autres sont gris.

Les lecteurs peuvent également se référer au projet open-source sur GitHub (MACD_BB)

Remarques:

I. Merci à IEX (Investors Exchange) fournissant des données ETF et également GitHub fournissant un stockage de projet open source.

II. Cet article est basé sur une réflexion technique et ne constitue en aucun cas un conseil en investissement. Les lecteurs doivent prendre leurs propres responsabilités lorsqu'ils l'utilisent.

III. Il se peut qu'il y ait encore des erreurs dans l'article, et j'exhorte les lecteurs à me corriger.

IV. Ces lecteurs pensent que les intérêts peuvent se référer au livre écrit par l'auteur pour toutes les compétences de base d'Elasticsearch. « Advanced Elasticsearch 7.0 », août 2019, Packt, ISBN : 9781789957754.

Source: https://wtwong316.medium.com/when-macd-couples-with-bb-in-elasticsearch-3cca987c0678?source=rss——-8—————–cryptocurrency

Horodatage:

Plus de Moyenne