Abrufen von Börsenkursen mit Python

Hallo Habr! Ich präsentiere Ihnen die Übersetzung des Artikels „Historische Aktienkursdaten in Python“ von Ishan Shah.

Ein Artikel darüber, wie Sie tägliche historische Bestandsdaten mithilfe von Yfinance- und Minutendaten mithilfe von Alpha Vantage abrufen können.


Wie Sie wissen, sind Aktien ein sehr volatiles Instrument, und es ist sehr wichtig, das Kursverhalten sorgfältig zu analysieren, bevor Handelsentscheidungen getroffen werden. Nun, zuerst müssen Sie die Daten abrufen und Python kann dabei helfen.

Austauschdaten können mit verschiedenen Paketen heruntergeladen werden. Dieser Artikel behandelt Yahoo Finance und Alpha Vantage.

Yahoo Finanzen


Probieren Sie zuerst das yfianance-Paket aus. Es kann mit dem Befehl pip install yfinance installiert werden. Der folgende Code zeigt, wie Sie Daten für AAPL von 2016 bis 2019 abrufen und den angepassten Schlusskurs (angepasster Schlusskurs für Dividenden und Splits) in der Grafik erstellen.

# Import the yfinance. If you get module not found error the run !pip install yfianance from your Jupyter notebook
import yfinance as yf

# Get the data for the stock AAPL
data = yf.download('AAPL','2016-01-01','2019-08-01')

# Import the plotting library
import matplotlib.pyplot as plt
%matplotlib inline

# Plot the close price of the AAPL
data['Adj Close'].plot()
plt.show()

Bild

Wenn Sie mehrere Freigaben benötigen, müssen Sie den Code geringfügig ergänzen. Ein DataFrame wird zum Speichern von Werten verwendet. Mit dem matplotlib-Paket und den empfangenen Daten können Sie ein tägliches Rentabilitätsdiagramm erstellen.

# Define the ticker list
import pandas as pd
tickers_list = ['AAPL', 'WMT', 'IBM', 'MU', 'BA', 'AXP']

# Import pandas
data = pd.DataFrame(columns=tickers_list)

# Fetch the data

for ticker in tickers_list:
    data[ticker] = yf.download(ticker,'2016-01-01','2019-08-01')['Adj Close']

# Print first 5 rows of the data
data.head()

Bild

# Plot all the close prices
((data.pct_change()+1).cumprod()).plot(figsize=(10, 7))

# Show the legend
plt.legend()

# Define the label for the title of the figure
plt.title("Adjusted Close Price", fontsize=16)

# Define the labels for x-axis and y-axis
plt.ylabel('Price', fontsize=14)
plt.xlabel('Year', fontsize=14)

# Plot the grid lines
plt.grid(which="major", color='k', linestyle='-.', linewidth=0.5)
plt.show()

Bild

Bei den Werten für russische Aktien gibt es eine leichte Subtilität. Ein Punkt und Großbuchstaben ME werden zum Namen der Aktie hinzugefügt. Vielen Dank Experten auf dem Smartlab aufgefordert.

Bild

Holen Sie sich mit Alpha vantage winzige Daten


Leider können Sie mit der kostenlosen Version von Yahoo Finance keine Daten mit einer Häufigkeit von weniger als täglich empfangen. Zu diesem Zweck können Sie das Alpha Vantage-Paket verwenden, mit dem Sie Intervalle wie 1 Minute, 5 Minuten, 15 Minuten, 30 Minuten, 60 Minuten abrufen können.

Bild

In Zukunft können diese Daten analysiert, eine Handelsstrategie erstellt und die Wirksamkeit mithilfe des Pyfolio-Pakets bewertet werden. Darin können Sie das Sharpe-Verhältnis, den Sortino-Koeffizienten, den maximalen Drawdown und viele andere notwendige Indikatoren bewerten.

Ich hoffe , dass meine Übersetzung des ursprünglichen Artikels wird Ihnen nützlich sein. Der Code wurde überprüft und alles funktioniert. Im Moment ist die Frage für mich jedoch die Möglichkeit, Alpha Vantage für den russischen Markt zu nutzen.

Source: https://habr.com/ru/post/undefined/


All Articles