We managed to finalise the work on the Heston stochastic local volatility model calibration. The latest state is available on github. The implementation details would be too comprehensive for a blog entry. We’ve summarised them in a separate document.
Hello, I am using QuantLib-1.6.2 which is from September 8th, 2015. I believe the Heston SLV implementation is not included there. How could I add it to my quantlib? Thank you very much.
Easiest way is to download the zip from https://github.com/jschnetm/quantlib/archive/slv.zip or to clone the current development branch for the SLV model https://github.com/jschnetm/quantlib/tree/slv
The SLV implementation depends on newer features in Luigi’s QuantLib master and can not easily be back-ported to 1.6.2. Pull request for the official master exists and hopefully the SLV model will be integrated in QL 1.7.
Thank you very much. I downloaded the zip file, From the zip file I used QuantLib_vc14 to create the quantlib library. I then tried to build C:\Users\acer\Desktop\QuantLib-1.6.2\quantlib-slv\QuantLib\ql\experimental\models\hestonlsvmodel.cpp but I receive a long list of errors.
Severity Code Description Project File Line
Error LNK1120 42 unresolved externals ConsoleApplication1 C:\Users\acer\Desktop\QuantLib-1.6.2\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe 1
Severity Code Description Project File Line
Error LNK2001 unresolved external symbol “public: virtual char const * __thiscall QuantLib::Error::what(void)const ” (?what@Error@QuantLib@@UBEPBDXZ) ConsoleApplication1 C:\Users\acer\Desktop\QuantLib-1.6.2\Projects\ConsoleApplication1\ConsoleApplication1\Source.obj 1
Severity Code Description Project File Line
Error LNK2019 unresolved external symbol “public: class QuantLib::Disposable __thiscall QuantLib::FdmHestonGreensFct::get(double,enum QuantLib::FdmHestonGreensFct::Algorithm)const ” (?get@FdmHestonGreensFct@QuantLib@@QBE?AV?$Disposable@VArray@QuantLib@@@2@NW4Algorithm@12@@Z) referenced in function “protected: virtual void __thiscall QuantLib::HestonSLVModel::performCalculations(void)const ” (?performCalculations@HestonSLVModel@QuantLib@@MBEXXZ) ConsoleApplication1 C:\Users\acer\Desktop\QuantLib-1.6.2\Projects\ConsoleApplication1\ConsoleApplication1\Source.obj 1
And many more. When I try to build an example from the example folder it works fine. Also, building the hestonslvmodel.cpp in the test suit returns me an error. I would appreciate your help.
The error I receive when building the hestonslvmodel.cpp in the test-suite is:
Severity Code Description Project File Line
Error LNK1104 cannot open file ‘libboost_unit_test_framework-vc140-mt-gd-1_59.lib’ testsuite C:\Users\acer\Desktop\QuantLib-1.6.2\quantlib-slv\QuantLib\test-suite\LINK 1
looks like the link patch in Visual Studio does not point to your boost lib directory, s. http://quantlib.org/faq.shtml#Building%20QuantLib3
In short, please make sure that Solution Explorer-> testsuite -> Properties ->Linker -> General -> Additional Library Directories contains the path to your boost libs
I have done this, but it still does not work. Thank you very much though.
Hello, Has the SLV model been integrated in QL 1.7? Kind regards, Philipp
no, the patch was probably too big to be integrated on short notice. But the pull request #320 is on github and can be auto-merged into version 1.7