diff options
Diffstat (limited to 'python/analytics/option.py')
| -rw-r--r-- | python/analytics/option.py | 6 |
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 |
