Kiyosi
Kiyosi is a C++23 library for pricing vanilla, exotic, and structured derivatives, with Python bindings.
Features
- Vanilla, digital, Asian, barrier, accumulator, snowball, and phoenix instruments
- Analytic, tree-based, finite-difference, integral, and Monte Carlo pricing engines, with optional CUDA support for Monte Carlo
- Price-only valuation or on-demand calculation of selected Greeks
- Numerical analytics and solvers for implied volatility and coupons
- Trading calendars and observation schedule builders, including the SSE calendar
- A C++ core that builds independently of the Python bindings
Quick start with Python
Install Kiyosi from PyPI with Python 3.11 or newer:
python -m pip install kiyosi
Prebuilt x64 wheels are available for Windows and Linux. Installation on other platforms builds from source and requires CMake 3.28 or newer, Ninja, and a C++23 compiler.
Calculate the price of a European call with the analytic Black-Scholes engine:
from datetime import date
from kiyosi.instruments import EuropeanOption
from kiyosi.market import BlackScholesMertonParameters, PricingContext
from kiyosi.pricing import AnalyticVanillaEngine
valuation = date(2025, 1, 1)
option = EuropeanOption(
option_type="call",
strike=100.0,
effective_date=valuation,
expiry_date=date(2026, 1, 1),
)
context = PricingContext(
model_parameters=BlackScholesMertonParameters(
risk_free_rate=0.05,
dividend_yield=0.02,
volatility=0.20,
),
spot_price=100.0,
valuation_time=valuation,
)
engine = AnalyticVanillaEngine()
print(engine.price(option, context))
C++ library
The C++ core requires CMake 3.28 or newer, Ninja, and a C++23 compiler. On Linux, build, test, and install it with:
cmake --workflow --preset linux-release
cmake --install out/build/linux-release
On Windows, run the commands in a Visual Studio Developer PowerShell, replacing linux-release with windows-release.
After installation, link the exported CMake target:
find_package(kiyosi CONFIG REQUIRED)
target_link_libraries(my_app PRIVATE kiyosi::kiyosi)
Include the umbrella header with #include <kiyosi/kiyosi.hpp>. For examples of additional instruments and pricing engines, see examples/all_pricing_engines.cpp.
Validation
Pricing tests compare Kiyosi's results with reference values generated independently using QuantLib. QuantLib is used by the reference-generation tooling and is not required to build or run the C++ core. See the pricing benchmark matrix for performance comparisons.
License
Kiyosi is available under the MIT License.
Metadata
Release files for kiyosi 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kiyosi-0.8.0.tar.gz | 346.7 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| kiyosi-0.8.0-cp314-cp314-win_amd64.whl | CPython 3.14 | CPython 3.14 | Windows x86-64 | Details |
| kiyosi-0.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| kiyosi-0.8.0-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| kiyosi-0.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| kiyosi-0.8.0-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| kiyosi-0.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| kiyosi-0.8.0-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| kiyosi-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
Total release size: 16.5 MB
Release files / kiyosi-0.8.0.tar.gz
| Download URL | kiyosi-0.8.0.tar.gz |
|---|---|
| Size | 346.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f63743838e06d60c351b9a5d2eff247854cae85936a4d8be33b9517cce5186f0
|
|
BLAKE2b-256 checksum How to use checksums |
f88413dfd1f77bb6a372d07ce22f2ca66f08c0eef6e4fb30b614daa55fc757bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp314-cp314-win_amd64.whl
| Download URL | kiyosi-0.8.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a0a6e085ea2b902c65c9cdcba8a41d469f92471df24c5886a125afcd2583a036
|
|
BLAKE2b-256 checksum How to use checksums |
973097cdad3ece984152ada0dd12ae699a6e998e2cc6730ae27b968a4ecf62b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kiyosi-0.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1d3761332c7a0d46b7319b375459041cdbd34c3a7b47700196d9111ddb459df9
|
|
BLAKE2b-256 checksum How to use checksums |
ae1c50182eb2f0d6f363bf9ec48d8bde96211aa3ef6625aefb039065c9017529
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp313-cp313-win_amd64.whl
| Download URL | kiyosi-0.8.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c626ded0bce77133765993494ace5e7d7573d42205d67c31dfc9c495b75371ed
|
|
BLAKE2b-256 checksum How to use checksums |
5aa5be5bd76c1cff545bd51130a9ec3b5acc672d9cf8e92e0cc0f8cebc206816
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kiyosi-0.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ddd1c2d531cae86cf5c2f9d1a5184d2e9c0d496390810f5ec03233986290cfd
|
|
BLAKE2b-256 checksum How to use checksums |
bb4d512a8adbfc5bc9e68acf6268b35c3a5c38a68ee3712f9ab8efc493241e39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp312-cp312-win_amd64.whl
| Download URL | kiyosi-0.8.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a461d2f1c9ab33ec9dc9f2dd1b2aaee1a43acad44dc92e9c85eec1735fbe8a3a
|
|
BLAKE2b-256 checksum How to use checksums |
41a743dd0a0dc8a678359d17652d6d7a03db7e42cc66eb3cd061dc91ae9657a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kiyosi-0.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1a93946f645870ffca00bdfccc28dab40d1d8b6948a44827af2f9b94ee702368
|
|
BLAKE2b-256 checksum How to use checksums |
09921c5ca4f7ac260ddd71a2db9f28d2eb7f6315ec24eac259a6ecce94fbfc45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp311-cp311-win_amd64.whl
| Download URL | kiyosi-0.8.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f1a98ef29f3a0bf0071f6ef31ed797da09f6575cb354d59ee8dae3fa78cc4c66
|
|
BLAKE2b-256 checksum How to use checksums |
433c63c4d727c8f247b524b799d3d3df3ea5d4c9774fea7f8f68ae9979c9a219
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / kiyosi-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kiyosi-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d33f777c73e3522490a854c845cc932cb5a5a4d9ec3ed939ce4547900efb62d8
|
|
BLAKE2b-256 checksum How to use checksums |
3f5b4bec667dde8cb180a7cce3b66749eff903a4a32e425865b9ebb132b0f4a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency log