我对Quantlib有点陌生,想检查是否有一种方法可以注销Quantlib python中可观察对象的通知。
四处搜寻,我可以看到C ++库具有类似
的方法registerWith(Settings::instance().evaluationDate());
unregisterWithAll()
但是我似乎在Quantlib的Python版本中找不到它们,或者我不确定如何使用它们。这些通过SWIG界面公开了吗?
答案 0 :(得分:1)
您是否尝试过unregisterWith
方法?
import QuantLib as ql
flag = None
def raiseFlag():
global flag
flag = 1
me = ql.SimpleQuote(0.0)
obs = ql.Observer(raiseFlag)
obs.registerWith(me)
me.setValue(3.14)
if not flag:
print("Case 1: Observer was not notified of market element change")
flag = None
obs.unregisterWith(me)
me.setValue(3.14)
if not flag:
print("Case 2: Observer was not notified of market element change")