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

时间:2019-10-03 17:23:22

标签: python quantlib

我对Quantlib有点陌生,想检查是否有一种方法可以注销Quantlib python中可观察对象的通知。

四处搜寻,我可以看到C ++库具有类似

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

unregisterWithAll()

但是我似乎在Quantlib的Python版本中找不到它们,或者我不确定如何使用它们。这些通过SWIG界面公开了吗?

1 个答案:

答案 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")