More improvements to "A QuantLib Guide"
Welcome back.
This post follows in the footsteps of a similar one from a few months back. I’m hoping to establish a habit with this: periodic posts pointing out recent improvements in A QuantLib Guide. If you follow this blog, you’re already up to date with a few brand-new notebooks which I added in the past couple of months and I also published here as posts. Below, I’ll list some enhancements to existing content that might fly under the radar otherwise.
And if you find A QuantLib Guide useful and want to support the effort, you can do so by buying a PDF version on Leanpub, which also gives you free access to future updates.
But first, a PSA
Recent versions of the Visual C++ 2022 compiler (at least versions 17.14.2 through 17.14.7) have a known bug that, unfortunately, affects QuantLib heavily and makes it basically unusable. A fix has been implemented and will be released at some point; I still have had no feedback on whether the fix is included in the latest version, 17.14.8, which was just released as I write this.
Hopefully, this will be sorted out before I release QuantLib 1.39—but in the meantime, if you’re compiling QuantLib on Windows, either use the Visual C++ 2019 toolset (you can do that from VC++ 2022, as well) or downgrade your compiler to an earlier version.
And now, the actual changes
there are a couple of new sections in the notebook on inflation indexes and curves; namely, a section on adding seasonality to inflation curves and another section on perturbing the curves to calculate inflation DV01;
the notebooks on cash flows and bonds, fitted bond curves and vanilla bonds were updated to avoid deprecated method calls that will be removed in the upcoming QuantLib 1.39; more precisely, the calls to the
bondYieldmethod no longer take a price as a simple number but as aBondPricestructure containing the price and its type (clean or dirty);finally, this is not actually a change in the guide; but while we’re on the subject of version 1.39 and deprecated methods, you can also look at this pull request to see what other methods and classes were removed in C++ and this other one to see the corresponding deletions in the SWIG interfaces (and therefore in Python, Java and C#).
See you next time!

