我最近开始在Visual中使用Quantlib。我成功地安装和工作了Quantlib。我还设法使用Quantlib为一些产品定价,比如交换和交换。掉期价格与我自己的VBA计算器相当匹配(<0.5%的差异)。对于互换价格,有一些差异(约5%)。所以我想检查一下Quantlib的所有中间结果,看看5%的差异是从哪里来的。但是,我无法通过我的项目中的Quantlib源代码进行调试。我认为这是因为我的项目只包括预构建的Quantlib libary和boost libary,所以我只能在我的项目中看到头文件。但是,我不能将断点放在头文件中进行调试。
虽然我可以在Quantlib安装文件夹中手动定位源文件,但它无助于调试。那么,我的问题是,我是否可以在我的项目中逐步完成Quantlib源代码呢?
例如,我目前对BlackSwaptionEngine.中的详细计算步骤感兴趣我只需要设置交换和定价引擎,并使用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源代码包含在要调试的项目中?
任何帮助都是非常感谢的。非常感谢。
发布于 2016-07-20 08:10:48
最后,我成功地调试了Quantlib源代码。正如Luigi所建议的,我们需要在Debug模式下构建Quantlib,然后将库和目录链接为以下链接:
quantlib.org/install/vc10.shtml
然后,我们可以在应用程序项目中进入Quantlib的源代码。
https://stackoverflow.com/questions/38455629
复制相似问题