Candlestick-Charts in Plotly

Vaibhav Vaibhav 20 Juni 2023
  1. Leuchter in Python
  2. Zeigen Sie ein Volumendiagramm zusammen mit dem Candlestick-Diagramm an
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:

Apple Stock Candlestick Plot

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:

Apple Stock Candlestick Plot mit Volumen

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.