diff options
Diffstat (limited to 'python/analytics/index.py')
| -rw-r--r-- | python/analytics/index.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/python/analytics/index.py b/python/analytics/index.py index f8504916..1ff01b8b 100644 --- a/python/analytics/index.py +++ b/python/analytics/index.py @@ -313,13 +313,12 @@ class Index(): class ForwardIndex(Index): def __init__(self, index, forward_date): self.index = index - self.forward_date = forward_date - self.step_in_date = forward_date + datetime.timedelta(days=1) - value_date = (pd.Timestamp(forward_date) + 3* BDay()).date() - a = index._fee_leg.pv(index.trade_date, self.step_in_date, + step_in_date = forward_date + datetime.timedelta(days=1) + self.exercise_date_settle = (pd.Timestamp(forward_date) + 3* BDay()).date() + a = index._fee_leg.pv(index.trade_date, step_in_date, index.trade_date, index._yc, index._sc, False) - Delta = index._fee_leg.accrued(self.step_in_date) - df = index._yc.discount_factor(value_date) + Delta = index._fee_leg.accrued(step_in_date) + df = index._yc.discount_factor(self.exercise_date_settle) q = index._sc.survival_probability(forward_date) self._forward_annuity = a - Delta * df * q self._forward_pv = self._forward_annuity * (index.spread - index.fixed_rate) * 1e-4 |
