aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics/option.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics/option.py')
-rw-r--r--python/analytics/option.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/python/analytics/option.py b/python/analytics/option.py
index ef2c43bb..4cf52140 100644
--- a/python/analytics/option.py
+++ b/python/analytics/option.py
@@ -342,6 +342,9 @@ class BlackSwaption(ForwardIndex):
]
return "\n".join(s)
+ def __str__(self):
+ return "{} at 0x{:02x}".format(type(self), id(self))
+
class Swaption(BlackSwaption):
__slots__ = ["_cache", "_Z", "_w"]
def __init__(self, index, exercise_date, strike, option_type="payer",
@@ -414,7 +417,8 @@ class Swaption(BlackSwaption):
for k in super().__slots__:
setattr(black_self, k, getattr(self, k))
for k in ForwardIndex.__slots__:
- setattr(black_self, k, getattr(self, k))
+ if k != '__weakref__':
+ setattr(black_self, k, getattr(self, k))
black_self.pv = val
self.sigma = black_self.sigma