Chartis Quantitative Analytics50 2025
QuantTech50 2023 Top 10Getting real performance from pricing and risk models requires thinking about everything: architecture, coding patterns, optimisations, and AAD.
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.
AADC uses operator overloading to capture your calculations as they run. No extensive refactoring. No new language to learn. No weeks of training.
Same logic. Type changes and recording setup. 6-1000× faster with all sensitivities.
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)
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)
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.
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.
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).
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.
Industry experts said adjoint factor <1 was theoretically impossible. Published research (2019) demonstrated it's achievable.
Real-time portfolio revaluation with automatic Greeks. Choose your path.
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 MoreWhether you're building new, modernizing old, replacing vendors, or cutting cloud costs—the same technology applies.
AADC's JIT compilation and automatic differentiation work for any numerical code—not just finance.
"For applications like time series analysis, recursive neural nets, and similar, the performance of MatLogica AADC is impressive."
— Dr. Roland Olsson, Østfold University College
We've thought about the hard problems—so you can focus on finance.
MatLogica offers a unique AAD engine, bundled with a purposely developed just-in-time compiler, whereby banks can effortlessly optimize existing code with AAD, into machine code optimized for modern hardware. Because of this optimizing compiler, Matlogica's offering currently stands way above competition. I have seen the results and they are truly impressive.
One notable feature of AADC is that complex model calibration procedures do not require any special attention as is often the case with other AAD approaches. For example, we 'AADC-record' simple Dupire volatility calculations, regression-based continuation value calibration and even Monte-Carlo based Cheyette model calibrations, with no special care needed to back-propagate adjoints. This has allowed us to eliminate a large amount of complex and hard to maintain code.
I've been very impressed by performance gains up to two orders of magnitude obtained by MatLogica after some integration work on QuantLib, and by the fact that the same work also enabled AAD; especially considering that the library contains hundreds of thousands of lines of code developed over more than 20 years.
MatLogica's suite of tools enables acceleration and scalability in both analytical and quantitative code.The transformational nature of MatLogica's offering is reflected in its top 15 placing in the QuantitativeAnalytics50, alongside several awards for innovation in computational frameworks and code acceleration.
Compile and deploy application to production
Distribute work across grid, manage scheduling
JIT compile to optimized machine code
Book a technical demo. We'll show AADC accelerating real derivatives models—and answer every question about how it works.
We use cookies for analytics and marketing. See our Privacy Notice for details.