boncourant

negotiated-structure.risk.cost-distribution — distribution du risque de marché


Objectif


Ce module produit une véritable distribution du risque de coût pour une

exposition électrique non couverte (volume flottant) sur un horizon donné. Il

calcule les quantiles P10 / P50 / P90, la VaR à 95 %, la CVaR à 95 %

(_Expected Shortfall_, perte moyenne dans la queue) et le Budget-at-Risk

les chiffres qu'un comité d'achat évalue réellement.


Il remplace l'approximation par 3 scénarios équipondérés (±15 %) du module

risk/exposure, qui n'a ni masse de queue, ni asymétrie, ni CVaR : trois

points ne sont pas une distribution. Sous σ = 0,15 le vrai 5ᵉ percentile d'un

prix forward lognormal est ≈ −24,7 %, pas −15 % — la bande à 3 points est donc

trop étroite et sous-estime la probabilité de dépassement.


---


Modèle de prix — lognormal autour du forward (forme fermée)


Le prix de livraison S_T est modélisé comme lognormal autour du forward F

(choix standard et défendable pour les forwards d'énergie : prix strictement

positifs et asymétrie à droite) :


```

S_T = F · exp( σ√t · Z − ½ σ² t ), Z ~ N(0,1)

```


Le terme de dérive −½σ²t fait du forward l'espérance non biaisée :

E[S_T] = F (propriété de martingale). La volatilité annualisée σ est mise à

l'échelle du ténor par t = horizon_days / 365, soit une log-volatilité

effective v = σ√t.


Aucune simulation Monte-Carlo : tout est évalué analytiquement, donc

déterministe et rejouable depuis `(method_id, method_version, input_hash,

market_snapshot)`.


Quantiles (inverse de la CDF lognormale)


```

S_q = F · exp( v · z_q − ½ v² ), z_q = Φ⁻¹(q)

```


| Quantile | z_q | Rôle pour un acheteur |

|----------|--------------|----------------------------------|

| P10 | −1,28155 | cas favorable (prix bas) |

| P50 | 0 | médiane (< moyenne → asymétrie) |

| P90 | +1,28155 | cas défavorable (prix haut) |


Comme la médiane vaut F·exp(−½v²) < F = moyenne, la distribution est

asymétrique à droite : la moyenne est au-dessus de la médiane — exactement

l'asymétrie que le proxy à 3 points ne peut pas représenter.


---


Risque de queue — VaR et CVaR (Expected Shortfall)


Pour un acheteur d'énergie, la queue défavorable est la queue haute

(prix élevés). Au seuil de 95 % :


```

VaR95 (prix) = percentile 95 = F · exp(v · z₉₅ − ½v²), z₉₅ = 1,64485

CVaR95 (prix) = E[ S_T | S_T ≥ VaR95 ] = F · Φ( σ√t − z₉₅ ) / (1 − 0,95)

```


La forme fermée de la CVaR lognormale découle de l'identité

E[X·1{Z ≥ z_α}] = F·Φ(v − z_α) (complétion du carré dans l'intégrale

gaussienne — la même que le terme N(d₁) de Black–Scholes).


Source : McNeil, Frey & Embrechts, _Quantitative Risk Management_ (2015),

§2.2.4 ; Hull, _Options, Futures and Other Derivatives_ (propriété lognormale

du prix forward). Φ est approchée par Abramowitz & Stegun 7.1.26

(erreur abs. ≈ 1,5·10⁻⁷).


---


Du prix au coût et Budget-at-Risk


Le coût total de l'exposition non couverte = prix × unhedged_mwh. Chaque

quantile de prix se transpose linéairement en € :


```

budget_at_risk_eur = cvar95_eur − expected_eur

= (CVaR95_prix − F) × unhedged_mwh

```


C'est le dépassement de coût de la queue par rapport au coût attendu

(forward) : la réserve budgétaire qu'un acheteur doit constituer. Le CFaR

(Cash-Flow-at-Risk) est la même grandeur exprimée en trésorerie ; il est

exposé sous budget_at_risk_eur. Par construction budget_at_risk_eur ≥ 0

car CVaR ≥ moyenne.


---


Portée et limites


  • Module pur, synchrone, déterministe — aucune E/S, aucun PRNG.
  • **Le forward F, la volatilité σ, le volume et l'horizon sont fournis par
  • l'appelant** depuis un snapshot marché épinglé. Ce module ne fabrique jamais

    de prix ni de volatilité.

  • La calibration de σ (volatilité réalisée du strip CAL) relève de
  • spec-2ter#18.

  • Le modèle suppose une lognormale à un facteur ; il ne capture pas le risque
  • de saut (spot), de corrélation de forme, de liquidité ou de contrepartie.

  • Pour un vendeur, la queue défavorable serait la queue basse — ce module
  • cible l'exposition acheteur (le cas du gros consommateur).