9 research outputs found

    QuantLib: a free/open-source library for quantitative finance

    No full text
    <h1>Downloads:</h1> <ul> <li><a href="https://github.com/lballabio/QuantLib/releases/download/v1.32/QuantLib-1.32.tar.gz">QuantLib-1.32.tar.gz</a></li> <li><a href="https://github.com/lballabio/QuantLib/releases/download/v1.32/QuantLib-1.32.zip">QuantLib-1.32.zip</a></li> </ul> <h1>Changes for QuantLib 1.32:</h1> <p>QuantLib 1.32 includes 34 pull requests from several contributors.</p> <p>Some of the most notable changes are included below. A detailed list of changes is available in ChangeLog.txt and at <a href="https://github.com/lballabio/QuantLib/milestone/29?closed=1">https://github.com/lballabio/QuantLib/milestone/29?closed=1</a>.</p> <h2>Portability</h2> <ul> <li><strong>Possibly breaking change:</strong> the protected <code>evaluationDate_</code> data member of the <code>SwaptionVolatilityDiscrete</code> class was renamed to <code>cachedReferenceDate_</code>.</li> <li><strong>Future end of support:</strong> we're targeting the future release 1.35 as the last to support Visual C++ 2015, g++ up to version 6.x, and clang up to version 4; support for those compilers will be dropped in release 1.36, about one year from now. From that point onwards, this will allows us to enable the use of C++17 in the code base.</li> <li><strong>Future end of support:</strong> at the same time as the above, we'll also remove the configure switch that allows to use <code>boost::tuple</code>, <code>boost::function</code> and <code>boost::bind</code> instead of their <code>std</code> counterparts; starting from this release, the <code>std</code> classes are already the default.</li> <li>Reorganized the CMake presets; thanks to the XAD team (@auto-differentiation-dev).</li> </ul> <h2>Cash flows</h2> <ul> <li>All cash flows are now lazy; thanks to Peter Caspers (@pcaspers).</li> </ul> <h2>Instruments</h2> <ul> <li>Overnight-indexed swaps can now have different schedules and nominals on the two legs; thanks to Tom Anderson (@tomwhoiscontrary).</li> <li>Margrabe options, compound options and chooser options were moved from experimental to core (@lballabio).</li> <li>Introduced common base class <code>FixedVsFloatingSwap</code> for vanilla swap and overnight-indexed swaps; this will be used in the future to help a few existing swap engines support OIS (@lballabio).</li> <li>Added optional <code>redemptions</code> argument to amortizing bond constructors. This allows them to be used for pools of loans where a certain proportion of the underlying loans are subject to defaults and losses. Thanks to Gyan Sinha (@gyansinha).</li> <li>It is now possible to manually prune the notification tree for swaps and bonds if one knows that the cashflows won't change pricer; thanks to Peter Caspers (@pcaspers).</li> </ul> <h2>Models</h2> <ul> <li>Fixed the algorithm to add instruments to the calibration set of the Markov model; thanks to Peter Caspers (@pcaspers) for the fix and Giuseppe Trapani (@lePidduN7) for the heads-up.</li> </ul> <h2>Term structures</h2> <ul> <li>Time-to-date conversion in some swaption volatility classes could return the wrong date before the first exercise date; this is now fixed, thanks to Peter Caspers (@pcaspers).</li> <li>It's now possible to specify the maximum number of iteration for the solver inside a bootstrapped term structure; thanks to Jonathan Sweemer (@sweemer) for the change and Daniel Ángeles Ortiz (@Danie8) for the heads-up.</li> <li>Reduced the number of notifications for bootstrap helpers; thanks to Peter Caspers (@pcaspers).</li> </ul> <h2>Random numbers</h2> <ul> <li>Added the xoshiro265** random-number generator; thanks to Ralf Konrad (@ralfkonrad). It is faster than the Mersenne Twister and might be used as default in the future.</li> </ul> <h2>Examples</h2> <ul> <li>The code of the examples has been modernized a bit; thanks to Jonathan Sweemer (@sweemer).</li> </ul> <h2>Patterns</h2> <ul> <li>Avoided a possible crash when using observables in a multi-threaded setting; thanks to Peter Caspers (@pcaspers).</li> </ul> <h2>Deprecated features</h2> <ul> <li><strong>Removed</strong> features deprecated in version 1.27:<ul> <li>The <code>QL_NULL_INTEGER</code>, <code>QL_NULL_REAL</code>, <code>QL_NOEXCEPT</code>, <code>QL_CONSTEXPR</code> and <code>QL_USE_STD_UNIQUE_PTR</code> macros.</li> <li>The <code>MultiCurveSensitivities</code> class.</li> <li>The <code>constant</code>, <code>identity</code>, <code>square</code>, <code>cube</code>, <code>fourth_power</code>, <code>add</code>, <code>subtract</code>, <code>subtract_from</code>, <code>multiply_by</code>, <code>divide</code>, <code>divide_by</code>, <code>less_than</code>, <code>greater_than</code>, <code>greater_or_equal_to</code>, <code>not_zero</code>, <code>not_null</code>, <code>everywhere</code>, <code>nowhere</code>, <code>equal_within</code>, <code>clipped_function</code>, <code>clip</code>, <code>composed_function</code>, <code>compose</code>, <code>binary_compose3_function</code> and <code>compose3</code> functors.</li> <li>The <code>PdeShortRate</code>, <code>ShoutCondition</code>, <code>FDShoutCondition</code>, <code>FDStepConditionEngine</code> and <code>FDEngineAdapter</code> classes from the old finite-differences framework.</li> <li>The <code>dsd::inner_product</code> function.</li> <li>The <code>FDDividendEngineBase</code>, <code>FDDividendEngineMerton73</code>, <code>FDDividendEngineShiftScale</code> and <code>FDDividendEngine</code> pricing engines.</li> <li>The empty headers <code>ql/auto_ptr.hpp</code>, <code>ql/math/initializers.hpp</code>, <code>ql/methods/finitedifferences/americancondition.hpp</code>, <code>ql/methods/finitedifferences/onefactoroperator.hpp</code>, <code>ql/pricingengines/vanilla/fddividendshoutengine.hpp</code>, <code>ql/pricingengines/vanilla/fdshoutengine.hpp</code> and <code>ql/utilities/disposable.hpp</code>.</li> </ul> </li> <li>Deprecated the overload of the <code>withReplication</code> method in the <code>DigitalIborLeg</code>, <code>DigitalCmsLeg</code> and <code>DigitalCmsSpreadLeg</code> classes that takes no arguments; use the other overload instead.</li> <li>Deprecated the <code>StandardFiniteDifferenceModel</code>, <code>StandardSystemFiniteDifferenceModel</code> and <code>StandardStepCondition</code> typedefs; define your own typedefs if needed.</li> <li>Deprecated the <code>FDVanillaEngine</code>, <code>FDMultiPeriodEngine</code>, <code>StepConditionSet</code>, <code>ParallelEvolverTraits</code>, <code>ParallelEvolver</code> and <code>SampledCurve</code>classes and the <code>BSMTermOperator</code> and <code>SampledCurveSet</code> typedefs; use the new finite-differences framework instead.</li> <li>Deprecated the <code>QL_NULL_FUNCTION</code> macro; to check if a function is empty, use it in a bool context instead.</li> <li>Deprecated the now empty headers <code>ql/experimental/exoticoptions/margrabeoption.hpp</code>, <code>ql/experimental/exoticoptions/analyticcomplexchooserengine.hpp</code>, <code>ql/experimental/exoticoptions/analyticeuropeanmargrabeengine.hpp</code>, <code>ql/experimental/exoticoptions/analyticcompoundoptionengine.hpp</code>, <code>ql/experimental/exoticoptions/simplechooseroption.hpp</code>, <code>ql/experimental/exoticoptions/compoundoption.hpp</code>, <code>ql/experimental/exoticoptions/analyticamericanmargrabeengine.hpp</code>, <code>ql/experimental/exoticoptions/analyticsimplechooserengine.hpp</code>, <code>ql/experimental/exoticoptions/complexchooseroption.hpp</code>, <code>ql/experimental/termstructures/multicurvesensitivities.hpp</code>, <code>ql/methods/finitedifferences/shoutcondition.hpp</code>, <code>ql/methods/finitedifferences/pdeshortrate.hpp</code>, <code>ql/pricingengines/vanilla/fddividendengine.hpp</code>, <code>ql/pricingengines/vanilla/fdstepconditionengine.hpp</code>, <code>ql/pricingengines/vanilla/fdconditions.hpp</code> and <code>ql/models/marketmodels/duffsdeviceinnerproduct.hpp</code>.</li> </ul> <p><strong>Thanks go also</strong> to Jonathan Sweemer (@sweemer), Ralf Konrad (@ralfkonrad), Klaus Spanderen (@klausspanderen), Peter Caspers (@pcaspers), Tom Anderson (@tomwhoiscontrary), Fredrik Gerdin Börjesson (@gbfredrik), Guillaume Horel (@thrasibule) and the XAD team (@auto-differentiation-dev) for a number of smaller fixes and improvements.</p> <h2>New Contributors</h2> <ul> <li>@gyansinha made their first contribution in https://github.com/lballabio/QuantLib/pull/1790</li> </ul> <p><strong>Full Changelog</strong>: https://github.com/lballabio/QuantLib/compare/v1.31.1...v1.32</p>If you use this software, please cite it using these metadata

    Fast Approximate Pricing for FX Target Redemption Forwards

    No full text

    Jamshidian Swaption Formula Fine Tuned

    No full text

    Farmer's CMS Spread Option Formula for Negative Rates

    No full text

    Implementation of the ZABR Model

    No full text
    corecore