[Python] Mit DataReader Wirtschaftsdaten abrufen

Das folgende Diagramm wurde unter twitter vorgestellt. VIX_SP500rtn.png Dieses Diagramm ist

Die horizontale Achse ist VIX (Angstindex) und die vertikale Achse ist die Anstiegs- / Abnahmerate für 100 Tage (etwa ein halbes Jahr). Es gibt eine positive Korrelation zwischen dem VIX-Niveau und der Geschwindigkeit der Zunahme und Abnahme danach, und es handelt sich nicht um einen zufälligen Spaziergang. Da der aktuelle VIX bei etwa 40 liegt, ist es unwahrscheinlich, dass die Rendite nach einem halben Jahr aus den vergangenen Fällen negativ ausfällt (die Investition erfolgt auf eigenes Risiko!).

Es bedeutet das.

Dieses Diagramm wurde mit Pythons pandas_datareader erstellt, um den VIX (Fear Index) und den S & P500 Stock Index von der Website der St. Louis Federated Bank zu erhalten.

Speichern Sie den Code hier.

Laden Sie zuerst die Bibliothek.

python


import pandas as pd
import numpy as np
import pandas_datareader.data as web

import datetime
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()

1. Holen Sie sich Daten mit DataReader

python


#Geben Sie das Startdatum und das letzte Datum der zu erfassenden Daten an
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2020, 5, 1)


#S&Holen Sie sich P500-Daten
# 'SP500'Ist S.&P500-Tickersymbol.
# 'fred'Es gibt jedoch die St. Louis Federated Bank als Datenquelle an.
#Der Rest ist das Startdatum und der letzte Tag.
eq = web.DataReader('SP500', 'fred', start, end)

#VIX-Daten abrufen
# 'VIXCLS'Ist das VIX-Tickersymbol.
vix = web.DataReader('VIXCLS','fred', start, end)

#Kombinieren Sie die erfassten Daten zu einem Datenrahmen
df = pd.DataFrame(index = eq.index)
df['Equity'] = eq
df['VIX'] = vix
df.dropna(inplace = True)

Verschiedene Wirtschafts- und Finanzdaten sind bei der St. Louis Fed erhältlich. St. Louis Fed. Website Der Symbol-Ticker befindet sich ganz am Ende der URL der einzelnen Daten.

Beispiel: Im Fall von VIX steht am Ende der folgenden Adresse "VIXCLS". https://fred.stlouisfed.org/series/VIXCLS

2. Erstellen Sie ein Diagramm

python


#Funktion zum Erstellen eines Diagramms
def chart(days):
    dfd = df.copy()
    dfd['Return'] = (dfd['Equity'].shift(-days) /  dfd['Equity'] -1)
    dfd.dropna(inplace = True)
    plt.figure(figsize = (8,4))
    plt.scatter(x = dfd['VIX'], y = dfd['Return'], alpha = 0.6, c = dfd['VIX'])
    plt.xlabel('VIX')
    plt.ylabel(str(days)+' days Return')
    plt.title('VIX and S&P500 '+str(days)+' days Returns (USD base)')
    plt.savefig('VIX_SP500rtn',bbox_inches="tight")

#Führen Sie die Funktion aus, indem Sie angeben, wie viele Tage der Rückgabe berechnet werden sollen
chart(100)

↓ Dieses Diagramm wird erstellt.

VIX_SP500rtn.png

plt.scatter(x = dfd['VIX'], y = dfd['Return'], alpha = 0.6, c = dfd['VIX']) ↑ Durch c = dfd ['VIX'] dieses Codes wird die Farbe der Punkte im Diagramm entsprechend dem Wert von VIX geändert, um einen Abstufungseffekt zu erzeugen.

Bonus 1: VIX-Chart

python


df['VIX'].plot(title = 'VIX', figsize = (8,4))

VIX.png

Bonus 2: SP500-Diagramm

python


df['Equity'].plot(title = 'S&P500', figsize = (8,4))

VIX.png

abschließend

Mit DataReader können Sie nicht nur Wirtschaftsdaten der St. Louis Federated Bank erfassen, sondern auch verschiedene Daten wie Aktienkurse und Wechselkurse. Weitere Informationen finden Sie unter Data Reader-Dokumente.

Recommended Posts

[Python] Mit DataReader Wirtschaftsdaten abrufen
Holen Sie sich Youtube-Daten mit Python
Holen Sie sich mit Python zusätzliche Daten zu LDAP
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Datenanalyse mit Python 2
Holen Sie sich ein Date mit Python
Datenanalyse mit Python
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Holen Sie sich den Ländercode mit Python
Mit Python erstellte Beispieldaten
Holen Sie sich Twitter-Timeline mit Python
Holen Sie sich die Thread-ID mit Python
Beginnen Sie mit Python! ~ ② Grammatik ~
Holen Sie sich Lager mit Python
Holen Sie sich das Home-Verzeichnis mit Python
Holen Sie sich Tastaturereignis mit Python
Holen Sie sich Alembic-Informationen mit Python
Lesen von JSON-Daten mit Python
Holen Sie sich Finanzdaten mit Python (dann ein wenig basteln)
Abrufen von Daten aus der Datenbank über ODBC mit Python (Access)
Holen Sie sich LeapMotion-Daten in Python.
Beginnen Sie mit Python! ~ ① Umweltbau ~
Link, um mit Python zu beginnen
Holen Sie sich Bewertungen mit Python Googlemap API
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich Web-Screen-Capture mit Python
Holen Sie sich das Wetter mit Python-Anfragen 2
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Erste Schritte mit Python
Python-Datenstruktur mit Chemoinfomatik gelernt
[Kleine Geschichte] Holen Sie sich mit Python einen Zeitstempel
Holen Sie sich Qiita-Trends mit Python-Scraping
Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Verarbeiten Sie Pubmed .xml-Daten mit Python
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Holen Sie sich zusätzliche Daten zu LDAP mit Python (Writer und Reader)
Beginnen Sie mit Python mit Blender
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Holen Sie sich Wetterinformationen mit Python & Scraping
Anwendung von Python: Datenbereinigung Teil 2: Datenbereinigung mit DataFrame
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Versuchen Sie, CloudWatch-Metriken mit der Python-Datenquelle re: dash abzurufen
Empfangen Sie Textdaten von MySQL mit Python
Holen Sie sich HTML von Element mit Python-Selen
Verarbeiten Sie Pubmed .xml-Daten mit Python [Teil 2]
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
Generieren Sie japanische Testdaten mit Python faker
[Python] Ruft den Variablennamen mit str ab
Konvertieren Sie Excel-Daten mit Python in JSON
Laden Sie japanische Aktienkursdaten mit Python herunter
Holen Sie sich Google Fit API-Daten in Python
Bearbeiten von DynamoDB-Daten mit Lambda (Node & Python)
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Beginnen wir mit TopCoder in Python (Version 2020)