我最近开始在Visual Studio中使用Quantlib。我已经成功安装和工作了Quantlib。我还设法使用Quantlib为Swap和Swaption等产品定价。交换价格与我自己的VBA计算器相当匹配(<0.5%的差异)。对于Swaption价格,存在一些差异(约5%)。因此,我想查看Quantlib中的所有中间结果,看看这5%的差异来自何处。但是,我无法通过我的项目中的Quantlib源代码进行调试。我想这是因为我的项目只包含预先构建的Quantlib库和提升库,所以我只能在我的项目中看到头文件。但是,我不能在头文件中加入断点来进行调试。
虽然我可以在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源代码以进行调试?
感谢任何帮助。非常感谢。
答案 0 :(得分:0)
我最终成功调试了Quantlib源代码。正如Luigi所说,我们需要在 Debug 模式下构建Quantlib,然后将库和目录链接为此链接:
quantlib.org/install/vc10.shtml
然后,我们可以在应用程序项目中进入Quantlib的源代码。