Candlestick-Charts in Plotly
Data Science ist ein Zweig der Informatik, der Algorithmen, Prozesse, Systeme, Mathematik und wissenschaftliche Verfahren verwendet, um Erkenntnisse und Wissen aus strukturierten, unstrukturierten und verrauschten Daten zu extrahieren und diese Erkenntnisse zur Lösung von Geschäftsproblemen und zur Entwicklung lernbasierter Lösungen verwendet.
Python und R sind zwei Programmiersprachen, die in der Data-Science-Community wegen der Unterstützung und Fähigkeiten, die diese Sprachen bieten, bekannt sind.
Da die Datenvisualisierung eine Schlüsselkomponente der Datenwissenschaft ist, bietet Python eine Bibliothek, Plotly, die uns hilft, interaktive Diagramme und Karten zu erstellen.
Es unterstützt verschiedene Arten von Diagrammen wie Streudiagramme, Liniendiagramme, Balkendiagramme, Tortendiagramme, Blasendiagramme, Fehlerbalken, Histogramme, 2D-Histogramme, Heatmaps, Candlesticks, Mapbox-Choropleth-Karten, Clustergramme usw.
Dieser Artikel spricht über einen der Plots, die Plotly unterstützt, nämlich Candlesticks.
Leuchter in Python
Ein Candlestick-Diagramm ist eine Art Finanzdiagramm, das die Werte Hoch
, Tief
, Öffnen
und Schließen
für eine bestimmte x
-Koordinate beschreibt. Die Box in einer Kerze repräsentiert die Spanne zwischen den Werten open
und close
.
Die Linien, die die Enden der Boxen verlängern, stellen die Streuung zwischen den niedrigen und hohen Werten dar.
Wir können Candlestick-Charts mit Plotly erstellen. Ein einfaches Beispiel finden Sie im folgenden Python-Code.
import pandas as pd
from datetime import datetime
import plotly.graph_objects as go
dataFrame = pd.read_csv(
"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv"
)
figure = go.Figure(
data=[
go.Candlestick(
x=dataFrame["Date"],
open=dataFrame["AAPL.Open"],
high=dataFrame["AAPL.High"],
low=dataFrame["AAPL.Low"],
close=dataFrame["AAPL.Close"],
)
]
)
figure.show()
Ausgang:
Die Daten in der Datei sehen wie folgt aus. Es folgen die ersten zehn Zeilen der CSV-Datei.
Date,AAPL.Open,AAPL.High,AAPL.Low,AAPL.Close,AAPL.Volume,AAPL.Adjusted,dn,mavg,up,direction
2015-02-17,127.489998,128.880005,126.919998,127.830002,63152400,122.905254,106.7410523,117.9276669,129.1142814,Increasing
2015-02-18,127.629997,128.779999,127.449997,128.720001,44891700,123.760965,107.842423,118.9403335,130.0382439,Increasing
2015-02-19,128.479996,129.029999,128.330002,128.449997,37362400,123.501363,108.8942449,119.8891668,130.8840887,Decreasing
2015-02-20,128.619995,129.5,128.050003,129.5,48948400,124.510914,109.7854494,120.7635001,131.7415509,Increasing
2015-02-23,130.020004,133,129.660004,133,70974100,127.876074,110.3725162,121.7201668,133.0678174,Increasing
2015-02-24,132.940002,133.600006,131.169998,132.169998,69228100,127.078049,111.0948689,122.6648335,134.2347981,Decreasing
2015-02-25,131.559998,131.600006,128.149994,128.789993,74711700,123.828261,113.2119183,123.6296667,134.0474151,Decreasing
2015-02-26,128.789993,130.869995,126.610001,130.419998,91287500,125.395469,114.1652991,124.2823333,134.3993674,Increasing
2015-02-27,130,130.570007,128.240005,128.460007,62014800,123.510987,114.9668484,124.8426669,134.7184854,Decreasing
...
Als nächstes erstellen wir mit der Klasse Figure
eine Instanz, in der wir die Eigenschaft data
auf das Objekt einer Candlestick
-Klasse setzen. Für die Instanz der Candlestick
-Klasse setzen wir die x
-Werte auf die Date
-Spalte, open
auf die AAPL.Open
-Spalte, high
auf die AAPL.High
-Spalte, low
auf Spalte AAPL.Low
und close
zur Spalte AAPL.Close
der CSV-Datei.
Als nächstes zeigen wir das Candlestick-Diagramm mit der Methode show()
, die in der Instanz Figure
verfügbar ist.
Zeigen Sie ein Volumendiagramm zusammen mit dem Candlestick-Diagramm an
Um einen Volumenplot zusammen mit dem Candlestick-Plot anzuzeigen, können wir dem Candlestick-Plot einen kleineren Subplot hinzufügen. Dieses Diagramm befindet sich unterhalb des Candlestick-Diagramms und enthält Details über das täglich verkaufte Aktienvolumen.
Um eine Gitterstruktur zu erstellen, verwenden wir die Methode make_subplots()
und geben 2
Zeilen und 1
Spalten an. Als Nächstes erstellen wir ein Kerzendiagramm, wie oben beschrieben, und ein Balkendiagramm, um das Volumen darzustellen.
Zuletzt fügen wir beide Diagramme dem gerade erstellten Raster oder den untergeordneten Diagrammen hinzu und zeigen beide Diagramme an. Beachten Sie, dass die Anweisung figure.update(layout_xaxis_rangeslider_visible = False)
den vom Candlestick-Plot angebotenen Rangeslider deaktiviert.
Siehe dazu den folgenden Python-Code.
import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots
dataFrame = pd.read_csv(
"https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv"
)
figure = make_subplots(
rows=2, cols=1, shared_xaxes=True, vertical_spacing=0.05, row_width=[0.2, 0.7]
)
appleStockPlot = go.Candlestick(
x=dataFrame["Date"],
open=dataFrame["AAPL.Open"],
high=dataFrame["AAPL.High"],
low=dataFrame["AAPL.Low"],
close=dataFrame["AAPL.Close"],
)
volume = go.Bar(x=dataFrame["Date"], y=dataFrame["AAPL.Volume"], showlegend=False)
figure.add_trace(appleStockPlot, row=1, col=1)
figure.add_trace(volume, row=2, col=1)
figure.update(layout_xaxis_rangeslider_visible=False)
figure.show()
Ausgang: