NanoQL 2.2.0
Prefix ReservedSee the version list below for details.
dotnet add package NanoQL --version 2.2.0
NuGet\Install-Package NanoQL -Version 2.2.0
<PackageReference Include="NanoQL" Version="2.2.0" />
<PackageVersion Include="NanoQL" Version="2.2.0" />
<PackageReference Include="NanoQL" />
paket add NanoQL --version 2.2.0
#r "nuget: NanoQL, 2.2.0"
#:package NanoQL@2.2.0
#addin nuget:?package=NanoQL&version=2.2.0
#tool nuget:?package=NanoQL&version=2.2.0
NanoQL
Quantitative finance for .NET, stateless by design: calendars, curves, instruments, pricing engines and models, each a plain function of its inputs, with market conventions as data. There are no observers, lazy objects or global evaluation date, so the same inputs always give the same results, on any thread.
dotnet add package NanoQL
It targets .NET 10. The conventions' XML format and the instruments and models beyond the core are in a second package, NanoQL.Extensions.
A first swap
A five-year SOFR swap on a flat curve. The evaluation date goes in an EvaluationContext, the curve and the swap are
values, and the engine is a static function of them:
using NanoQL;
using NanoQL.Indexes;
using NanoQL.Instruments;
using NanoQL.PricingEngines;
using NanoQL.TermStructures;
using NanoQL.Time;
var today = new Date(15, Month.October, 2026);
var context = new EvaluationContext { EvaluationDate = today };
var curve = new FlatForward(today, 0.036, new Actual365Fixed());
var swap = new MakeOIS(new Period(5, TimeUnit.Years), new Sofr(curve))
.WithFixedRate(0.036).WithNominal(10e6)
.ToOvernightIndexedSwap(context);
var result = DiscountingSwapEngine.Calculate(swap, context, curve);
Console.WriteLine($"NPV {result.NPV:N2}, fair rate {result.FairRate:P4}");
How it is checked
The core's results are checked against QuantLib 1.44, using test vectors generated by QuantLib's Python package and by QuantLib built from source; the extensions ported from QLNet are checked against QLNet 1.13.2. What the checks cover, per module, is on the validation page.
More
- Documentation, with getting started.
- Source and issues, and the changelog.
License
Apache 2.0. nanoql is derived from QuantLib. The package carries LICENSE, NOTICE and THIRD_PARTY_NOTICES.md,
which keep the copyright notices and licences of QuantLib and of the other code it carries.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NanoQL:
| Package | Downloads |
|---|---|
|
NanoQL.Extensions
nanoql's extensions: market conventions as XML data (calendars, day counts, indexes and the instruments' defaults), and instruments and models beyond the core. |
GitHub repositories
This package is not used by any popular GitHub repositories.