Skip to main content

Kuwala Logo

Kuwala

A Unified, Arbitrage-Checked Quantitative Options & Volatility Research Library

License Python 3.9+ Rust Core Julia Scala 3 Tests Validation


What is Kuwala?

Kuwala is a high-performance quantitative finance library for derivatives pricing, arbitrage-free volatility surface modeling (SSVI, Dupire PDE), market data pipelines, high-frequency microstructure aggregation, and relative-value alpha signal research.

It pairs an approachable Python 3 research API with:

  • Compiled Rust Core (kuwala_core): Memory-safe PyO3 numerical kernels with Chebyshev rational approximations (>2.2M ops/s).
  • Ultra-Low Latency C++20 Engine (kuwala_cpp): Standalone SIMD-optimized engine achieving >11.9M pricing ops/s and >63.9M ticks/s.
  • Julia Scientific Research Package (julia/): Pure Julia mathematical module with LLVM JIT vectorization reaching >12.3M ops/s.
  • Scala / JVM Big Data Module (scala/): Primitive array batch pricing on Temurin JDK 17 / HotSpot C2 reaching >13.3M ops/s with near-zero parity error ($7.11 \times 10^{-15}$).
  • Embedded Out-of-Core Lakehouse: Zero-server Hive-partitioned Parquet storage queried via embedded DuckDB and Apache Arrow.

Empirical Graphs & Visualizations

1. Arbitrage-Free Volatility Smile Gradients

SSVI Volatility Smiles

Multi-tenor SSVI implied volatility smiles across expiries $T \in [0.08, 5.0\text{Y}]$. Demonstrates continuous log-moneyness skew, absence of butterfly arbitrage ($g(k) \ge 0$), and monotonic variance accumulation across maturities.


2. 3D Volatility Surface Topology

3D Volatility Surface

Continuous 3D volatility surface $(k, T) \mapsto \sigma(k, T)$ calibrated under Gatheral & Jacquier (2014) power-law formulation, providing a mathematically guaranteed arbitrage-free grid for discrete Dupire local volatility extraction.


3. Multi-Language Execution Throughput Comparison

Multi-Language Throughput Comparison

Benchmark throughput measured across Pure Python, Compiled Rust (kuwala_core), Native C++20 (kuwala_cpp), Julia 1.12.7, and Scala 3.9.0 on identical 1,000,000-option batches.


4. Out-of-Core Columnar Storage Performance (DuckDB vs. Pandas)

Storage Scaling Comparison

Direct Parquet query benchmarking on 1,000,000 rows. Embedded DuckDB achieves a 3.2x query speedup (0.1472s vs. 0.4706s) while maintaining a bounded near-zero heap memory footprint (<0.1 MB RAM) via memory-mapped predicate pushdown.


Core Capabilities (v0.2.0)

Capability Module Mathematical / Numerical Foundation
Black-Scholes & Black-76 Pricing kuwala.pricing Analytical formula with Chebyshev rational CDF ($< 10^{-12}$ accuracy) across C++, Julia, Scala, and Rust core.
Complete 1st & 2nd Order Greeks kuwala.pricing.greeks Analytical Delta, Gamma, Vega, Theta, Rho, Vanna, Volga, Charm with finite-difference parity.
Vectorized IV Inversion kuwala.volatility.iv Hybrid Halley cubic root finder + Brent fallback repricing at $2.88 \times 10^{-9}$ median price error.
Multi-Tenor Treasury Yield Curves kuwala.data.curves Nelson-Siegel (1987) & Natural Cubic Spline bootstrapping across 11 FRED pillars (1M to 30Y).
Synthetic Forward Curves & Dividends kuwala.data.forward Put-Call parity robust linear regression extracting $F(T)$ and discrete dividend jumps.
High-Frequency Microstructure kuwala.data.microstructure Tick-to-bar aggregation (1s to 1h), VWAP, effective spreads, and Lee-Ready tick rule.
Embedded Partitioned Storage kuwala.data.store Zero-server Hive-partitioned Parquet storage queried out-of-core via DuckDB (0 MB RAM footprint).
SSVI Volatility Surface Fitting kuwala.volatility.ssvi Gatheral & Jacquier (2014) surface SVI calibrated via Multi-Start Differential Evolution + L-BFGS-B.
Arbitrage Diagnostics kuwala.diagnostics Coordinate-level Durrleman butterfly non-negativity $g(k) \ge 0$ and calendar monotonicity $\partial_T w \ge 0$.
Dupire Local Volatility PDE kuwala.volatility.local_vol Discrete PDE extraction in total variance coordinates with arbitrage guard rails (1,220 / 1,220 positive nodes).
Realized Volatility & Signals kuwala.signals Close-to-Close, Parkinson, Garman-Klass, Rogers-Satchell, and Volatility Risk Premium (VRP).
Purged K-Fold Cross-Validation kuwala.signals.validation Lookahead-bias leakage guards with customizable embargo time buffers.

Reproducible Multi-Language Benchmarks (1M Options)

Measured on Windows 11 (x86_64, AMD/Intel Multi-Core) across identical Black-Scholes pricing vectors:

Language / Toolchain Runtime Total Time (1M Options) Throughput (Ops/sec) Latency per Item Invariant Parity Error
Scala 3.9.0 Eclipse Temurin JDK 17 (C2 JIT) 0.0750 s 13,331,450 ops/s 75.0 ns Parity: $7.11 \times 10^{-15}$
Julia 1.12.7 LLVM Native (Warm) 0.0808 s 12,374,210 ops/s 80.8 ns Parity: $< 10^{-14}$
C++20 MSVC 2022 (/O2 /fp:fast) 0.0836 s (scaled) 11,961,722 ops/s 83.6 ns Parity: $< 10^{-14}$
Python + Rust Core PyO3 Vectorized 0.4532 s 2,206,363 ops/s 453.2 ns Repricing: $2.88 \times 10^{-9}$
CPython 3.14 (Scalar) Bytecode Loop Baseline 2.3610 s (scaled) 423,368 ops/s 2,361.0 ns Exact analytical match

Comprehensive Engineering Audit & Technical Reports

All documentation is backed by empirical logs, raw market data, and verified test executions:


License

Kuwala is released under the Apache-2.0 License.

Metadata

Release files for kuwala 0.2.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 kuwala 0.2.0
File Size Uploaded
kuwala-0.2.0.tar.gz 59.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kuwala 0.2.0
File Interpreter ABI Platform
kuwala-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 119.5 kB

Release files / kuwala-0.2.0.tar.gz

Download URL kuwala-0.2.0.tar.gz
Size 59.7 kB
Tags Source
SHA-256 checksum
How to use checksums
19048d5b88539116bcb58655619f01c9f46efc0167553fd6e2e2d9ab22780d20
BLAKE2b-256 checksum
How to use checksums
aedce931d5f279d7117bbee374d19dd5ab552fccb2c7b36ebc7a8293c96fd984
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / kuwala-0.2.0-py3-none-any.whl

Download URL kuwala-0.2.0-py3-none-any.whl
Size 59.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dda21386044683dd4ee4aac1ec844f79317b96a42222d1b1d0f11a221b7dc198
BLAKE2b-256 checksum
How to use checksums
b4eb2080afd6e6e4efb19abd8b21dfaf9890f1d2e79e51c6a187840085b4c6e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 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