【问题标题】:How do I amend parameters in a Quantlib Option?如何修改 Quantlib 选项中的参数?
【发布时间】:2026-01-20 08:10:01
【问题描述】:

所以,我在 C# QuantLib 包装器中构建了一个 PlainVanilla 选项。然后在 Excel 中运行,通过 Excel DNA 为希腊人提供服务。一切正常。

我该怎么做,例如,如果底层证券价格发生变化,我想重新定价期权而不是再次创建整个对象?

例如,当我创建选项时:

QuoteHandle underlyingQuoteH = new QuoteHandle(new SimpleQuote(Convert.ToDouble(param.UnderlyerPrice)));

如何在不“重建”新期权对象的情况下简单地更新基础价格? Div Yield、RFR、Vol 等也是如此。

【问题讨论】:

    标签: c# quantlib excel-dna


    【解决方案1】:

    您需要保留SimpleQuote。你可以做类似的事情

    var underlyingQuote = new SimpleQuote(Convert.ToDouble(param.UnderlyerPrice));
    var underlyingQuoteH = new QuoteHandle(underlyingQuote);
    

    当参数值改变时,运行

    underlyingQuote.setValue(newPrice);
    

    【讨论】:

    • 谢谢路易吉。我正在考虑在 C# 层中缓存创建的选项,然后当重新计算从 Excel 进来时,我只需更新输入并按照 Excel 的要求调用相关的希腊语。我可以对用于创建股息收益率和无风险利率结构的 FlatForward 对象执行类似的过程吗?
    • 相同。保留对应的SimpleQuote 对象并调用setValue