gpt4 book ai didi

c++ - 调试 Quantlib 源代码

转载 作者:太空宇宙 更新时间:2023-11-04 13:13:47 26 4
gpt4 key购买 nike

我最近开始在 Visual Studio 中使用 Quantlib。我已成功安装并运行 Quantlib。我还设法使用 Quantlib 为一些产品定价,例如 Swap 和 Swaption。掉期价格与我自己的 VBA 计算器非常匹配(<0.5% 的差异)。对于掉期价格,存在一些差异(大约 5%)。所以我想检查 Quantlib 中的所有中间结果,看看这 5% 的差异是从哪里来的。但是,我无法通过项目中的 Quantlib 源代码进行调试。我认为这是因为我的项目只包含预构建的 Quantlib 库和 boost 库,所以我只能在我的项目中看到头文件。但是,我不能在头文件中放置断点进行调试。

虽然我可以手动在 Quantlib 安装文件夹中找到源文件,但这对调试没有帮助。所以我的问题是,有什么方法可以在我的项目中单步执行 Quantlib 源代码?

比如我目前比较感兴趣的是BlackSwaptionEngine中的详细计算步骤。我只需要设置 swaption 和定价引擎,并使用 Quantlib NPV 函数得到结果:

boost::shared_ptr<Exercise> europeanExercise(new EuropeanExercise(expiryDate));
Swaption testSwaption(swap, europeanExercise);

boost::shared_ptr<PricingEngine> swaptionEngine(new BlackSwaptionEngine(forwardingTermStructure, Vol));

testSwaption.setPricingEngine(swaptionEngine);

double res = testSwaption.NPV();

是的,我可以得到结果。但我也想知道 BlackSwaptionEngine 内部的中间结果。因此逐步查看源代码似乎是找出这一点的好方法。如何在我的项目中包含 Quantlib 源代码以进行调试?

感谢任何帮助。非常感谢。

最佳答案

我最终成功地调试到了 Quantlib 源代码。正如 Luigi 所建议的,我们需要在 Debug 模式下构建 Quantlib,然后将库和目录链接为这个链接:

quantlib.org/install/vc10.shtml

然后,我们就可以在应用工程中单步执行Quantlib的源码了。

关于c++ - 调试 Quantlib 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38455629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com