So erstellen sie ein candlestick-diagramm mit matplotlib in python
Ein Candlestick-Chart ist eine Art Finanzdiagramm, das die Preisbewegungen von Wertpapieren im Zeitverlauf anzeigt.
Das folgende Beispiel zeigt, wie Sie mithilfe der Matplotlib- Visualisierungsbibliothek in Python ein Candlestick-Diagramm erstellen.
Beispiel: Erstellen eines Candlestick-Diagramms in Python
Nehmen wir an, wir haben den folgenden Pandas-DataFrame, der den Eröffnungs-, Schluss-, Höchst- und Tiefstkurs einer bestimmten Aktie über einen Zeitraum von 8 Tagen anzeigt:
import pandas as pd #createDataFrame prices = pd. DataFrame ({' open ': [25, 22, 21, 19, 23, 21, 25, 29], ' close ': [24, 20, 17, 23, 22, 25, 29, 31], ' high ': [28, 27, 29, 25, 24, 26, 31, 37], ' low ': [22, 16, 14, 17, 19, 18, 22, 26]}, index=pd. date_range (" 2021-01-01 ", periods=8, freq=" d ")) #display DataFrame print (prices) open close high low 2021-01-01 25 24 28 22 2021-01-02 22 20 27 16 2021-01-03 21 17 29 14 2021-01-04 19 23 25 17 2021-01-05 23 22 24 19 2021-01-06 21 25 26 18 2021-01-07 25 29 31 22 2021-01-08 29 31 37 26
Mit dem folgenden Code können wir ein Candlestick-Diagramm erstellen, um die Kursbewegungen dieser Aktie über diesen Zeitraum von 8 Tagen zu visualisieren:
import matplotlib. pyplot as plt
#create figure
plt. figure ()
#define width of candlestick elements
width = .4
width2 = .05
#define up and down prices
up = prices[prices. close >=prices. open ]
down = prices[prices. close <prices. open ]
#define colors to use
col1 = ' green '
col2 = ' red '
#plot up prices
plt. bar (up. index , up. close -up. open , width, bottom=up. open , color=col1)
plt. bar (up. index ,up. high -up. close ,width2,bottom=up. close ,color=col1)
plt. bar (up. index , up. low -up. open , width2, bottom=up. open , color=col1)
#plot down prices
plt. bar (down. index , down. close -down. open , width, bottom=down. open , color=col2)
plt. bar (down. index , down. high -down. open , width2, bottom=down. open , color=col2)
plt. bar (down. index ,down. low -down. close ,width2,bottom=down. close ,color=col2)
#rotate x-axis tick labels
plt. xticks (rotation= 45 , ha=' right ')
#display candlestick chart
plt. show ()
Jede Kerze stellt die Preisänderung des Wertpapiers an einem bestimmten Tag dar. Die Farbe der Kerze verrät uns, ob der Kurs im Vergleich zum Vortag höher (grün) oder niedriger (rot) schloss.
Sie können die Breite der Kerzen und die verwendeten Farben jederzeit ändern, damit das Diagramm Ihren Wünschen entspricht.
Wir könnten zum Beispiel die Kerzen noch dünner machen und unterschiedliche Farben verwenden, um „hohe“ und „niedrige“ Tage darzustellen:
import matplotlib. pyplot as plt
#create figure
plt. figure ()
#define width of candlestick elements
width = .2
width2 = .02
#define up and down prices
up = prices[prices. close >=prices. open ]
down = prices[prices. close <prices. open ]
#define colors to use
col1 = ' black '
col2 = ' steelblue '
#plot up prices
plt. bar (up. index , up. close -up. open , width, bottom=up. open , color=col1)
plt. bar (up. index ,up. high -up. close ,width2,bottom=up. close ,color=col1)
plt. bar (up. index , up. low -up. open , width2, bottom=up. open , color=col1)
#plot down prices
plt. bar (down. index , down. close -down. open , width, bottom=down. open , color=col2)
plt. bar (down. index , down. high -down. open , width2, bottom=down. open , color=col2)
plt. bar (down. index ,down. low -down. close ,width2,bottom=down. close ,color=col2)
#rotate x-axis tick labels
plt. xticks (rotation= 45 , ha=' right ')
#display candlestick chart
plt. show ()
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere gängige Diagramme in Python erstellen:
So erstellen Sie mehrere Matplotlib-Plots auf einer einzelnen Figur
So zeichnen Sie ein Histogramm aus einer Datenliste in Python
So erstellen Sie Boxplots nach Gruppen in Python