如何在 Quantlib python 中注销可观察对象?

How can I unregister observable objects in Quantlib python?

我对 Quantlib 有点陌生,想检查一下是否有办法在 Quantlib 中取消注册可观察对象的通知 python。

四处搜索,我发现 C++ 库中有类似

的方法
registerWith(Settings::instance().evaluationDate());

unregisterWithAll()

但我似乎无法在 Python 版本的 Quantlib 中找到它们,或者我不确定如何使用它们。这些是否已通过 SWIG 接口公开?

你试过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")