Le tableau suivant a été présenté sur twitter. Ce graphique est
L'axe horizontal est VIX (indice de peur) et l'axe vertical est le taux d'augmentation / diminution pendant 100 jours (environ six mois). Il existe une corrélation positive entre le niveau de VIX et le taux d'augmentation et de diminution par la suite, et ce n'est pas une marche aléatoire. Étant donné que le VIX actuel est d'environ 40, il semble peu probable que le rendement après six mois soit négatif par rapport aux cas précédents (l'investissement est à vos propres risques!)
Cela signifie que.
Ce graphique a été créé en utilisant pandas_datareader
de Python pour obtenir le VIX (Fear Index) et l'indice boursier S & P500 à partir du site Web de la St. Louis Federated Bank.
Enregistrez le code ici.
Commencez par charger la bibliothèque.
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
#Précisez la date de début et la dernière date des données à acquérir
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2020, 5, 1)
#S&Obtenir les données P500
# 'SP500'Est-ce que S&Symbole boursier P500.
# 'fred'Cependant, il spécifie la St. Louis Federated Bank comme source de données.
#Le reste correspond à la date de début et au dernier jour.
eq = web.DataReader('SP500', 'fred', start, end)
#Obtenir des données VIX
# 'VIXCLS'Est le symbole boursier VIX.
vix = web.DataReader('VIXCLS','fred', start, end)
#Combinez les données acquises en une seule trame de données
df = pd.DataFrame(index = eq.index)
df['Equity'] = eq
df['VIX'] = vix
df.dropna(inplace = True)
Diverses données économiques et financières peuvent être obtenues auprès de la Fed de Saint-Louis. Site Web de la Fédération de St. Louis Le symbole ticker se trouve à la toute fin de l'URL de chaque donnée.
Exemple: Dans le cas de VIX, ce sera «VIXCLS» à la fin de l'adresse suivante. https://fred.stlouisfed.org/series/VIXCLS
python
#Fonction pour faire un graphique
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")
#Exécuter la fonction en spécifiant le nombre de jours de retour à calculer
chart(100)
↓ Ce graphique est créé.
plt.scatter(x = dfd['VIX'], y = dfd['Return'], alpha = 0.6, c = dfd['VIX'])
↑ Par c = dfd ['VIX']
de ce code, la couleur des points du graphe est modifiée en fonction de la valeur de VIX pour créer un effet de gradation.
python
df['VIX'].plot(title = 'VIX', figsize = (8,4))
python
df['Equity'].plot(title = 'S&P500', figsize = (8,4))
Avec DataReader, vous pouvez acquérir non seulement des données économiques de la Banque fédérale de Saint-Louis, mais également diverses données telles que les cours des actions et les taux de change. Pour plus de détails, reportez-vous à Data Reader Documents.
Recommended Posts