När MACD kopplar ihop med BB i Elasticsearch, … PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När MACD parar med BB i Elasticsearch, ...

Wai Tak Wong

Moving Average Convergence Divergence (MACD) är en trend- och momentumbaserad indikator, medan Bollinger Bands (BB) är en volatilitetsbaserad indikator. När MACD kopplar ihop med BB, kallar vissa proffs det MACD BB, och andra kallar det BB MACD. I den här artikeln används namnet MACD BB. Kombinationen av två tekniska analysindikatorer ärver de två indikatorernas förmåga och ger insikt i marknadstrender. Från min intensiva webbsökning finns det ingenstans att säga vem som uppfann denna indikator. Om någon vet, dela gärna källan. Men många handelsplattformar och forum tillhandahåller denna indikator som en avancerad funktion. Läsare rekommenderas att läsa mina två tidigare artiklar för att snabbt få en grundläggande förståelse för dessa två indikatorer och deras implementering med Elasticsearch.
Enligt ekvationen som beskrivs i artikeln "Konstruera MACD Histogram med Elasticsearch”, involverar MACD ett kortsiktigt och ett långsiktigt exponentiellt vägande glidande medelvärde (EWMA). Vanliga metoder för dessa två termer är 12 och 26.

När MACD kopplar ihop med BB i Elasticsearch, … PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

I artikeln "Beräkna Bollinger bandbredd genom Elasticsearch”, BB är baserat på det enkla glidande medelvärdet (SMA) och standardavvikelsen (SD) för de dagliga priserna för att konstruera det övre bandet (BBU) och det nedre bandet (BBL). Mittlinjen för BB är SMA. Från terminologin för MACD BB använder den MACD istället för pris. Beräkningen av BBL och BBU förklaras enligt följande, där det glidande fönstret (fönstret) är 20 eller 26, och standardavvikelsen (n) är 1 eller 2 i vanlig praxis.

I grund och botten kommer MACD, BBU och BBL att plottas på ett diagram och användare kan observera skärningspunkterna mellan MACD och de två banden. När MACD bryter igenom BBU visar den en stark upptrendsignal. På liknande sätt, när MACD bryter igenom BBL, visar den en stark nedåtgående signal. Det är mycket lättare att använda diagram för att beskriva innebörden. I den här artikeln försöker vi tillämpa MACD och BB på provisionsfria börshandlade fonder (ETF) och fokuserar på Elasticsearch som analysverktyg. Följande exempel väljer "Fidelity International Multifactor ETF" slumpmässigt. Dess tickersymbol är FDEV. Uppgifterna väljs från tidsintervallet mellan 1 februari 2021 och 31 maj 2021 från IEX, Investors Exchange. De mest använda parametrarna för MACD är 12 för kort sikt och 26 för lång sikt. Enligt många internetartiklar, när man beräknar BB, är perioden för SMA 10 och standardavvikelsen för BB är 1.
I figuren nedan är MACD och dess BBL, BBU och SMA plottade. Om MACD-värdet är över BBU och är ett steg när det jämförs med värdet i tidsstämpeln framåt, är det en aqua-blå prick. Om MACD-värdet är över BBU och är en minskning är det en blå prick. Om MACD-värdet är under BBL och är en minskning är det en röd prick. Om MACD-värdet är under BBL och är ett steg är det en orange prick. För andra fall är det en grå prick. Läsare kan lätt observera att de röda/orange linjerna är under BBL och de blå/akva-blå linjerna är ovanför BBU. Dessutom, när MACD-värdet stiger från under noll och korsar noll (tänk på en hausseartad signal som genereras från MACD), finns det en motsvarande vattenblå prick som följs noga i de flesta fall. På samma sätt, när MACD-värdet sjunker från över noll och korsar noll (tänk på en baisseartad signal som genereras av MACD), kommer en motsvarande röd prick att följa. Linjens lutning indikerar trendens momentum.

Men när vi försöker förklara punkten när MACD-värdet slår igenom från BBU eller BBL i kombination med typiska värden, verkar det inte matcha prisets uppåt- eller nedåtgående trend, som visas i figuren nedan. Potentiella tecken på ökad volatilitet och möjliga framtida handelsmöjligheter är inte lätta att fånga och ibland är riktningen omvänd.

Även om de flesta handelsplattformar tillhandahåller MACD BB-indikator och ger samma kommentar, "Det är inte lämpligt för nybörjare", visar dess Elasticsearch-implementering sömlös integration och lätt att förstå. Anta att det finns ett Elasticsearch-index fyllt med data, och dess datamappning som används är densamma som beskrivits i föregående artikel. Följande steg visar koden för REST API-begäran.

Samla alla relevanta dokument genom sökoperationen

Använd en "bool"-fråga med en "måste"-klausul för att samla in dokument med symbolen FDEV och datumet mellan 1 februari 2021 och 31 maj 2021. På grund av beräkningen av glidande medelvärde för 26 handelsdagar, justeras ytterligare data i 1.5 månad (från 15 december 2021 till 1 februari 2021)

Beräkna fondens dagliga typiska värde

Använd en "date_histogram"-aggregation, benämnd MACD, med parametern "field" som "date" och parametern "intervall" som "1d" för att extrahera fondens priser varje dag. Sedan följt av en "scripted_metric"-aggregation, kallad TP, för att beräkna det typiska priset, vilket är lika med det genomsnittliga priset för det högsta, det lägsta och slutpriset.

Extrahera datumet för hinken

På grund av ytterligare data måste efterföljande operationer filtrera bort delen utanför intervallet senare. En "min" aggregering med namnet "DateStr" är för att få datumet för hinken. I Elasticsearch-servern lagras datumet i epoktid. Tidsenheten är millisekunder och tidszonen är UTC.

Välj hinkar med mer än 1 dokument

För att filtrera bort de tomma buckets (icke-handelsdagar) används en "bucket_selector"-aggregation, kallad STP, för att välja buckets med dess dokumentantal större än 0.

Beräkna dagliga 12-handelsdagar och 26-dagars EWMA av det typiska värdet

Använd en "moving_fn"-aggregation, benämnd EWMA12, med parameterfönstret som 12 och parametern "buckets_path" som TP.value för att beräkna EWMA på 12 handelsdagar för det typiska värdet. EWMA beräknas genom att använda funktionen MovingFunctions.ewma med parametern alfa som 2/(fönster+1). EWMA26-aggregationen kan göras på samma sätt.

Beräkna MACD

Använd en "bucket_script"-aggregation, benämnd macd, med parametern "buckets_path" för att specificera resultaten från EWMA12 och EWMA26. Sedan beräknas MACD-indikatorn enligt ekvationen i skriptet.

Beräkna det dagliga 10-dagars enkla glidande medelvärdet av det typiska värdet

Använd en "moving_fn"-aggregation, benämnd SMA10, med parameterfönstret som 10 och parametern "buckets_path" som MACD för att beräkna 10-dagars SMA för MACD-värdet. SMA beräknas med hjälp av den oviktade genomsnittsfunktionen (MovingFunctions.unweightedAvg).

Beräkna den dagliga 10-dagars standardavvikelsen för det typiska värdet

Använd en "moving_fn"-aggregation, benämnd SD10, med parameterfönstret som 10 och parametern "buckets_path" som MACD för att beräkna 10-dagars MACD-standardavvikelsen. SD beräknas med hjälp av standardavvikelsefunktionen (MovingFunctions.stdDev).

Beräkna MACD BB

Använd två "bucket_script"-aggregationer, benämnda BBU10 och BBL10, med parametern "buckets_path" för att specificera resultaten från SMA10-aggregation och SD10-aggregation. Sedan beräknas BBL10 och BBU10 från SMA10 med plus eller minus värdet på SD10.

Identifiera typen av MACD-värdet

a) Använd en "derivata" aggregering med namnet, MACD_Diff, med parametern "buckets_path" för att specificera värdet på MACD för att avgöra om det är ett inkrement eller en dekrement från MACD:n vid tidsstämpeln framåt.

b) Använd en "bucket_script"-aggregering, benämnd MACDType, med parametern "buckets_path" för att specificera resultaten från BBL10, BBU10, macd och MACD_Diff-aggregation för att klassificera typen av MACD-värde.

➤ Skriv 1 om MACD_Diff är ett dekrement och macd-värde < BBL
➤ Skriv 2 om MACD_Diff är ett inkrement och macd-värde < BBL
➤ Skriv 3 om MACD_Diff är ett inkrement och macd-värde > BBU
➤ Skriv 4 om MACD_Diff är ett dekrement och ett macd-värde > BBU
➤ Skriv 0 för andra fall

Filtrera bort de ytterligare dokumenten för utskrift

Använd en "bucket_selector"-aggregering, benämnd SMACD_BB, med parametern "buckets_path" som "DateStr" för att välja rätt buckets som anges i "script"-satsen. Urvalskriteriet är de segment som har datumet den 1 februari 2021 eller senare (epoken 1612137600000 i millisekunder).

Efter att ha samlat in resultat kan vi rita figurerna som visas tidigare. Prickfärgen för typ 3 är aqua-blå, typ 4 är blå, typ 1 är röd, typ 2 är orange och de andra är grå.

Läsare kan vidare hänvisa till open source-projektet på GitHub (MACD_BB)

Anmärkningar:

I. Tack vare IEX (Investors Exchange) som tillhandahåller ETF-data och även GitHub som tillhandahåller projektlagring med öppen källkod.

II. Den här artikeln är baserad på en teknisk tanke och utgör inget investeringsråd. Läsarna måste ta sitt eget ansvar när de använder den.

III. Det kan fortfarande finnas fel i artikeln, och jag uppmanar läsarna att rätta mig.

IV. De läsare som känner intresse kan hänvisa till boken författad av författaren för alla grundläggande färdigheter i Elasticsearch. "Advanced Elasticsearch 7.0", augusti 2019, Packt, ISBN: 9781789957754.

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

Tidsstämpel:

Mer från Medium