aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/analytics/option.py9
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