1
2
3
4
5
6
7
8
9
10
11
12
13
|
from index_data import get_index_quotes, index_returns
import pandas as pd
## look at spreads
df = get_index_quotes("IG", [23, 24, 25, 26, 27], tenor=['3yr', '5yr', '7yr', '10yr'])
spreads = df.groupby(level=['date', 'tenor']).nth(-1)['closespread'].unstack(-1)
# remove 'yr'
spreads.columns = [int(col[:-2]) for col in spreads.columns]
spreads = spreads.sort_index(1)
spreads_diff = spreads.diff(axis=1)
spreads_diff = spreads_diff.filter([5, 7, 10])
spreads_diff.columns = ['3-5', '5-7', '7-10']
spreads_diff.plot()
|