Implementierung von MACD in Python

Schriftsteller:Gutes, Erstellt: 2019-04-08 10:56:11, aktualisiert:

Der MACD ist ein häufig verwendeter technischer Indikator für den Handel mit Aktien, Währungen, Kryptowährungen usw.

Grundlagen des MACD

Der MACD wird in vielen verschiedenen Handelskreisen verwendet und diskutiert. Die Moving Average Convergence Divergence (MACD) ist ein Trendfolgende Indikator. Der MACD kann sehr einfach berechnet werden, indem der 26-Perioden-EMA von der 12-Perioden-EMA subtrahiert wird. Wir haben zuvor in unserem Artikel hier über EMAs diskutiert. Der MACD kann auf eine Handvoll verschiedene Arten verwendet und interpretiert werden, um dem Händler einen potenziellen Wert und Einblick in seine Handelsentscheidungen zu geben.

Nützliche Strategien

MACD wird üblicherweise verwendet, um Crossovers, Divergenzen und Perioden steiler Neigungen (positiv oder negativ) zu analysieren. Zusammen mit der MACD-Linie (durch Subtraktion der 12-Perioden-EMA von der 16-Perioden-EMA) enthält das Diagramm üblicherweise eine Signallinie, die oben auf dem MACD gezeichnet ist. Diese Signallinie ist eine 9-Tage-EMA des MACD.

Bei einem bullischen Crossover, genau wie bei Moving Averages, tritt ein Kaufsignal auf, wenn der MACD über die Signallinie geht. Ein bärisches Signal tritt auf, wenn der MACD unter die Signallinie geht. Wenn ein Crossover mit einem hohen geneigten MACD auftritt, kann dies ein Zeichen für einen Überkauf oder Überverkauf sein, je nachdem, ob der Crossover bullisch oder bärisch ist. Der MACD ist ein großartiger Indikator, um zu verstehen, ob die Preisbewegung stark oder schwach ist. Eine schwache Bewegung wird wahrscheinlich korrigiert und eine starke Bewegung wird wahrscheinlich weitergehen.

Die Differenzen sind auch einfach zu verstehen. Wenn der MACD einen hohen oder niedrigen Abweichung von Höhen oder Tiefen im Preis festlegt, stellt er eine Divergenz her. Eine bullische Divergenz ist vorhanden, wenn der MACD zwei steigende Tiefen auf dem MACD mit zwei fallenden Tiefen auf dem Vermögenswertpreis hat. Abweichungen können verwendet werden, um einen sich ändernden Trend zu finden. Händler suchen immer nach dem Wettbewerbsvorteil und die Vorhersage einer Trendänderung kann sehr profitabel sein. Natürlich sind Abweichungen nicht vollständig zuverlässig und sollten nur als zusätzliche Information verwendet werden, nicht als einzige Indikation für die Kursrichtung.

Eine steile Steigung kann eine Überkauf- oder Überverkaufssituation signalisieren. In einer solchen Situation wird ein Aktientrend wahrscheinlich bald an Fahrt verlieren und eine Korrektur oder Umkehrung der aktuellen Richtung sehen.

Implementierung von Python

Wir beginnen wie immer, indem wir eine Aktie auswählen und die Daten sammeln. Wie üblich werden wir unsere Analyse auf AMD durchführen und die IEX API verwenden, um die Daten zu erfassen. IEX war für mich immer eine sehr zuverlässige Datenquelle, aber Sie können Quandl oder eine andere Datenquelle verwenden, die Sie bevorzugen.

import pandas as pd
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
import pyEX as p
ticker = 'AMD'
timeframe = '6m'
df = p.chartDF(ticker, timeframe)
df = df[['close']]
df.reset_index(level=0, inplace=True)
df.columns=['ds','y']
plt.plot(df.ds, df.y, label='AMD')
plt.show()

imgAMD von Ende 2018 bis heute (Anfang 2019).

exp1 = df.y.ewm(span=12, adjust=False).mean()
exp2 = df.y.ewm(span=26, adjust=False).mean()
macd = exp1-exp2
exp3 = macd.ewm(span=9, adjust=False).mean()
plt.plot(df.ds, macd, label='AMD MACD', color = '#EBD2BE')
plt.plot(df.ds, exp3, label='Signal Line', color='#E5A4CB')
plt.legend(loc='upper left')
plt.show()

Das erlaubt uns, den MACD gegen die Signallinie zu zeichnen, um zu sehen, ob Sie die bullish und bearish Crossovers erkennen können!

imgMACD gegen Signallinie Schauen Sie sich die Grafik unten an. Waren Sie richtig? Denken Sie daran, ein bullish Crossover passiert, wenn der MACD über die Signallinie geht und ein bearish Crossover passiert, wenn der MACD unter die Signallinie geht.

imgDer bullische Crossover ist in grün dargestellt, der bärische Crossover in rot. Das obige Beispiel war eine einfache Möglichkeit, den MACD zur Untersuchung von Crossovers zu verwenden.

Wir beginnen mit der Implementierung der exponentiellen gleitenden Durchschnitte und MACD.

exp1 = df.y.ewm(span=12, adjust=False).mean()
exp2 = df.y.ewm(span=26, adjust=False).mean()
exp3 = df.y.ewm(span=9, adjust=False).mean()
macd = exp1-exp2
plt.plot(df.ds, df.y, label='AMD')
plt.plot(df.ds, macd, label='AMD MACD', color='orange')
plt.plot(df.ds, exp3, label='Signal Line', color='Magenta')
plt.legend(loc='upper left')
plt.show()

imgBlaue Linie ist der AMD-Aktienkurs, orange die MACD Wir können diese MACD-Linie ein wenig erweitern, indem wir sie getrennt vom Aktienkurs zeichnen und die steilen Steigungen klarer sehen.

imgMACD von Ende 2018 bis heute (Anfang 2019). Lassen Sie uns unsere Diskussion über Überkauf und Überverkauf von früher erinnern. Wir können sehen, dass der MACD im Laufe der Zeit ziemlich flach bleibt. Aber es gibt bestimmte Zeiten, in denen die MACD-Kurve steiler ist als andere. Dies sind Fälle von Überkauf oder Überverkaufszuständen. Wir repräsentieren unsere Überkaufszustände mit grünen Kreisen und Überkauf mit roten Kreisen. Sie können sehen, dass kurz nachdem der MACD eine Überkauf- oder Überverkaufszustand zeigt, die Dynamik verlangsamt ist und der Aktienkurs entsprechend reagiert.

imgGrüne Kreise entsprechen bullischer Divergenz, roter entspricht bärischer Divergenz. Wir haben kurz über MACD diskutiert und es in Python implementiert, um seine Verwendung in Crossovers und Überkauf/Überverkaufszuständen zu untersuchen.


Mehr