Created
May 6, 2022 08:33
-
-
Save mjam03/365f234fc9f2a9755af32f889ecf785b to your computer and use it in GitHub Desktop.
fat_tails_and_their_impact_on_option_prices0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# usual suspects | |
import matplotlib.pyplot as plt | |
import numpy as np | |
import pandas as pd | |
import seaborn as sns | |
import scipy.stats as stats | |
import warnings | |
from scipy.integrate import simps | |
from scipy.interpolate import interp1d | |
# some config | |
%config Completer.use_jedi = False | |
warnings.filterwarnings('ignore') | |
sns.set() | |
# fetch index daily returns | |
DATA_PATH = './asset_data.csv' | |
df = pd.read_csv(DATA_PATH) | |
# set Date as dt format and index | |
df['Date'] = pd.to_datetime(df['Date']) | |
df.set_index('Date', inplace=True) | |
df = df[['SPX']] | |
# compute daily log returns | |
df['ret'] = np.log(df['SPX'] / df['SPX'].shift(1)).dropna() | |
# plot them | |
fig, ax = plt.subplots(ncols=1, figsize=(25,12)) | |
sns.distplot(df['ret'], kde=False, fit=stats.norm, ax=ax, bins=400) | |
# label them | |
ax.set_title("SPX Daily Log Returns Distribution Plot", fontsize=24) | |
ax.set_xlabel("Daily Log Return", fontsize=20) | |
ax.set_xticklabels(['{:,.0%}'.format(x) for x in ax.get_xticks()], fontsize=18) | |
ax.set_ylabel("Density", fontsize=20); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment