La formule de Black-Scholes : les mathématiques des options et le Saint Graal du trading
Comment une seule équation différentielle a changé les marchés financiers à jamais et pourquoi elle régit encore aujourd'hui des milliers de milliards de dollars.
Introduction : de la physique à la richesse
Jusqu'en 1973, le trading d'options ressemblait au Far West. Personne ne savait exactement combien une option devait valoir. Les traders s'appuyaient sur l'intuition, des règles empiriques et la chance.
Tout a changé lorsque Fischer Black, Myron Scholes et Robert Merton ont publié leur article révolutionnaire. Ils ont repris l'équation de la chaleur issue de la physique (qui décrit comment la chaleur se diffuse dans un matériau) et l'ont appliquée aux marchés financiers. Pour cette découverte, Scholes et Merton ont reçu le prix Nobel d'économie en 1997 (Black, malheureusement, n'a pas vécu assez longtemps pour voir ce moment).
Leur formule a donné au marché un langage universel pour valoriser les produits dérivés. Mais que décrit-elle exactement ?
Concepts de base : les destinations de l'option
Avant de plonger dans les mathématiques, rappelons les profils de risque de base des options (ces graphiques avec des lignes vertes et rouges).
Une option est un contrat qui donne le droit (mais pas l'obligation) d'acheter ou de vendre un actif à un prix convenu à l'avance (le strike) dans le futur.
Profils de risque des stratégies directionnelles (Long Call et Long Put).
Il existe quatre positions de base en options :
- Long Call : Vous achetez le droit d'acheter un actif. Votre gain est théoriquement illimité si le prix de l'actif sous-jacent (S) augmente. Votre perte maximale est la prime (le prix) payée pour l'option.
- Long Put : Vous achetez le droit de vendre un actif. Vous gagnez lorsque le marché baisse. Idéal pour couvrir un portefeuille.
- Short Call : Vous vendez le droit d'acheter. Vous recevez immédiatement la prime, mais vous prenez un risque illimité si le prix de l'actif « part sur la lune » (souvenez-vous du short squeeze de GameStop).
- Short Put : Vous vendez le droit de vendre. Vous recevez la prime et vous vous engagez à acheter l'actif s'il baisse. Souvent utilisé par Warren Buffett pour acheter des actions à prix réduit.
Le point mort (Breakeven) se calcule comme le prix d'exercice (X) ± la prime de l'option.
L'équation mystérieuse : anatomie de l'EDP de Black-Scholes
La formule que l'on voit souvent au tableau dans les films sur Wall Street est une équation aux dérivées partielles (EDP) :
Structure mathématique du modèle de Black-Scholes et les formules de valorisation pour Call et Put.
Décomposons-la (promis, elle n'est pas aussi effrayante qu'elle en a l'air) :
- : Prix de l'option (la valeur que nous cherchons à trouver).
- : Temps. montre comment la valeur temps de l'option se dégrade (Theta).
- : Prix de l'actif sous-jacent (Action/Spot).
- (Sigma) : Volatilité de l'actif sous-jacent. Plus elle est élevée, plus l'option est chère.
- : Taux d'intérêt sans risque.
L'équation établit essentiellement ceci : le rendement d'un portefeuille couvert (sans risque) composé d'options et de l'actif sous-jacent doit être égal au rendement d'un dépôt bancaire sans risque (). C'est ce qu'on appelle le principe d'absence d'arbitrage.
Application pratique : calculer la valeur en Python
La solution analytique de cette équation nous donne les célèbres formules de Black-Scholes pour les prix des Call et des Put :
Où :
Écrivons cela en Python. Un code qui transforme des mathématiques complexes en un prix prêt à l'emploi :
import numpy as np
from scipy.stats import norm
import math
def black_scholes(S, X, T, r, sigma, option_type="call"):
"""
Calculate option price using the Black-Scholes model.
S: Current underlying asset price
X: Strike price
T: Time to expiration (in years)
r: Risk-free interest rate
sigma: Volatility of the underlying asset
option_type: "call" or "put"
"""
if T <= 0:
if option_type == "call":
return max(0.0, S - X)
else:
return max(0.0, X - S)
d1 = (math.log(S / X) + (r + 0.5 * sigma**2) * T) / (sigma * math.sqrt(T))
d2 = d1 - sigma * math.sqrt(T)
if option_type == "call":
price = S * norm.cdf(d1) - X * math.exp(-r * T) * norm.cdf(d2)
elif option_type == "put":
price = X * math.exp(-r * T) * norm.cdf(-d2) - S * norm.cdf(-d1)
else:
raise ValueError("option_type must be 'call' or 'put'")
return price
current_price = 100.0 # Bitcoin at $100k (why not?)
strike_price = 100.0 # At-the-money (ATM) strike
time_to_expiry = 30/365 # 30 days to expiration
risk_free_rate = 0.05 # 5% annual rate
volatility = 0.50 # 50% volatility (typical for crypto)
call_price = black_scholes(current_price, strike_price, time_to_expiry, risk_free_rate, volatility, "call")
put_price = black_scholes(current_price, strike_price, time_to_expiry, risk_free_rate, volatility, "put")
print(f"Theoretical Call price: ${call_price:.2f}")
print(f"Theoretical Put price: ${put_price:.2f}")
Les seigneurs des options : rencontrez « les Grecques »
Le modèle de Black-Scholes nous a donné non seulement un prix, mais aussi des outils de gestion des risques connus sous le nom de « Grecques » (The Greeks). Ce sont des dérivées (des gradients) du prix de l'option par rapport à différents paramètres :
- Delta () : De combien le prix de l'option varie si le prix de l'actif sous-jacent varie de 1$. (Dérivée première par rapport à S). Delta est votre risque directionnel.
- Gamma () : De combien Delta varie si le prix de l'actif varie de 1\frac{\partial^2 V}{\partial S^2}$ de l'équation). Gamma est le risque de votre Delta.
- Theta () : De combien la valeur de l'option se dégrade par jour. (Variation par rapport au temps ). L'ennemi de l'acheteur d'options et l'ami du vendeur.
- Vega () : De combien le prix varie avec un saut de 1 % de la volatilité. (Spoiler : Vega n'est en réalité pas une lettre grecque, mais c'est devenu une tradition).
- Rho () : Sensibilité aux variations des taux d'intérêt. Concerne rarement les traders de crypto, le marché crypto évoluant trop vite.
Les teneurs de marché algorithmiques (par exemple sur des plateformes comme Deribit ou des DEX d'options) tradent en permanence l'actif sous-jacent pour maintenir leur position « Delta-neutre » (). Ils gagnent sur le spread et sur la divergence entre volatilité implicite et volatilité historique.
Dure réalité : les limites du modèle
Black-Scholes est une formule brillante, mais elle présente des défauts fatals dans le monde réel, en particulier dans la crypto :
- Volatilité constante : La formule suppose que la volatilité est la même pour tous les strikes. En réalité, il existe un « sourire de volatilité » (Volatility Smile) — les options hors de la monnaie coûtent plus cher que ce que prédit le modèle, car les traders surpaient pour se protéger des « cygnes noirs ».
- Distribution log-normale : Le modèle suppose que les prix suivent une distribution log-normale et que les mouvements extrêmes sont impossibles. Dans la crypto, les mouvements extrêmes (les Fat tails) sont un mardi ordinaire.
- Trading continu : La formule suppose que vous pouvez vous couvrir en continu sans frais. Les frais réels et le slippage rongeront rapidement vos profits.
Conclusion
La formule de Black-Scholes est la pierre de Rosette de la finance quantitative. Même en connaissant ses défauts, tout le monde financier continue de coter les options en unités de volatilité de Black-Scholes.
Comprendre cette formule et ses « Grecques » est un pas qui sépare le trader ordinaire du chercheur quantitatif. La prochaine fois que vous déciderez d'acheter une option, souvenez-vous : vous ne tradez pas seulement la direction du prix, vous tradez la volatilité et le temps.
Pour aller plus loin
- Le modèle de Black-Scholes sur Wikipédia
- Options : guide complet sur Investopedia
- Produits dérivés et gestion des risques
Dépôt de code
- Dépôt GitHub : suenot/options-pricing — code source complet du calculateur et des exemples de l'article.
Bon hedging ! 📈
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.