Un moteur dédié aux produits structurés sur paniers d'actifs — worst-of, autocalls, Phoenix — qui en sort le prix et tous les Greeks dans le même calcul, de façon exacte et déterministe, même avec beaucoup de sous-jacents.
L'atout n°1 : le prix et les Greeks en une seule passe, sans bumping.
Chaque payoff est confronté à un oracle indépendant — Monte-Carlo, ou formule fermée quand elle existe. Écart mesuré en z = (prix − MC) / σ_MC : un z de l'ordre de 1 est indistinguable du bruit Monte-Carlo.
| Payoff | Précision | Écart vs Monte-Carlo |
|---|---|---|
| Vanille & paniers — feuilles linéaires (gaussien → forme fermée 1-D) | ||
| Vanilla call / put | Forme fermée | Bachelier d=1 : 9e-9 |
| Basket call / put | Forme fermée (1-D) | = forme fermée gaussienne |
| Spread | Forme fermée (1-D) | = forme fermée gaussienne |
| Dispersion · variance du panier | Réduction cumulants | Au niveau du bruit MC |
| Statistiques du panier — worst / best / k-ème | ||
| Worst-of put / call · Bachelier + GBM | Exacte (machine) | Stulz d=2 : 4e-7 · MC : |z| ≤ 2.8 |
| Best-of put / call · Bachelier + GBM | Exacte (machine) | MC : |z| ≤ 2.5 |
| Rainbow · k-ème best, médiane | Exacte (machine) | MC : z ≈ +0.6 |
| Range · best − worst | Exacte (machine) | MC : z = +0.09 |
| Worst-of avec caps individuels | Exacte (composition) | Au niveau du bruit MC |
| Payoffs non-linéaires sur la statistique | ||
| Capped worst-of put | Exacte (machine) | MC : |z| < 1.2 |
| Worst-of spread / butterfly | Exacte (machine) | Au niveau du bruit MC |
| Power-2 worst-of | Exacte (machine) | MC : |z| < 1.4 |
| Worst-of avec skew idiosyncratique | Validé vs MC | MC 4M : |z| < 4 |
| Barrières, rappel & chemin | ||
| Knock-out call / digital / worst | Au bruit MC | MC : z ≤ +2.1 |
| Autocall · 1 actif & worst multi | Au bruit MC | MC 64M : z = +1.6 · GBM 5e-5 |
| Phoenix à coupon mémoire | Au bruit MC | MC 16–24M : z souvent < 1 (T=3) |
En cours : lookback, asiatique, cliquet, variance swap. · Pas encore : américain, volatilité stochastique.
Prix pa-virtuel vs prix Monte-Carlo de référence, sur des cas concrets. z = (pa − MC) / σ_MC : tous tombent dans la fourchette [MC ± 3σ_MC].
| Cas | pa-virtuel | Monte-Carlo | σ_MC | z |
|---|---|---|---|---|
| Worst-of put · d3 · ρ0.3 | 25.5250 | 25.5322 | 6.6e-3 | −1.08 |
| Worst-of put · d5 · ρ0.7 | 24.3756 | 24.3797 | 5.9e-3 | −0.69 |
| Worst-of call · d10 · ρ0.7 | 3.9484 | 3.9423 | 2.2e-3 | +2.80 |
| Best-of call · d3 · ρ0.7 | 23.6354 | 23.6270 | 1.4e-2 | +0.61 |
| Best-of put · d5 · ρ0.7 | 5.2704 | 5.2727 | 4.2e-3 | −0.55 |
| Knock-out call · d2 | 0.38011 | 0.37994 | 1.6e-4 | +1.11 |
| Knock-out digital · d2 | 0.58190 | 0.58173 | 1.8e-4 | +1.42 |
| Knock-out worst · d5 | 0.25244 | 0.25239 | 5.9e-5 | +0.54 |
| Autocall · d1 | 1.083024 | 1.083005 | 1.9e-5 | +1.62 |
| Phoenix mémoire · d5 · T3 | 0.714723 | 0.714627 | 9.6e-5 | +0.71 |
Oracle Monte-Carlo : 8 M de tirages (mono-date, modèle GBM) · 16–64 M (path-dépendants). Formule fermée Stulz (d=2) : écart 4e-7.
Le coût dépend du nombre de facteurs de risque, pas du nombre de sous-jacents — un panier de 30 actifs piloté par un seul facteur reste bon marché.
La calibration et la corrélation du panier se calculent une fois, en amont. Ensuite, une fois la calibration calculée, chaque trade — prix et Greeks — se calcule sous la milliseconde.
| Produit | Temps de calcul | Monte-Carlo pour la même précision |
|---|---|---|
| Worst-of / Best-of | < 1 ms | 4 M de tirages |
| Plafonné / rainbow / puissance | < 1 ms | 4 M de tirages |
| Barrières désactivantes | < 1 ms | 4 M de tirages |
| Autocalls | < 1 ms | 4 M de tirages |
| Phoenix à coupon mémoire | Quelques secondes | 24 M de tirages |
Une calibration aux prix de marché — caler les paramètres du modèle sur les prix cotés — reste à mettre en place.