Das folgende Diagramm wurde unter twitter vorgestellt. 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()
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
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.
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.
python
df['VIX'].plot(title = 'VIX', figsize = (8,4))
python
df['Equity'].plot(title = 'S&P500', figsize = (8,4))
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