Repository navigation
nanoql 2.1
·
23 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
- The C++ layer: each platform's C archive carries
nanoql.hpp, C++17 overnanoql.h, and a CMake package in
lib/cmake/nanoql/:find_package(nanoql CONFIG)givesnanoql::cppandnanoql::c, and a version request
follows CMake's SameMajorVersion rule. The C++ page covers installing, CMake and a first program
(#7). nanoql-bindwrites the C++ layer for a library of your own:cpp, andbuild'sinclude/beside the C
headers.- Migrating from QuantLib's C++: a guide pairs QuantLib's C++ with nanoql's
C++ layer for the rates products, beside the QuantLib-Python and QLNet guides.
Fixed
- Python:
OISRateHelper's tenor form andSwapRateHelper's two forms taking a rate can be called without
forward_startorfwd_start, as their defaults allow; they raised "no overload takes these arguments" (#8).
Validation
- The coverage figures count only the lines a test executes: the test data the runner built while discovering the
tests no longer counts as covered, so the same tests read slightly lower figures than 2.0's.
Known limits
- The Excel add-ins are unsigned. A firm whose Excel requires add-ins signed by a trusted publisher signs the
.xll
with its own certificate. - The add-ins run on the .NET 10 Desktop Runtime, Excel-DNA's just-in-time path, not compiled to native code.
- The bindings, the C++ layer among them, cover Windows x64 and Linux x64 (glibc 2.28 or later); Windows Arm64,
Linux Arm64 and macOS on Apple silicon follow in later releases, and Intel Macs have none, though nanoql's .NET
library runs there. - Python 3.11 or later.
- The Java layer is built and tested in the repository and not released.
The platforms in this release's run
- Windows x64: 8,622 of 8,622 tests pass, the reference platform.
- Linux x64: 8,549 of 8,622 tests pass; 73 fail, reported and not blocking:
NanoQL.Tests.Conventions.HestonSlvMcQualityMaximumTests.TheCalibrationsLargestErrorIsWithinFifteenBasisPoints,NanoQL.Tests.Divergences.AbcdCalibrationGuardTests.TheFitsQuantLibCompletesKeepItsBits(set: 5, a: 0.45336334464724903, b: -1.4254877636528123, c: 1.5935876342523034, d: 0.26597942707915356),NanoQL.Tests.Divergences.CalibrationBasketNominalTests.AFlippedSolutionKeepsItsNominal,NanoQL.Tests.Divergences.CirFellerConstraintTests.ACalibrationWithTheSpeedAndLevelFixedIsQuantLibs,NanoQL.Tests.Divergences.CmsCalibrationGuessTests.TheFixedPathStartsAtTheGuess,NanoQL.Tests.Divergences.CmsCalibrationReversionTransformTests.TheLevenbergMarquardtFitsKeepQuantLibsValues,NanoQL.Tests.Divergences.CmsCalibrationReversionTransformTests.TheSimplexFitsHaveAFiniteReversion,NanoQL.Tests.Divergences.CrossCurrencySwapCompoundedSpreadFairSpreadTests.TheBasisSwapsCompoundingLegsFairSpreadIsSolved,NanoQL.Tests.Divergences.CrossCurrencySwapCompoundedSpreadFairSpreadTests.TheFixedVsFloatingSwapsCompoundingLegsFairSpreadIsSolved,NanoQL.Tests.Divergences.CrossCurrencySwapCompoundedSpreadFairSpreadTests.TheMtMSwapsCompoundingLegsFairSpreadIsSolvedand 63 more. - macOS Arm64: 8,546 of 8,622 tests pass; 76 fail, reported and not blocking:
NanoQL.Tests.Conventions.BoostSignTests.TheSignOfANaNIsItsSignBit,NanoQL.Tests.Divergences.AbcdCalibrationGuardTests.TheFitsQuantLibCompletesKeepItsBits(set: 5, a: 0.45336334464724903, b: -1.4254877636528123, c: 1.5935876342523034, d: 0.26597942707915356),NanoQL.Tests.Divergences.BetaRiskTests.AMultiEventPathMovesItsLaterDatesOnly,NanoQL.Tests.Divergences.CTSMMCapletAlphaFormCalibrationTests.ACalibrationWhoseReturnedPassFitsKeepsQuantLibsNumbers,NanoQL.Tests.Divergences.CalibrationBasketNominalTests.AFlippedSolutionKeepsItsNominal,NanoQL.Tests.Divergences.CirFellerConstraintTests.ACalibrationWithTheSpeedAndLevelFixedIsQuantLibs,NanoQL.Tests.Divergences.CmsCalibrationGuessTests.TheFixedPathStartsAtTheGuess,NanoQL.Tests.Divergences.CmsCalibrationReversionTransformTests.TheLevenbergMarquardtFitsKeepQuantLibsValues,NanoQL.Tests.Divergences.CmsCalibrationReversionTransformTests.TheSimplexFitsHaveAFiniteReversion,NanoQL.Tests.Divergences.CrossCurrencySwapCompoundedSpreadFairSpreadTests.TheBasisSwapsCompoundingLegsFairSpreadIsSolvedand 66 more. - The linux-x64 bindings: every check green.
- The win-x64 bindings: every check green.