Skip to main content

Kiyosi

Kiyosi is a C++23 library for pricing vanilla, exotic, and structured derivatives, with Python bindings.

PyPI License: MIT

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)

Source distribution for kiyosi 0.8.0
File Size Uploaded
kiyosi-0.8.0.tar.gz 346.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for kiyosi 0.8.0
File
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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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

Release history Release notifications | RSS feed

0.9.0

9 release files

This release

0.8.0 This release

9 release files

0.7.0

9 release files

0.6.0

9 release files

0.5.0

9 release files

0.4.0

9 release files

0.3.0

17 release files

0.2.0

5 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page