$4T+derivatives valued
Production ProvenMajor Wall St and global banks
Chartis Quantitative Analytics50 2025Chartis Quantitative Analytics50 2025
Chartis QuantTech50 2023 #10QuantTech50 2023 Top 10

Getting real performance from pricing and risk models requires thinking about everything: architecture, coding patterns, optimisations, and AAD.

We Built the Compiler.
So You Don't Have To.

AADC is a specialized JIT compiler that extracts your valuation graph and accelerates existing C++ and Python code—with minimal code changes. All sensitivities computed automatically.

6-1000× Faster pricing and greeks
<30 days To initial results
50%+ Saved in compute costs
Integration Minimal code changes, no new language
Compilation Fastest available for valuation graphs
Accuracy Numbers match exactly
AAD Adjoint factor <1
Integration

Integration Should Take
Days, Not Months

AADC uses operator overloading to capture your calculations as they run. No extensive refactoring. No new language to learn. No weeks of training.

📐 Change `double` to `idouble` and your code is ready for acceleration and automatic differentiation.
  • Typically less than 1% code changes
  • No C++ template complexity
  • Works with your existing design patterns
  • NumPy and Python supported
Why this matters: It's important that integration is straightforward—otherwise you spend months on infrastructure before seeing any results.
Your Code

Your Code. Minimal Changes.
Major Results.

Same logic. Type changes and recording setup. 6-1000× faster with all sensitivities.

NumPy
import numpy as np

# Vectorized NumPy Monte Carlo
def monte_carlo_european(S0, K, r, sigma, T, n_paths):
    dt = T / 252

    # Simulate GBM paths
    Z = np.random.randn(n_paths, 252)
    S = S0 * np.exp(np.cumsum((r - 0.5*sigma**2)*dt +
                    sigma*np.sqrt(dt)*Z, axis=1))

    payoffs = np.maximum(S[:,-1] - K, 0)
    return np.exp(-r*T) * np.mean(payoffs)

# Call function - returns value only
price = monte_carlo_european(100, 100, 0.05, 0.2, 1.0, 100000)
AADC
import aadc
import numpy as np

# Same NumPy code - no changes needed
def monte_carlo_european(S0, K, r, sigma, T, n_paths):
    dt = T / 252

    # Simulate GBM paths
    Z = np.random.randn(n_paths, 252)
    S = S0 * np.exp(np.cumsum((r - 0.5*sigma**2)*dt +
                    sigma*np.sqrt(dt)*Z, axis=1))

    payoffs = np.maximum(S[:,-1] - K, 0)
    return np.exp(-r*T) * np.mean(payoffs)

# One line to accelerate + get all Greeks
fast_mc = aadc.record(monte_carlo_european)
price, greeks = fast_mc(100, 100, 0.05, 0.2, 1.0, 100000)
6-1000× Faster
All Sensitivities
<1% Changes
Graph Capture

Capturing Your
Valuation Graph

When your code runs with AADC types, operator overloading captures a stream of elementary operations—building the complete computational graph of your valuation. This graph becomes the blueprint for optimization and automatic differentiation.

  • Captures full computation structure
  • Handles branches and conditions
  • Supports nested function calls
  • Works across C++ and Python boundaries
Why this matters: It's important the graph captures everything accurately—missing operations means wrong results in production.
Compilation

The Fastest Graph
Compilation Available

Traditional compilers (LLVM, GCC) aren't designed for runtime compilation of large computational graphs. Compilation time becomes part of your execution time. AADC's specialized JIT compiler is built specifically for financial valuation graphs—optimized for the patterns that appear in pricing and risk models.

  • Purpose-built for financial computations
  • Handles graphs with millions of operations
  • Compilation time suitable for production use
Compilation Time
AADC
~50ms
C++ (FD)
0ms
NumPy (FD)
0ms
50ms
AADC JIT compilation
Execution Time (Greeks)
AADC
6.33s
C++ (FD)
67.02s
NumPy (FD)
198.64s
31x faster
AADC vs NumPy
Why this matters: It's important compilation is fast enough for your workflow—whether that's pre-market batch or intraday recalculation.
MC Acceleration

Monte Carlo:
From Hours to Seconds

AADC compiles your Monte Carlo simulation into a single, optimized kernel: automatic vectorization (AVX2/AVX512), automatic multi-threading, cache-optimized memory layout, no interpreter overhead (Python).

  • XVA calculations
  • VaR & stress testing
  • Exotic derivatives pricing
  • American Monte Carlo (Longstaff-Schwartz)
Why this matters: It's important the speedup holds on real workloads—not just toy benchmarks, but production code with your actual models.
Typical Speedup
C++ 6-100×
Python 100-1000×
AAD

All Greeks. Automatically.
Adjoint Factor < 1.

AADC computes all sensitivities automatically using Adjoint Algorithmic Differentiation—no manual derivative coding. The breakthrough: adjoint factor <1 means computing the price plus all Greeks takes less time than computing just the price with your original code.

Why this matters: It's important the numbers match exactly—you need to validate results and explain any differences during testing.
The Breakthrough

Industry experts said adjoint factor <1 was theoretically impossible. Published research (2019) demonstrated it's achievable.

Tape-based AAD 2-5×
AADC 0.3-0.8
Live Risk

Live Risk. For Everyone.

Real-time portfolio revaluation with automatic Greeks. Choose your path.

Live Risk

Turn Batch into Real-Time

Turn your batch-processing risk analytics into "always on" Live Risk server.

This example is based on QuantLib, supercharged by MatLogica AADC. Hit "Launch The Live Risk App" in the widget to see it live!

Read More
Beyond Finance

Beyond Finance:
ML & Scientific Computing

AADC's JIT compilation and automatic differentiation work for any numerical code—not just finance.

  • Neural network training
  • Time series analysis
  • Physics simulations
  • Optimization problems

"For applications like time series analysis, recursive neural nets, and similar, the performance of MatLogica AADC is impressive."

— Dr. Roland Olsson, Østfold University College
Summary

Performance
Without Compromise

We've thought about the hard problems—so you can focus on finance.

What Practitioners Say

Build & Deploy

Compile and deploy application to production

Ready
TRADITIONAL
Orchestration Layer

Distribute work across grid, manage scheduling

AADC
Kernel Layer

JIT compile to optimized machine code

NPVCurvesGreeksMCXVA
Execution Layer
TRADITIONAL
0.0s Cost: $$$
AADC
0.0s Cost: $
AADC Core
Operator Overloading - Recording
Code Widget Processing
Graph Extraction
Computation Graph
JIT Compiled Graph
Monte Carlo Acceleration
AAD Both Kernels
Cloud Deployment
Scroll to explore

See It With Your Own Code

Book a technical demo. We'll show AADC accelerating real derivatives models—and answer every question about how it works.