diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/analytics/option.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/python/analytics/option.py b/python/analytics/option.py index d3012470..13522a59 100644 --- a/python/analytics/option.py +++ b/python/analytics/option.py @@ -166,7 +166,7 @@ class BlackSwaption(ForwardIndex): def handle(x): self.sigma = x - return self.pv_black - val + return self.pv - val eta = 1.01 a = 0.1 b = a * eta @@ -348,7 +348,12 @@ class Swaption(BlackSwaption): @pv.setter def pv(self, val): # use sigma_black as a starting point - super().pv = val + black_self = BlackSwaption.__new__(BlackSwaption) + black_self.__dict__ = vars(self).copy() + black_self._cache = {} + black_self.pv = val + self.sigma = black_self.sigma + def handle(x): self.sigma = x return self.pv - val |
