diff options
Diffstat (limited to 'python/exploration')
| -rw-r--r-- | python/exploration/test_cms.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/python/exploration/test_cms.py b/python/exploration/test_cms.py new file mode 100644 index 00000000..1a67c48a --- /dev/null +++ b/python/exploration/test_cms.py @@ -0,0 +1,24 @@ +from analytics.cms_spread import ( + quantlib_model, globeop_model, build_spread_index, VolatilityType) +from yieldcurve import YC +import pandas as pd + +cms30y2y, yc = build_spread_index(30, 2) +cap = 0.00758 +corr = 0.8 +r = [] +maturity = pd.Timestamp("2020-01-19") +today = pd.Timestamp.today() +for d in pd.bdate_range("2018-01-19", today, closed="left", normalize=True): + yc.link_to(YC(evaluation_date=d.date())) + yc.extrapolation = True + if d == pd.Timestamp("2018-02-16"): + continue + cms_spread_coupon_ln = quantlib_model(d, cms30y2y, yc, cap, corr, maturity) + rate1 = cms_spread_coupon_ln.rate + cms_spread_coupon_n = quantlib_model(d, cms30y2y, yc, cap, corr, maturity, + VolatilityType.Normal) + rate2 = cms_spread_coupon_n.rate + rate3 = globeop_model(d, cms30y2y, yc, cap, corr - 0.075, maturity) + r.append((d, rate1, rate2, rate3)) +df = pd.DataFrame(r, columns=['date', 'QL_ln', 'QL_n', 'Globeop']).set_index('date') |
