aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics/index.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics/index.py')
-rw-r--r--python/analytics/index.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/python/analytics/index.py b/python/analytics/index.py
index aa93b5ee..c4a28a7f 100644
--- a/python/analytics/index.py
+++ b/python/analytics/index.py
@@ -372,6 +372,15 @@ class Index(object):
else:
return None
+ def shock(self, params, *, spread_shocks, **kwargs):
+ r = []
+ orig_spread = self.spread
+ for s in spread_shocks:
+ self.spread = orig_spread * ( 1 + s )
+ r.append([getattr(self, p) for p in params])
+ self.spread = orig_spread
+ return pd.DataFrame(r, index=spread_shocks)
+
@classmethod
def from_name(cls, index=None, series=None, tenor=None, value_date=datetime.date.today(),
notional=10_000_000, redcode=None, maturity=None):