Blog

Technical articles on adjoint differentiation, quantitative finance, energy optimization, insurance risk, and scientific computing.

The Autocallable Risk Gap: Bumping vs Adjoint Greeks
Quantitative Finance 3 min read

The Greeks Your Risk System Isn't Showing You on Autocallables

Structured products with digital payoffs have a dirty secret: the Greeks your risk system reports are probably wrong. Bump-and-revalue on discontinuous payoffs produces numbers that depend on your bump size as much as on the market.

Natalija Karpichina
22x Faster Variable Annuity Risk: Breaking the Actuarial Bottleneck
Insurance & Pensions 5 min read

22× Faster Variable Annuity Risk

Every actuary says you can't apply adjoint differentiation to Variable Annuities — the ratchets are discontinuous, the lapse function is a step function, the withdrawal logic is a cascade of branches. We solved all of them.

Natalija Karpichina
Breaking the ALM Sensitivity Bottleneck
Insurance & Pensions 6 min read

Why Insurance ALM Still Uses a Method from the 1990s

Banks solved the sensitivity bottleneck over a decade ago with adjoint differentiation. Insurance hasn't. The barriers are engineering, not math — and none of them turned out to be showstoppers.

Natalija Karpichina
The Computation Bottleneck: Moving Beyond Data in Climate Risk
Quantitative Finance 6 min read

Climate Risk Is Not a Data Problem

The climate risk industry is built on a premise: banks get climate risk wrong because they lack data. The real bottleneck is computation — revaluing a portfolio under each scenario takes days, making sensitivity analysis infeasible.

Natalija Karpichina
The Differentiable Simulation Revolution: Beyond Reinforcement Learning
Machine Learning 5 min read

When Simulation Meets Neural Networks

Put a neural policy on the same differentiable tape as your simulation. Train with exact gradients. 50-350× faster than reinforcement learning, with better results and free Greeks.

Natalija Karpichina
The Anatomy of AAD-Native Architecture: Three Kernels and Four Abstractions
Architecture 5 min read

What AAD-Native Architecture Actually Looks Like

If you're designing a risk system from scratch, what should the architecture look like when you design around differentiation from day one? Four abstractions, three kernels, and one principle: separate the what from the how.

Natalija Karpichina
AAD Migration: From The 30-Year Rewrite to Incremental Upgrade
Quantitative Finance 4 min read

How to Actually Upgrade to AAD

Most AAD migration attempts stall because they try to refactor the entire library before turning AAD on. There's a faster path: change double to idouble, one pricer at a time, and see improvement at every step.

Natalija Karpichina
FRTB: Solving the Regulatory Compute Crisis
Quantitative Finance 1 min read

FRTB Isn't a Modelling Problem. It's a Compute Problem.

FRTB-IMA runs over weekends at many banks. The bottleneck is Greeks — bump-and-revalue makes sensitivity computation O(N) in risk factors. Adjoint differentiation collapses that to a single backward pass.

Natalija Karpichina
CPU vs GPU: Decoding the Quant Performance Gap
How-To 3 min read

Why You Might Not Need That GPU

The assumption that GPUs are 1000× faster than CPUs is wrong for most quant workloads. Modern CPUs with AVX-512 and adjoint differentiation close the gap — at 30% lower infrastructure cost.

Dmitri Goloubentsev
Python-Based Live Risk Platform
Case Study 1 min read

Python-Based Live Risk Platform

Sub-second portfolio updates in Python — AADC's JIT compilation eliminates the traditional choice between Python's development speed and C++ production performance.

Dmitri Goloubentsev
Why ML Frameworks Fail the Quant Finance Test
Machine Learning 2 min read

40-64× Faster Than JAX, PyTorch, and TensorFlow

ML frameworks are general-purpose differentiable programming tools. For quantitative finance workloads — Monte Carlo, path-dependent payoffs, iterative calibration — a domain-specific approach is 40-64× faster.

Dmitri Goloubentsev
From Batch to Real-Time Risk with Automated IFT
Architecture 3 min read

From Batch Risk to Real-Time Live Risk with Automated IFT

Overnight batch risk processing is the status quo. The Automatic Implicit Function Theorem turns any calibrated model into a live risk engine — 20ms pricing + Greeks for 1000 IR swaps via QuantLib.

Dmitri Goloubentsev
How-To 1 min read

How to Accelerate Existing Quant Libraries with AADC

A practical guide to integrating AADC into existing quantitative libraries — using ORE as the reference example, showing the black-box recording pattern that works on any C++ pricing library.

Dmitri Goloubentsev
Benchmarks 1 min read

Speeding Up QuantLib with AADC: ~300× Faster

Independent blog post by Serg Kozyarchuk demonstrating a 300× speedup on a 10,000 OIS swap portfolio using AADC with QuantLib — no QuantLib source code modifications required.

Dmitri Goloubentsev
How-To 1 min read

Accelerate QuantLib 6-100× Easily

Step-by-step guide to accelerating QuantLib with AADC — less than 1% code changes, 6-100× performance improvement, full adjoint Greeks included.

Dmitri Goloubentsev
Case Study 3 min read

ORE LiveRisk: 1 Million FX Trades Priced in 0.4 Seconds

A case study in accelerating Open Risk Engine without understanding its C++ codebase. The black-box approach: record QuantLib/ORE through operator overloading, compile, replay 245× faster.

Dmitri Goloubentsev
Python at C++ Speed: Real-Time Risk with AADC
How-To 1 min read

Accelerate Python Models with AADC

Prototype in Python, achieve C++ performance. AADC's JIT compiler extracts the computation graph from Python code and compiles it to native AVX-optimized machine code.

Dmitri Goloubentsev
Benchmarks 1 min read

Accelerating Simulations and Backpropagation with AADC

Joint Intel/MatLogica whitepaper documenting AADC performance on Intel Xeon CPUs — DAG extraction, JIT compilation, and benchmark results for financial simulation workloads.

Dmitri Goloubentsev
Quantitative Finance 1 min read

Accelerating ISDA SIMM Margin Optimization with AADC

Application note comparing AADC, PyTorch, and NumPy finite differences for ISDA SIMM margin optimization — AADC delivers exact gradients orders of magnitude faster.

Dmitri Goloubentsev

Interested in these opportunities?

Let's arrange a free demo for you and your team.

Book a Demo