Cours complet · Quantitative Finance · Deep Learning

Differential Machine Learning
apprendre la forme de la fonction de prix, et non seulement ses valeurs

Ce cours présente l'article de Brian Huge et Antoine Savine (Danske Bank, 2020). Il explique comment la différentiation automatique adjointe (AAD) et l'introduction de labels différentiels permettent d'entraîner, en quelques secondes et à partir de jeux de données réduits, des approximations précises du prix et des sensibilités d'un produit dérivé ou d'un portefeuille entier.

arXiv:2005.02347 · papier · code TensorFlow officiel
passe avant — prédit la valeur ŷ passe arrière (miroir, poids partagés) — prédit les Greeks ∂ŷ/∂x
Partie 1

Le problème de l'approximation des fonctions de valorisation

L'objectif du papier est de construire une approximation \( \hat f \) de la fonction de valorisation d'un produit dérivé, capable de fournir le prix et les sensibilités à une vitesse comparable à celle d'une formule fermée, alors que la valorisation exacte nécessite une simulation de Monte-Carlo complète.

Une fonction de valorisation associe à un état \(x\) — comprenant les variables de marché, les variables liées à la trajectoire passée du sous-jacent (path-dependency) et les paramètres du modèle et de l'instrument — une valeur \(f(x)\). Pour des instruments simples valorisés dans des modèles simples, comme un call européen sous Black-Scholes, cette fonction est connue sous forme fermée. En revanche, dès que l'on considère des modèles plus réalistes (volatilité locale, volatilité stochastique, modèles hybrides) et des produits exotiques, la valorisation doit s'effectuer numériquement, le plus souvent par simulation de Monte-Carlo. Cette approche, bien que robuste, présente un coût de calcul élevé qui la rend trop lente pour de nombreux usages.

L'origine du besoin : les calculs réglementaires

Historiquement, le besoin d'approximations rapides provient de la gestion des risques des portefeuilles de produits dérivés. Toutefois, le véritable enjeu moderne réside dans les calculs réglementaires, dont les principaux sont les suivants :

  • XVA : ensemble des ajustements de valorisation (CVA pour le risque de défaut de la contrepartie, FVA pour le coût de financement, etc.), dont le calcul exige de connaître la valeur future du portefeuille dans un grand nombre de scénarios de marché ;
  • CCR (Counterparty Credit Risk) : mesure de l'exposition au risque de contrepartie, fondée sur la distribution des valeurs futures du portefeuille ;
  • FRTB (Fundamental Review of the Trading Book) : cadre réglementaire de calcul du capital pour le risque de marché, qui requiert de nombreuses revalorisations du portefeuille ;
  • SIMM-MVA : calcul du coût de la marge initiale sur la durée de vie du portefeuille, qui nécessite non seulement les valeurs futures, mais également les sensibilités futures du portefeuille dans chaque scénario.

Tous ces calculs partagent une même structure : il faut revaloriser un portefeuille entier, et parfois ses sensibilités, dans des milliers de scénarios de marché. Si l'on effectue un Monte-Carlo complet dans chacun de ces scénarios, on aboutit à des simulations imbriquées (nested Monte-Carlo) : pour chaque trajectoire externe représentant un scénario de marché futur, il faut lancer un nouveau paquet de simulations internes afin d'estimer la valeur du portefeuille conditionnellement à ce scénario. Le coût total, proportionnel au produit du nombre de scénarios par le nombre de trajectoires internes, devient rapidement prohibitif.

Nested MC : pour chaque scénario externe, un MC interne complet T₀ T₁ (exposure date) T₂ (maturité) Surrogate ML : on apprend x ↦ f̂(x) une fois, puis évaluation quasi-instantanée partout
À gauche : dans le Monte-Carlo imbriqué, chaque point d'exposition à la date T₁ exige son propre paquet de simulations internes jusqu'à T₂, pour un coût proportionnel au produit du nombre de scénarios par le nombre de chemins. À droite : une approximation \( \hat f \), entraînée une seule fois, remplace l'ensemble des simulations internes.

Deux régimes d'apprentissage distincts

Une solution naturelle consiste à remplacer le Monte-Carlo imbriqué par une approximation \( \hat f \) apprise sur des données simulées, que l'on évalue ensuite quasi instantanément dans chaque scénario. Le papier distingue deux manières très différentes de construire une telle approximation, résumées dans le tableau suivant :

Apprentissage offline (sur prix exacts)Apprentissage online (l'objet du papier)
Fonction appriseUne fonction de valorisation en fonction des paramètres du modèle (par exemple : calls européens en volatilité rugueuse, Horvath et al. 2019 ; modèle SABR, McGhee 2018)La valeur d'un portefeuille donné en fonction de l'état de marché, pour une calibration donnée
Labels d'entraînementPrix exacts, calculés numériquement, donc très coûteux à produirePayoffs échantillonnés, à raison d'un chemin de Monte-Carlo par exemple, donc quasiment gratuits
RéutilisationLe modèle est entraîné une fois pour toutes, puis réutiliséL'approximation est jetable : elle est propre à un calcul de risque donné
Contrainte principaleLa précisionL'entraînement doit s'effectuer en quelques secondes, de manière automatique et sans supervision humaine
La limite du deep learning classique

Même en apprenant sur des payoffs échantillonnés (régime online), le deep learning classique nécessite des centaines de milliers d'exemples pour atteindre une précision satisfaisante, ce qui est incompatible avec la contrainte de temps pour un portefeuille complexe. Par ailleurs, les sensibilités du modèle entraîné convergent encore plus lentement que les valeurs, et l'apprentissage sur des labels bruités conduit au surapprentissage : le modèle mémorise le bruit des données au lieu d'apprendre la fonction sous-jacente. C'est précisément à ces deux difficultés que répond le differential machine learning.

Partie 2

Le cadre d'apprentissage par moindres carrés (LSM)

Cette section présente le cadre théorique sur lequel repose l'ensemble du papier, hérité de la méthode de Longstaff-Schwartz et de Carrière. L'idée fondatrice est qu'un label d'entraînement n'a pas besoin d'être un prix : un payoff simulé sur un seul chemin suffit. En effet, le prix d'un produit dérivé est une espérance conditionnelle, et la régression par moindres carrés estime précisément des espérances conditionnelles.

Construction du jeu de données d'entraînement

On cherche à approximer la fonction de valorisation à une date d'exposition \(T_1 \ge 0\). L'état complet du système à cette date s'écrit \(X_{T_1} = [S_{T_1}, U_{T_1}]\), où \(S_{T_1}\) désigne l'état du modèle (le spot dans le cadre de Black-Scholes ; le couple spot-variance dans le cadre de Heston ; 16 dimensions par devise pour un modèle de Cheyette à 4 facteurs) et \(U_{T_1}\) l'état de la transaction, c'est-à-dire l'ensemble des variables liées à la trajectoire passée : franchissement éventuel d'une barrière, coupons déjà fixés, ou toute variable du script décrivant le produit. Le label associé est le payoff actualisé, échantillonné sur un seul chemin simulé conditionnellement à cet état :

\[ \text{exemple } i:\quad \Big(\, x^{(i)} = X_{T_1}^{(i)},\;\; y^{(i)} = \pi^{(i)} \,\Big), \qquad \pi = \sum_{T_k > T_1} CF_k \]

L'ensemble du jeu de données d'entraînement se simule donc pour le coût d'une seule valorisation par Monte-Carlo. Les labels ainsi obtenus sont bruités, puisqu'un unique payoff est une réalisation très dispersée autour du prix. Toutefois, ils sont sans biais :

\[ y^{(i)} = h\!\left(x^{(i)}\right) + \varepsilon^{(i)}, \qquad \mathbb{E}\!\left[\varepsilon^{(i)}\right] = 0, \qquad h(x) = \mathbb{E}\left[\pi \,\middle|\, X_{T_1} = x\right] \]
Call BS · K = 1.1 · σ = 20% · T₂ − T₁ = 1 an
Chaque point gris représente un exemple \( (S_{T_1}^{(i)},\, \pi^{(i)}) \) : l'état à la date T₁ en abscisse, et le payoff du même chemin à T₂ en ordonnée. Bien que le nuage paraisse aléatoire, son espérance conditionnelle (courbe noire, donnée par la formule de Black-Scholes) est exactement la fonction de valorisation. Un approximateur entraîné par moindres carrés sur ce nuage converge donc vers la courbe noire, sans avoir jamais observé un prix.

Justification théorique : le théorème de convergence du LSM

Théorème (apprentissage sur échantillons)

Ce résultat repose sur une propriété fondamentale : l'espérance conditionnelle est la projection au sens \(L^2\), c'est-à-dire la fonction qui minimise l'erreur quadratique moyenne : \( \mathbb{E}[Y|X] = \arg\min_{g \in L^2} \mathbb{E}\big[(g(X)-Y)^2\big] \). Par conséquent, pour un approximateur universel \( \hat f(\cdot\,; w) \) entraîné par minimisation de l'erreur quadratique moyenne (MSE) sur des exemples indépendants et identiquement distribués \( (x^{(i)}, y^{(i)}) \) :

\[ \hat f\Big(\cdot\,;\, \arg\min_w \mathrm{MSE}\Big) \;\longrightarrow\; h(\cdot) = \mathbb{E}[\pi \mid X_{T_1} = \cdot\,] \]

lorsque la taille \(m\) du jeu de données et la capacité \(d\) du modèle tendent vers l'infini. Ce résultat est valable pour tout modèle complet sans arbitrage et tout échéancier de cash-flows. Autrement dit, un modèle entraîné par moindres carrés sur des payoffs bruités converge vers la vraie fonction de prix, sans jamais avoir observé un prix.

Dans ce cadre, les réseaux de neurones jouent le rôle d'approximateurs universels : ils sont capables, à capacité suffisante, de représenter n'importe quelle fonction continue. Leur intérêt par rapport à la régression polynomiale utilisée dans le LSM classique réside dans leur résistance à la grande dimension. En effet, le nombre de monômes d'une base polynomiale explose de manière combinatoire en \( \binom{n+K}{K} \) avec la dimension \(n\), tandis que les réseaux de neurones apprennent leurs propres fonctions de base au lieu de les fixer a priori. L'approche du papier constitue ainsi l'extension naturelle du LSM au deep learning.

La motivation du papier

Il est important de noter que ce théorème est asymptotique. À taille de données finie, le bruit des payoffs conduit au surapprentissage, les sensibilités du modèle entraîné sont de mauvaise qualité, et la précision exige des jeux de données de très grande taille. Les garanties de convergence ne disent rien de la vitesse de cette convergence. Le differential machine learning ne modifie pas la limite atteinte : il accélère radicalement la vitesse à laquelle on l'atteint.

Partie 3

Les labels différentiels : la différentiation pathwise

Cette section présente la proposition centrale du papier : enrichir chaque exemple d'entraînement avec le gradient du label par rapport aux variables d'entrée, calculé le long du même chemin simulé. Ces dérivées trajectorielles, appelées différentielles pathwise, constituent une source d'information supplémentaire quasiment gratuite.

\[ \underbrace{\Big(x^{(i)},\; y^{(i)}\Big)}_{\text{dataset classique}} \quad\longrightarrow\quad \underbrace{\left(x^{(i)},\; y^{(i)},\; \bar x^{(i)} = \frac{\partial y^{(i)}}{\partial x^{(i)}}\right)}_{\text{dataset augmenté}} \]

Exemple introductif : le call dans le cadre de Black-Scholes

Considérons le cas le plus simple. L'état est \( x^{(i)} = S^{(i)}_{T_1} \) et le label est le payoff du call sur le chemin \(i\), soit \( y^{(i)} = \big(S^{(i)}_{T_2} - K\big)^+ \). En appliquant la règle de dérivation des fonctions composées le long du chemin (avec \( S_{T_2} = S_{T_1} e^{-\sigma^2\tau/2 + \sigma\sqrt{\tau}\,\varepsilon} \), d'où \( \partial S_{T_2}/\partial S_{T_1} = S_{T_2}/S_{T_1} \)), on obtient :

\[ \frac{\partial y^{(i)}}{\partial x^{(i)}} = \frac{\partial \big(S^{(i)}_{T_2}-K\big)^+}{\partial S^{(i)}_{T_2}} \cdot \frac{\partial S^{(i)}_{T_2}}{\partial S^{(i)}_{T_1}} = \mathbf{1}_{\left\{S^{(i)}_{T_2} > K\right\}} \, \frac{S^{(i)}_{T_2}}{S^{(i)}_{T_1}} \]

Deux propriétés générales se dégagent déjà de cet exemple :

  1. Efficacité du calcul : la différentielle se calcule pendant la simulation du chemin, par application de la règle de la chaîne, sans nécessiter de nouvelle simulation, contrairement à la méthode des différences finies. Il s'agit d'une différentiation adjointe ; sa version automatisée est l'AAD, présentée dans la partie suivante.
  2. Absence de biais : \( \partial Y/\partial X \) est une variable aléatoire mesurable en \(T_2\), dont l'espérance conditionnelle à la date \(T_1\) vaut \( N(d_1) \), c'est-à-dire exactement le delta de Black-Scholes.
Théorème (commutation de l'espérance et de la différentiation)

Sous réserve du lissage des cash-flows discontinus et des conditions techniques usuelles (voir le calcul d'Itô fonctionnel, ou calcul de Dupire), l'espérance conditionnelle et la dérivation commutent :

\[ h(x) = \mathbb{E}[\pi \mid X_{T_1} = x] \;\;\Longrightarrow\;\; \frac{\partial h(x)}{\partial x} = \mathbb{E}\!\left[\frac{\partial \pi}{\partial X_{T_1}} \,\middle|\, X_{T_1} = x\right] \]

Les différentielles pathwise sont donc des estimateurs sans biais, quoique bruités, des vraies sensibilités, exactement comme les payoffs sont des estimateurs sans biais des vrais prix. Ce résultat justifie d'ailleurs la pratique courante des rapports de risque par Monte-Carlo : une sensibilité y est estimée par la moyenne des différentielles pathwise sur l'ensemble des trajectoires.

Labels différentiels pathwise du même call BS
Les labels différentiels \( \bar x^{(i)} = \mathbf{1}_{\{S_{T_2}>K\}}\, S_{T_2}/S_{T_1} \) se répartissent en deux branches : une valeur nulle lorsque le chemin termine hors de la monnaie, et une valeur proche de S₂/S₁ lorsqu'il termine dans la monnaie. Leur espérance conditionnelle (courbe verte) est exactement le delta \(N(d_1)\) de Black-Scholes : c'est à partir de ce nuage que le réseau apprendra le delta.

Le cas des payoffs discontinus et le lissage

Une difficulté classique

Pour une option digitale ou une option barrière, le payoff présente une discontinuité, de sorte que la différentielle pathwise est mal définie : elle est nulle presque partout, avec une masse de Dirac concentrée au point de discontinuité. Cette difficulté, bien connue de l'industrie, est traitée par lissage (smoothing) : on remplace la digitale par un call spread resserré, et la barrière franche par une barrière progressive (soft barrier). Il s'agit d'une pratique standard des desks d'options depuis plusieurs décennies, que Savine a par ailleurs formalisée dans le cadre de la logique floue. Dans le papier, l'autocall étudié en partie 8 est explicitement lissé, à l'aide du mot-clé choose du langage de description de produits de Danske Bank. Notons enfin que des travaux ultérieurs (2025) étendent le differential machine learning aux payoffs discontinus en remplaçant les labels pathwise par des labels fondés sur la méthode du likelihood ratio, ce qui constitue un point pertinent à mentionner lors d'un exposé.

Apport quantitatif de l'augmentation

Avec \(m\) exemples en dimension \(n\), le jeu de données augmenté contient \(m\) valeurs auxquelles s'ajoutent \(n \times m\) différentielles, soit une information considérablement enrichie, pour un surcoût de simulation limité à un facteur de 2 à 5 grâce aux propriétés de l'AAD. Par ailleurs, cette information est d'une nature différente : il s'agit de pentes, et non de points. Le modèle apprend ainsi la forme de la fonction de valorisation, et non plus seulement un nuage de valeurs.

simulate_dataset.py — jeu de données augmenté (call Black-Scholes, NumPy)
import numpy as np

def simulate_dataset(m, S0=1.0, K=1.1, sigma=0.2, T1=1.0, T2=2.0, seed=0):
    rng = np.random.default_rng(seed)
    # --- etats a T1 : les inputs X (un par exemple) ---
    xi  = rng.standard_normal(m)
    S1  = S0 * np.exp(-0.5*sigma**2*T1 + sigma*np.sqrt(T1)*xi)
    # --- payoffs a T2 : les labels Y (UN chemin par exemple) ---
    tau = T2 - T1
    eps = rng.standard_normal(m)
    S2  = S1 * np.exp(-0.5*sigma**2*tau + sigma*np.sqrt(tau)*eps)
    Y   = np.maximum(S2 - K, 0.0)
    # --- labels differentiels Z = dY/dS1, pathwise (chain rule) ---
    # dY/dS1 = 1{S2>K} * dS2/dS1 = 1{S2>K} * S2/S1
    Z   = np.where(S2 > K, S2 / S1, 0.0)
    return S1.reshape(-1,1), Y.reshape(-1,1), Z.reshape(-1,1)

En production, les différentielles \(Z\) ne sont naturellement pas dérivées à la main : l'AAD les calcule automatiquement, pour des portefeuilles et des modèles arbitraires. C'est l'objet de la partie suivante.

Partie 4

La différentiation automatique adjointe (AAD)

Cette section présente la technique qui rend les labels différentiels quasiment gratuits en pratique. L'Automatic Adjoint Differentiation permet de calculer toutes les dérivées d'un calcul arbitraire, avec une précision analytique, pour un coût constant, c'est-à-dire indépendant du nombre de variables d'entrée.

Introduite en finance par l'article Smoking Adjoints de Giles et Glasserman (Risk, 2006), l'AAD repose exactement sur la même idée que la rétropropagation utilisée pour entraîner les réseaux de neurones, généralisée à un calcul quelconque. Le principe est le suivant : tout calcul peut se décomposer en une succession d'opérations élémentaires (additions, multiplications, fonctions usuelles), formant un graphe de calcul. On évalue d'abord ce graphe dans le sens direct, en mémorisant les résultats intermédiaires, puis on le parcourt en sens inverse en propageant les adjoints \( \bar u = \partial y / \partial u \), c'est-à-dire les dérivées du résultat final par rapport à chaque variable intermédiaire, par application systématique de la règle de la chaîne.

La propriété fondamentale

En mode adjoint (ou mode inverse), une seule passe arrière fournit les dérivées par rapport à l'ensemble des variables d'entrée simultanément. Le coût total représente environ 2 à 5 évaluations de la fonction d'origine, qu'il y ait une seule sensibilité à calculer ou dix mille. À titre de comparaison, la méthode des différences finies nécessite \(n+1\) réévaluations complètes et introduit une erreur de troncature. C'est cette propriété qui permet de calculer en temps quasi réel le rapport de risque d'un portefeuille exotique ou un XVA complet.

y = log(x₁) + x₁·x₂² , évalué en x₁=2, x₂=3
Graphe de calcul de la fonction \( y = \log x_1 + x_1 x_2^2 \). En cliquant sur « Étape suivante », on observe la passe avant (en bleu), qui calcule les valeurs intermédiaires, puis la passe arrière (en vert), qui accumule les adjoints \( \bar u = \partial y/\partial u \) en sens inverse. À l'issue du parcours, on obtient \( \bar x_1 = 1/x_1 + x_2^2 = 9{,}5 \) et \( \bar x_2 = 2 x_1 x_2 = 12 \), c'est-à-dire les deux dérivées en une seule passe.

L'application de l'AAD aux simulations de Monte-Carlo

Appliquée à une simulation de Monte-Carlo, l'AAD travaille chemin par chemin, pour des raisons de mémoire et d'efficacité : elle produit les sensibilités du payoff dans chacun des scénarios simulés. Or, un rapport de risque classique n'exploite que la moyenne de ces différentielles pathwise, ce qui revient à écraser une grande partie de l'information disponible. Le differential machine learning exploite au contraire l'information complète : il apprend la valeur et les sensibilités en tant que fonctions de l'état, et non comme des nombres figés correspondant à l'état courant du marché.

pathwise_aad.py — différentielles pathwise par autodiff (PyTorch)
import torch

def pathwise_dataset(m, S0=1.0, K=1.1, sigma=0.2, T1=1.0, tau=1.0):
    S1 = S0 * torch.exp(-0.5*sigma**2*T1 + sigma*T1**0.5*torch.randn(m))
    S1.requires_grad_(True)                    # on differencie wrt l'etat a T1
    eps = torch.randn(m)
    S2  = S1 * torch.exp(-0.5*sigma**2*tau + sigma*tau**0.5*eps)
    Y   = torch.clamp(S2 - K, min=0.0)        # payoff (lisse-le si discontinu !)
    # passe adjointe : TOUTES les sensibilites pathwise en une fois
    Z,  = torch.autograd.grad(Y.sum(), S1)     # Z[i] = dY_i / dS1_i
    return S1.detach(), Y.detach(), Z.detach()

L'écriture grad(Y.sum(), S1) est valide car le chemin \(i\) ne dépend que de \(S_1^{(i)}\) : la somme découple les chemins, et chaque composante du gradient correspond bien à une différentielle pathwise individuelle. En production bancaire, l'AAD s'applique directement au code C++ du moteur de valorisation (voir l'ouvrage Modern Computational Finance: AAD and Parallel Simulations, Savine, 2018).

Partie 5

Le réseau jumeau (twin network)

Pour pouvoir entraîner un modèle sur des différentielles, il faut que ce modèle soit capable de prédire des différentielles. Le réseau jumeau rend cette prédiction explicite : il s'agit du réseau d'origine, suivi de son image miroir, c'est-à-dire de sa propre rétropropagation, avec des poids partagés entre les deux moitiés.

Formulation mathématique

La passe avant correspond à un réseau de neurones classique à propagation directe, où \( g \) désigne la fonction d'activation et \( w_l, b_l \) les poids et biais de la couche \(l\) :

\[ z_0 = x, \qquad z_l = g_{l-1}(z_{l-1})\, w_l + b_l \quad (l = 1,\dots,L), \qquad \hat y = z_L \tag{1} \]

La passe arrière s'obtient en différenciant les équations (1) dans l'ordre inverse. On adopte la notation adjointe \( \bar z_l = \partial \hat y / \partial z_l \), et \( \circ \) désigne le produit de Hadamard (produit terme à terme) :

\[ \bar z_L = 1, \qquad \bar z_{l-1} = \big(\bar z_l\, w_l^{T}\big) \circ g'_{l-1}(z_{l-1}), \qquad \bar x = \bar z_0 = \frac{\partial \hat y}{\partial x} \tag{2} \]
L'observation clé

Les équations (2) présentent exactement la même structure que les équations (1) : une succession de produits matrice-vecteur et d'activations appliquées terme à terme. Autrement dit, la rétropropagation est elle-même un second réseau à propagation directe, dont les unités sont les adjoints des unités du premier, et dont les poids sont partagés avec celui-ci (ce sont les mêmes matrices \(w_l\), transposées). En concaténant (1) et (2), on obtient un réseau de profondeur double, le twin network, qui produit en sortie à la fois la valeur \( \hat y \) et le vecteur de sensibilités \( \partial\hat y/\partial x \).

  • Coût de calcul : environ deux fois celui d'une prédiction de valeur, quel que soit le nombre de sensibilités. On retrouve la propriété de coût constant de l'AAD, ce qui est naturel puisque la passe arrière du réseau n'est rien d'autre que de l'AAD appliquée au réseau lui-même.
  • Contrainte sur l'architecture : pour entraîner le réseau jumeau, il faut rétropropager à travers une rétropropagation, ce qui exige des fonctions d'activation de classe \( C^1 \). La fonction ReLU est donc exclue, sa dérivée étant discontinue ; le papier retient la fonction softplus \( g(u)=\log(1+e^u) \), dont la dérivée est la sigmoïde. Plus généralement, la prédiction de dérivées d'ordre \(q\) requiert des activations de classe \(C^q\).
  • La seconde moitié du réseau est activée par \( g' \) et n'introduit aucun paramètre supplémentaire : la cohérence entre les sensibilités prédites et les valeurs prédites est garantie par construction, et non apprise séparément.
Le réseau jumeau complet. La moitié gauche (en bleu) correspond aux équations (1) et prédit la valeur ; la moitié droite (en vert), décrite par les équations (2), en est le miroir exact, avec poids partagés \(w_l^T\) et activations \(g'\), et prédit le vecteur complet de sensibilités \( \bar x \). Dans TensorFlow ou PyTorch, la moitié verte s'obtient automatiquement par différentiation automatique, comme le montre le code ci-dessous.
twin_net.py — réseau jumeau en PyTorch
import torch
import torch.nn as nn

class PricingNet(nn.Module):
    # architecture du papier : 4 couches cachees de 20 unites softplus
    def __init__(self, n_in, hidden=20, depth=4):
        super().__init__()
        layers, d = [], n_in
        for _ in range(depth):
            layers += [nn.Linear(d, hidden), nn.Softplus()]  # C^1 — jamais ReLU
            d = hidden
        layers += [nn.Linear(d, 1)]
        self.f = nn.Sequential(*layers)

    def forward(self, x):
        return self.f(x)

def twin_forward(net, x):
    """Evalue le reseau jumeau : valeur ET differentielles dy/dx."""
    x = x.requires_grad_(True)
    y = net(x)
    dydx, = torch.autograd.grad(
        y, x, grad_outputs=torch.ones_like(y),
        create_graph=True)   # <-- garde le graphe : on retropropagera
                              #     A TRAVERS cette retropropagation
    return y, dydx

L'argument create_graph=True est le point essentiel de cette implémentation : il rend la passe arrière elle-même différentiable, en l'inscrivant dans le graphe de calcul. L'optimiseur pourra ainsi rétropropager à travers la moitié verte du réseau, c'est-à-dire accumuler des dérivées secondes, sans qu'aucune ligne de code supplémentaire ne soit nécessaire.

Partie 6

La fonction de coût : une régularisation sans biais

Cette section présente les trois stratégies d'entraînement possibles dans ce cadre. La meilleure d'entre elles combine les erreurs sur les valeurs et les erreurs sur les dérivées, et se comporte comme une régularisation d'un genre nouveau, qui n'introduit aucun arbitrage entre biais et variance.

1. Entraînement sur les valeurs seules (deep learning classique)

\[ C = \mathrm{MSE} = \frac{1}{m}\sum_{i=1}^{m} \big(\hat f(x^{(i)};w) - y^{(i)}\big)^2 \]

D'après le théorème du cadre LSM, cette approche converge vers la bonne fonction de prix. Toutefois, la convergence est lente et le modèle surapprend le bruit des payoffs à taille de données finie.

2. Entraînement sur les dérivées seules

\[ \overline{\mathrm{MSE}} = \frac{1}{m}\sum_{i=1}^{m} \left\lVert \frac{\partial \hat f(x^{(i)};w)}{\partial x^{(i)}} - \bar x^{(i)} \right\rVert^2 \]

Un résultat remarquable mérite d'être souligné : les différentielles pathwise étant des estimateurs sans biais des vraies sensibilités, le même argument de projection \(L^2\) que pour les valeurs s'applique. L'approximation converge alors vers une fonction possédant toutes les bonnes dérivées, c'est-à-dire vers la vraie fonction de valorisation à une constante additive près. Cette constante se recale trivialement en fin d'entraînement, en posant \( c = \frac{1}{m}\sum_i \big( y^{(i)} - \hat f(x^{(i)}) \big) \).

3. Combinaison des deux termes (la version utilisée en production)

\[ C \;=\; \underbrace{\frac{1}{m}\sum_{i=1}^m \big(\hat y^{(i)} - y^{(i)}\big)^2}_{\text{valeurs}} \;+\; \lambda\, \underbrace{\frac{1}{m}\sum_{i=1}^m \sum_{j=1}^n \frac{1}{\lVert \bar x_j \rVert^2} \Big( \hat{\bar x}^{(i)}_j - \bar x^{(i)}_j \Big)^2}_{\text{dérivées, pondérées par } 1/\lVert \bar x_j\rVert^2} \]

La pondération par \( 1/\lVert\bar x_j\rVert^2 \), où \( \lVert\bar x_j\rVert \) désigne la norme de la \(j\)-ième colonne de différentielles sur l'ensemble d'entraînement, permet d'agréger des sensibilités d'ordres de grandeur hétérogènes : chaque sensibilité contribue au coût à sa propre échelle. En pratique, les données sont par ailleurs normalisées, comme il est d'usage en apprentissage automatique : les entrées et les labels sont centrés et réduits, et les différentielles sont remises à l'échelle par le facteur \( \sigma_{x_j}/\sigma_y \).

Une régularisation sans biais

Le terme différentiel joue le rôle d'une pénalité de régularisation, au même titre que les pénalités ridge ou lasso utilisées classiquement pour limiter le surapprentissage. La différence fondamentale est résumée dans le tableau suivant :

Ridge / Lasso / DropoutPénalité différentielle
Nature de la pénalitéUne préférence arbitraire imposée au modèle (poids de faible amplitude, fonctions proches de la linéarité)Une exigence de justesse : les sensibilités prédites doivent correspondre aux sensibilités observées
Limite λ → ∞Le modèle dégénère (vers une fonction constante ou linéaire), ce qui introduit un biaisOn retrouve l'entraînement sur les dérivées seules, qui converge encore vers la vraie fonction (à une constante près) : aucun biais n'est introduit
Sensibilité au choix de λForte : il s'agit d'un hyperparamètre critique, ajusté par validation croiséeQuasi nulle : la valeur λ = 1 fonctionne dans tous les cas étudiés
InterprétationUne contrainte imposée au modèleUne forme de data augmentation, comme en vision par ordinateur où l'on enrichit le jeu de données par recadrage ou rotation des images : on ajoute de l'information vraie au lieu d'en retirer
Les quatre origines de l'efficacité de la méthode
  1. Une taille effective du jeu de données multipliée par (n+1) : les \(m\) exemples portent \(nm\) différentielles supplémentaires, ce qui est décisif en grande dimension, précisément là où l'apprentissage classique est le plus en difficulté.
  2. L'apprentissage de pentes plutôt que de points : le réseau capte la forme de la fonction, ce qui rend l'apprentissage plus stable, y compris avec très peu d'exemples.
  3. Des sensibilités correctes par construction : cette propriété est indispensable pour les calculs réglementaires fondés sur les sensibilités, comme la SIMM-MVA.
  4. Un ordre correct des scénarios : apprendre la forme de la fonction garantit que les valeurs prédites sont correctement ordonnées d'un scénario à l'autre, ce qui est essentiel pour les mesures de risque par quantile (VaR, Expected Shortfall, FRTB).
train.py — fonction de coût différentielle et boucle d'entraînement
def differential_loss(y_pred, y, z_pred, z, lam=1.0):
    mse_y = ((y_pred - y)**2).mean()
    w     = 1.0 / ((z**2).mean(dim=0) + 1e-8)   # ponderation 1/||z_j||^2
    mse_z = (w * (z_pred - z)**2).mean()
    return mse_y + lam * mse_z                      # lam=1 : quasi insensible

net = PricingNet(n_in=1)
opt = torch.optim.Adam(net.parameters(), lr=1e-3)   # + one-cycle LR dans le papier

for epoch in range(100):
    for xb, yb, zb in loader:            # donnees normalisees, mini-batches
        y_hat, z_hat = twin_forward(net, xb)
        loss = differential_loss(y_hat, yb, z_hat, zb)
        opt.zero_grad(); loss.backward(); opt.step()
Partie 7

Démonstration interactive : entraînement comparé des deux réseaux

Cette démonstration entraîne, directement dans le navigateur, deux réseaux strictement identiques (une couche cachée de 24 unités softplus, optimiseur Adam), à partir de la même initialisation et des mêmes données simulées. Le réseau classique n'apprend que sur les payoffs, tandis que le réseau différentiel apprend sur les payoffs et les deltas pathwise. Les résultats peuvent être comparés aux formules fermées de Black-Scholes, qui jouent ici le rôle de valeurs de référence.

prêt
RMSE prix · classique
—
RMSE prix · différentiel
—
RMSE delta · classique
—
RMSE delta · différentiel
—
Graphique du haut : fonction de prix apprise, comparée à la formule de Black-Scholes (en noir). Graphique du bas : delta. Pour le réseau classique, le delta correspond à la dérivée du réseau, qui n'a jamais été observée pendant l'entraînement ; pour le réseau jumeau, il a été explicitement appris. Le cas m = 256 est particulièrement instructif : il illustre que les dérivées d'une bonne approximation ne constituent pas toujours une bonne approximation des dérivées. Les RMSE sont calculés sur une grille de test, par rapport aux formules fermées.
Partie 8

Présentation des résultats du papier

Le papier illustre la méthode sur trois exemples de difficulté croissante, avec une architecture constante (4 couches cachées de 20 unités softplus, optimiseur Adam, taux d'apprentissage en cycle unique). Le jeu de données différentiel coûte 2 à 5 fois plus cher à simuler, et le réseau jumeau 2 fois plus cher à entraîner. En contrepartie, les erreurs sont divisées par un facteur de 10 à 100, pour des jeux de données nettement plus petits.

8.1. Option sur panier dans un modèle de Bachelier corrélé (dimension 7)

Le premier exemple est un call de maturité 1 an sur un panier de 7 actifs suivant des dynamiques \( dS_t = \sigma\, dW_t \) corrélées, avec un strike de 110. Il s'agit d'un cas d'école : la formule de Bachelier fournit la valeur exacte de référence, et surtout, le problème de valorisation est intrinsèquement unidimensionnel, puisque seul le niveau du panier détermine le prix. La question posée est donc la suivante : le réseau est-il capable de découvrir cette structure cachée à partir de données en dimension 7 ? Les enseignements sont les suivants :

  • Le réseau jumeau entraîné sur 1 024 exemples surpasse le réseau classique entraîné sur 65 536 exemples, à la fois sur les valeurs et, de manière encore plus marquée, sur les deltas.
  • La courbe prédite par le réseau jumeau est fine : le modèle a appris que le prix et les deltas sont une fonction déterministe du niveau du panier. Le réseau classique, à l'inverse, prédit des valeurs différentes pour des paniers quasiment identiques, ce qui traduit un surapprentissage des 7 dimensions.
  • L'erreur de test du réseau jumeau est du même ordre que l'erreur de Monte-Carlo à nombre de chemins égal : l'objectif consistant à remplacer le Monte-Carlo imbriqué sans perte de précision est donc atteint. Avec 8 millions d'exemples, les deux réseaux convergent vers le même plancher d'erreur, imposé par leur capacité finie ; le réseau jumeau l'atteint cependant des centaines de fois plus rapidement.

8.2. Autocall worst-of sur 4 sous-jacents, volatilités locales corrélées

Le deuxième exemple porte sur un produit réel parmi les plus délicats à traiter : un autocall worst-of, qui cumule path-dépendance, barrières et digitales de grande taille à l'échéance finale, ces dernières étant explicitement lissées (mot-clé choose). La référence est ici un Monte-Carlo imbriqué, par nature très lent. Les données d'entraînement sont générées en environ 0,4 seconde dans Superfly, le système de production de Danske Bank.

Erreurs standard absolues, par rapport à la référence du Monte-Carlo imbriqué. Le réseau classique entraîné sur 32 768 exemples produit des valeurs correctes mais mal alignées, ce qui pose problème pour ordonner les scénarios, et des deltas essentiellement aléatoires, donc inutilisables pour la SIMM-MVA. Le réseau jumeau entraîné sur 8 192 exemples est quasiment exact sur les valeurs et d'une précision acceptable sur les deltas, au niveau du bruit de Monte-Carlo (0,2 pour 8 192 chemins).

8.3. Un netting set réel de Danske Bank

Le dernier exemple constitue le test le plus exigeant : un portefeuille de compensation (netting set) réel composé de swaps, de cross-currency swaps et de swaptions dans 10 devises, éligible aux calculs XVA et CCR. Le modèle utilisé, surnommé le Beast, est un modèle de Cheyette multi-facteurs non gaussien à 4 facteurs par devise, dont la dimension de Markov atteint 16 par devise, soit 169 variables d'entrée en incluant les taux de change, et plus de 1 000 en incluant les variables de path-dépendance. En réalité, la valeur du portefeuille ne dépend que de quelques combinaisons de ces variables, qu'il s'agit de découvrir dans les données. Or, l'extraction de tels facteurs est précisément ce que les labels différentiels facilitent, comme le montre la differential PCA présentée en partie 9.

Erreur standard sur 128 scénarios de test, pour une plage de valeurs de 200 millions. Le réseau jumeau entraîné sur 8 192 exemples atteint une erreur de 1,77 M, soit le niveau du bruit de Monte-Carlo à 8 192 chemins (1,70 M), tandis que le réseau classique entraîné sur 65 536 exemples affiche une erreur de 12,85 M. La génération des données et l'entraînement complet ne prennent que quelques secondes sur une station de travail standard équipée d'une carte graphique d'entrée de gamme. Ce dernier exemple illustre le mode d'utilisation réel de la méthode : une approximation jetable, apprise en ligne, au sein même du calcul réglementaire.
Partie 9

Extensions de la méthode

Les appendices du papier montrent que le principe des labels différentiels s'étend naturellement à de nombreux contextes. Cette section en présente les principales déclinaisons.

9.1. Sorties multiples : prédiction de la Jacobienne

Lorsque le modèle doit prédire plusieurs valeurs simultanément (par exemple une nappe entière de prix de calls, dans l'esprit des travaux de Horvath et al.), les adjoints deviennent des dérivées directionnelles \( \bar x = \partial(y c^T)/\partial x \). En prenant comme condition au bord de la passe arrière la matrice identité \( \bar z_L = I \in \mathbb{R}^{n_L \times n_L} \), celle-ci produit la Jacobienne complète \( \partial y/\partial x \in \mathbb{R}^{n_L \times n} \). Le coût théorique est multiplié par \(n_L\), mais il se révèle en pratique sous-linéaire sur GPU grâce à la parallélisation des calculs.

9.2. Dérivées d'ordre supérieur : prédiction de la Hessienne

Le réseau jumeau ne « sait » pas qu'il prédit des dérivées : il s'agit pour lui de simples sorties. Rien n'empêche donc de le différencier une seconde fois. Les adjoints des adjoints, \( \bar{\bar x} = \partial(\bar x c^T)/\partial x \), fournissent alors la Hessienne, c'est-à-dire les gammas. Cette extension exige des activations de classe \( C^2 \), condition que satisfait la fonction softplus. Au total, on obtient 1 valeur, \(n\) deltas et \( n(n+1)/2 \) gammas pour un coût d'environ \(2n\) fois celui d'une valeur seule.

9.3. Differential PCA : l'extraction des facteurs de risque à partir des données

L'analyse en composantes principales (PCA) classique orthonormalise les variables d'entrée selon leur variance, mais ignore totalement leur pertinence, c'est-à-dire la manière dont elles affectent le label. Elle ne peut donc réduire la dimension que de manière prudente, au risque de supprimer une direction de faible variance mais de forte influence sur la valeur. L'idée du papier consiste à effectuer la PCA sur les labels différentiels : on recherche la rotation \(Q\) qui rend les dérivées directionnelles orthogonales :

\[ \frac{1}{m} Z^T Z = Q E Q^T \]

Les vecteurs propres correspondent alors aux axes de pertinence, hiérarchisés : ce sont les facteurs de risque de la transaction. Les valeurs propres mesurent leur importance respective. Il devient ainsi possible de filtrer agressivement les directions associées à des valeurs propres négligeables, sans risque de perte d'information, ce que la PCA classique ne permet pas.

Deux exemples illustratifs

Le panier dans le modèle de Bachelier : les labels différentiels s'écrivent \( Z^{(i)} = \mathbf{1}_{\{S_{T_2}\cdot a > K\}}\, a^T \), d'où \( \frac{1}{m}Z^TZ = q\, a a^T \). La décomposition fait apparaître un facteur unique, dont les composantes sont exactement les poids du panier, retrouvés à partir des seules données. Le call couvert en delta : le rapport de risque agrégé affiche un delta nul, alors que le spot demeure un facteur de risque (par son effet non linéaire). Cette information, que la moyenne écrase, subsiste dans les différentielles pathwise, et la differential PCA la capte.

9.4. Differential regression : la régression régularisée sans biais

L'ensemble du cadre s'applique également à la régression linéaire classique sur des fonctions de base fixes \( \phi_j \), avec l'avantage de disposer d'une solution en forme fermée. L'équation normale ajustée s'écrit, en notant \( \phi_j \) la dérivée des fonctions de base par rapport à la \(j\)-ième variable d'entrée et \( \lambda_j = \lambda \lVert Y\rVert^2 / \lVert Z_j\rVert^2 \) :

\[ \beta = \Big( \phi^T\phi + \sum_j \lambda_j\, \phi_j^T \phi_j \Big)^{-1} \Big( \phi^T Y + \sum_j \lambda_j\, \phi_j^T Z_j \Big) \]

Stabilisée par décomposition spectrale, cette régression surpasse la régularisation de Tikhonov (ridge), y compris lorsque celle-ci est optimisée par validation croisée, et ce sans consommer de données de validation, sans introduire de biais, et avec une insensibilité quasi totale au paramètre λ.

diff_regression.py — équation normale différentielle (forme fermée)
def differential_regression(phi, dphi, Y, Z, lam=1.0):
    """phi : (m,p) bases ; dphi : liste de n matrices (m,p) = d(phi)/dx_j ;
    Y : (m,) labels ; Z : (m,n) labels differentiels."""
    lam_j = lam * (Y**2).mean() / (Z**2).mean(axis=0)      # equilibrage
    A = phi.T @ phi + sum(lj * dj.T @ dj
                          for lj, dj in zip(lam_j, dphi))
    b = phi.T @ Y   + sum(lj * dj.T @ Z[:, j]
                          for j, (lj, dj) in enumerate(zip(lam_j, dphi)))
    # stabilisation spectrale : on inverse seulement les vp significatives
    D, P = np.linalg.eigh(A)
    Dinv = np.where(D > 1e-8 * D.mean() * len(D), 1.0/D, 0.0)
    return P @ (Dinv * (P.T @ b))

9.5. Architecture wide & deep : des garanties pour la production

L'entraînement d'un réseau de neurones est un problème d'optimisation non convexe : il n'existe aucune garantie d'atteindre le minimum global, ce qui est inacceptable en gestion des risques si le réseau est utilisé seul. Pour pallier cette difficulté, l'architecture wide & deep régresse la sortie à la fois sur la dernière couche cachée du réseau (partie deep, dont les fonctions de base sont apprises) et sur des fonctions de base fixes (partie wide, dans l'esprit du LSM classique). Cette construction fournit une garantie de pire cas : le résultat est au moins aussi bon que celui de la régression classique. C'est cette garantie qui autorise un entraînement entièrement automatique, sans supervision humaine, condition indispensable à un déploiement en production dans le régime online.

Partie 10

Synthèse et préparation de l'exposé

Le papier résumé en une phrase

L'AAD rend quasiment gratuites les différentielles pathwise des payoffs simulés, qui sont des estimateurs sans biais des vraies sensibilités ; en les ajoutant comme labels d'entraînement et en utilisant un réseau jumeau qui prédit à la fois les valeurs et les sensibilités, on apprend la forme de la fonction de valorisation. Il en résulte des approximations précises (prix, sensibilités, ordre des scénarios) à partir de jeux de données 10 à 100 fois plus petits, entraînables en quelques secondes, ce qui correspond exactement aux exigences des calculs XVA, CCR, FRTB et SIMM-MVA.

Plan d'exposé suggéré (15 minutes)

Le problème · 2 min
Pricing approximation, nested MC, régulations. Offline vs online ; pourquoi le ML classique échoue online (datasets énormes, Greeks lents, overfitting).
Le cadre LSM · 3 min
Prix = espérance conditionnelle = projection L². Labels = payoffs échantillonnés, sans biais. Théorème de convergence ; nuance : asymptotique.
Labels différentiels + AAD · 3 min
Dérivation à la main du delta pathwise BS. Commutation 𝔼/∂ → estimateurs sans biais des Greeks. AAD : coût constant, Smoking Adjoints. Smoothing des discontinuités.
Twin network & coût · 3 min
Backprop = second réseau miroir, poids partagés, activations C¹ (softplus, pas ReLU). C = MSE + λ·MSĒ pondéré ; régularisation sans biais ; analogie data augmentation.
Résultats · 2 min
Basket 7d (twin 1k > classique 64k, structure 1D découverte) ; autocall (deltas : 2,5 vs 32,5) ; netting set réel 1000+ dims (1,77M vs 12,85M, ≈ bruit MC), entraîné en secondes.
Extensions & limites · 2 min
Jacobienne, Hessienne, differential PCA (facteurs de risque depuis les données), differential regression fermée, wide & deep. Limites : discontinuités, garanties seulement asymptotiques, constante additive.

Questions probables (jury ou entretien) et éléments de réponse

Pourquoi la pénalité différentielle n'introduit-elle aucun biais, contrairement à la régularisation ridge ?
Parce que l'entraînement sur les dérivées seules converge déjà vers la vraie fonction de valorisation, à une constante près. La pénalité tire donc le modèle vers la bonne cible, et non vers une préférence arbitraire telle que des poids de faible amplitude ou une fonction quasi linéaire. Même lorsque λ tend vers l'infini, le modèle ne dégénère pas, ce qui explique à la fois l'insensibilité au choix de λ et l'absence d'arbitrage entre biais et variance.
Que se passe-t-il avec une option digitale ou une option barrière ?
Le payoff étant discontinu, la différentielle pathwise est mal définie, et les sensibilités obtenues par Monte-Carlo ne sont pas fiables, avec ou sans AAD. La solution standard est le lissage : un call spread resserré pour la digitale, une barrière progressive pour la barrière (pratique de desk que Savine a formalisée en logique floue). Sans ce lissage, les labels sont biaisés et peuvent dégrader la précision. Des travaux de 2025 proposent par ailleurs, pour ces cas, des labels fondés sur le likelihood ratio.
Quel est le surcoût réel de la méthode ?
À la simulation, le jeu de données coûte 2 à 5 fois plus cher, en vertu de la propriété de coût constant de l'AAD, indépendante du nombre de variables d'entrée. À l'entraînement, le réseau jumeau double la profondeur effective, soit un facteur 2. En contrepartie, les erreurs sont divisées par 10 à 100 à taille de données égale, ou la même précision est atteinte avec 8 à 64 fois moins de données, l'erreur de test rejoignant le niveau du bruit du Monte-Carlo imbriqué.
Quelle est la différence avec les PINNs ou le Sobolev training ?
L'idée d'apprendre à partir de dérivées existe dans d'autres domaines : Sobolev training (Czarnecki et al., 2017), PINNs fondés sur des résidus d'équations aux dérivées partielles, ou encore les EDP semi-linéaires en grande dimension citées dans le papier. La spécificité réside ici dans la nature des dérivées-cibles : il s'agit de différentielles pathwise bruitées mais sans biais, produites par AAD dans un cadre LSM où les labels sont eux-mêmes bruités, et non de contraintes physiques exactes. Le résultat de convergence du papier couvre précisément ce cas bruité.
Pourquoi utiliser softplus plutôt que ReLU ?
La seconde moitié du réseau jumeau est activée par g′. Entraîner ce réseau revient à rétropropager à travers une rétropropagation, ce qui exige que g soit de classe C¹. Or la dérivée de ReLU est discontinue : son réseau jumeau serait activé par des fonctions en escalier. Plus généralement, la prédiction de dérivées d'ordre q, comme les gammas, exige des activations de classe C^q.
Comment fixe-t-on λ et les poids des dérivées dans la fonction de coût ?
Chaque colonne de dérivées est pondérée par 1/‖Z_j‖², après normalisation des données, afin d'homogénéiser les échelles. La valeur λ = 1 est retenue par défaut, et le résultat y est quasiment insensible, précisément parce que les deux termes du coût visent la même fonction limite.
Comment la méthode se comporte-t-elle lorsque la valeur ne dépend que de quelques combinaisons des 1 000 variables d'entrée ?
C'est exactement la situation du netting set réel. Les labels différentiels rendent l'extraction de facteurs beaucoup plus efficace ; elle peut même s'effectuer en prétraitement à l'aide de la differential PCA (décomposition spectrale de ZᵀZ/m), qui identifie les axes de pertinence et permet une réduction de dimension agressive, sans risque de perte d'information, ce que la PCA classique, aveugle à la pertinence des variables, ne permet pas.
Quelles sont les limites de la méthode ?
(1) Les garanties théoriques sont seulement asymptotiques : il n'existe pas de bornes d'erreur à taille de données et capacité finies, et leur quantification reste une question ouverte. (2) Les payoffs discontinus exigent un lissage soigné. (3) L'entraînement sur les dérivées seules laisse une constante additive à recaler. (4) Les dérivées sont exprimées par rapport à des paramètres de modèle parfois peu interprétables : des Jacobiennes inverses sont nécessaires pour revenir aux risques de marché. (5) Pour des portefeuilles dont l'état transactionnel est de très grande dimension, il peut être nécessaire de scinder le portefeuille.

Points essentiels à retenir

  • « The derivatives of a good approximation are not always a good approximation of the derivatives. » Cette citation du papier résume la raison d'être du réseau jumeau.
  • Le prix est l'espérance conditionnelle du payoff, et la sensibilité est l'espérance conditionnelle de la différentielle pathwise : deux espérances conditionnelles, deux familles de labels sans biais, et un seul et même cadre d'apprentissage.
  • Le differential machine learning s'interprète comme de la data augmentation appliquée à la finance quantitative : on n'impose pas une préférence au modèle, on lui injecte de l'information vraie supplémentaire.

Références

  • B. Huge & A. Savine, Differential Machine Learning, arXiv:2005.02347 (2020) — papier + 4 appendices (LSM, Differential PCA, Differential Regression, Wide & Deep) + notebooks TensorFlow.
  • M. Giles & P. Glasserman, Smoking Adjoints: fast Monte Carlo Greeks, Risk (2006).
  • F. Longstaff & E. Schwartz, Valuing American Options by Simulation (2001) ; J. Carrière (1996).
  • A. Savine, Modern Computational Finance: AAD and Parallel Simulations, Wiley (2018).
  • B. Huge & A. Savine, Axes that Matter: PCA with a Difference, Risk (2021), arXiv:2503.06707.
  • Travaux ultérieurs sur les payoffs discontinus (likelihood ratio / hybrid), arXiv:2512.05301 (2025).