Alpha Hedge Services
Quant Lab

QUANT LAB / APPLIED RESEARCH

Courbes & Hull–White — Atelier de valorisation

Construire une courbe, décrire le contrat, comparer les méthodes et examiner les diagnostics.

Calcul local dans votre navigateur. API Python et adaptateur COM fournis séparément ; ils ne sont pas connectés à cette page. Données synthétiques.

Marché

EUR ; temps en années depuis la date de valorisation. Pas de calendrier bancaire ni de conversion automatique ACT/365. Volatilités de marché et σ du modèle sont distinctes.

Contrat

Payer fixe, départ à 1 an, paiements annuels à 2–6 ans. Exercice physique à 1–5 ans dans le swap résiduel, après le paiement de la date ; sans frais ni délai de notification. Ces conventions sont fixes dans cette exploration.

Modèle et calcul
TARN

01 · Interpolations de courbe

Comparer P(0,t), taux zéro continus et forwards instantanés. Les trois interpolations reproduisent les mêmes nœuds ; les valeurs intermédiaires et le prix du swap peuvent différer. Les sauts de forwards aux nœuds restent visibles. Extrapolation interdite ; facteurs positifs, taux négatifs autorisés.

w=t−titi+1−ti,zi=−ln⁡Piti,Pi=P(0,ti)w=\frac{t-t_i}{t_{i+1}-t_i},\quad z_i=-\frac{\ln P_i}{t_i},\quad P_i=P(0,t_i)
Plog⁡P(0,t)=exp⁡((1−w)ln⁡Pi+wln⁡Pi+1)P_{\log P}(0,t)=\exp((1-w)\ln P_i+w\ln P_{i+1})
PP(0,t)=(1−w)Pi+wPi+1,Pz(0,t)=e−t((1−w)zi+wzi+1)P_P(0,t)=(1-w)P_i+wP_{i+1},\quad P_z(0,t)=e^{-t((1-w)z_i+wz_{i+1})}
P(0,0)=1,z(t)=−ln⁡P(0,t)t,f(0,t)=−∂ln⁡P(0,t)∂tP(0,0)=1,\quad z(t)=-\frac{\ln P(0,t)}t,\quad f(0,t)=-\frac{\partial\ln P(0,t)}{\partial t}

t en années, taux en décimaux. z₀ = z₁ pour l’interpolation zéro. Forwards par différences finies ; dérivée non unique aux nœuds. Extrapolation interdite.

Fletcher & Gardner (2009), Chap. 4–5, p. 29–35, 63–67.

02 · Dynamique Hull–White

Sous Q, x est gaussien et le taux court vaut x+φ. Les cinq trajectoires utilisent des transitions OU exactes. La courbe initiale détermine le décalage φ ; les moments affichés concernent x. Les courbes conditionnelles à t=1 comparent trois états, pas trois prévisions.

dxt=−axt dt+σ dWtQ,x0=0,rt=xt+φ(t)dx_t=-a x_t\,dt+\sigma\,dW_t^{\mathbb Q},\quad x_0=0,\quad r_t=x_t+\varphi(t)
φ(t)=f(0,t)+σ22a2(1−e−at)2\varphi(t)=f(0,t)+\frac{\sigma^2}{2a^2}(1-e^{-at})^2
EQ[xt]=0,Var⁡Q(xt)=σ22a(1−e−2at)\mathbb E^{\mathbb Q}[x_t]=0,\quad\operatorname{Var}^{\mathbb Q}(x_t)=\frac{\sigma^2}{2a}(1-e^{-2at})
B(u)=1−e−aua,v(u)=σ2a2[u−2(1−e−au)a+1−e−2au2a]B(u)=\frac{1-e^{-au}}a,\quad v(u)=\frac{\sigma^2}{a^2}\left[u-\frac{2(1-e^{-au})}a+\frac{1-e^{-2au}}{2a}\right]
P(t,T)=P(0,T)P(0,t)exp⁡[−B(T−t)xt+12{v(T−t)−v(T)+v(t)}]P(t,T)=\frac{P(0,T)}{P(0,t)}\exp\left[-B(T-t)x_t+\frac12\{v(T-t)-v(T)+v(t)\}\right]

Mesure risque-neutre Q, numéraire compte monétaire. a > 0 en an⁻¹ ; σ en taux décimal/√an ; temps en années. v(u) est la variance du facteur x intégré. Mono-courbe, paramètres constants, sans calibration à une surface de volatilité.

Fletcher & Gardner (2009), Chap. 8, p. 99–121 ; annexe C, p. 217–218.

03 · Convergence Monte-Carlo

Prix d’un zéro-coupon à 5 ans, par unité de nominal. Simulation conjointe exacte de x et de son intégrale. Les bornes ±1,96 erreur standard mesurent uniquement l’incertitude statistique. Pas d’erreur Euler pour ce payoff ; pas de régression ici. Référence : P(0,5) fourni par la courbe.

Yn(T)=e−∫0Trs(n)ds,P^N(0,T)=1N∑n=1NYn(T)Y_n(T)=e^{-\int_0^T r_s^{(n)}ds},\quad\widehat P_N(0,T)=\frac1N\sum_{n=1}^NY_n(T)
SE⁡=∑n=1N(Yn−P^N)2N(N−1),CI⁡95%≃P^N±1.96SE⁡\operatorname{SE}=\sqrt{\frac{\sum_{n=1}^N(Y_n-\widehat P_N)^2}{N(N-1)}},\quad\operatorname{CI}_{95\%}\simeq\widehat P_N\pm1.96\operatorname{SE}

Intervalle asymptotique, incertitude statistique seule. L’intégrale OU est simulée exactement pour ce zéro-coupon.

Fletcher & Gardner (2009), Chap. 9, p. 128–142.

04 · Exercice ou conservation

La grille calcule une Bermudan payeuse exerçable aux dates 1, 2, 3, 4 et 5 ans dans le swap résiduel à échéance 6 ans. Un second calcul utilise une régression de continuation avec apprentissage et évaluation distincts. Base : puissances de x normalisé. Le rang et le nombre de trajectoires dans la monnaie sont affichés. L’erreur standard ne couvre pas le biais de la politique d’exercice.

Hj=N ⁣notmax⁡(1−P(tj,T)−K∑Ti>tjαiP(tj,Ti),0)H_j=N_{\!\mathrm{not}}\max\left(1-P(t_j,T)-K\sum_{T_i>t_j}\alpha_iP(t_j,T_i),0\right)
Cj=EQ[e−∫tjtj+1rsdsVj+1∣Ftj],Vj=max⁡(Hj,Cj)C_j=\mathbb E^{\mathbb Q}\left[e^{-\int_{t_j}^{t_{j+1}}r_sds}V_{j+1}\mid\mathcal F_{t_j}\right],\quad V_j=\max(H_j,C_j)
C^j(x)=∑k=0dβ^jkx~ k,pickupj=Hj−Cj\widehat C_j(x)=\sum_{k=0}^d\widehat\beta_{jk}\widetilde x^{\,k},\quad\mathrm{pickup}_j=H_j-C_j

Swap payeur résiduel. Nnot : nominal, K : taux fixe, αᵢ : fraction de période. LSM : apprentissage et évaluation sur trajectoires distinctes. L’approche pickup de l’annexe D est distincte ; aucun second algorithme pickup n’est implémenté ici.

Fletcher & Gardner (2009), Chap. 9, p. 131–142 ; annexe D, p. 219–220.

05 · Déclenchement d’un TARN

Scénario pédagogique d’une jambe de coupons. Taux d’une trajectoire synthétique observée semestriellement. Dernier coupon plafonné au reliquat de cible ; aucun rattrapage à maturité. La jambe de financement et les échanges de principal sont exclus. Ce n’est pas le prix stochastique d’un TARN complet.

ciraw=Δmax⁡(f,c+gri),Δ=0.5c_i^{\mathrm{raw}}=\Delta\max(f,c+gr_i),\quad\Delta=0.5
cipaid=min⁡(ciraw,max⁡(A−Si−1,0)),Si=Si−1+cipaid,S0=0c_i^{\mathrm{paid}}=\min(c_i^{\mathrm{raw}},\max(A-S_{i-1},0)),\quad S_i=S_{i-1}+c_i^{\mathrm{paid}},\quad S_0=0
τ=min⁡{i:Si=A}\tau=\min\{i:S_i=A\}

Convention pédagogique : f = 0, c coupon de base, g multiplicateur, A cible, S cumul. Dernier coupon plafonné au reliquat ; arrêt si la cible est atteinte. Sans principal, jambe de financement ni prix complet du TARN.

Fletcher & Gardner (2009), Chap. 10, p. 152–157.

06 · Tests et diagnostics

Les contrôles de cette exécution sont séparés des tests automatisés enregistrés. La reproduction de la courbe ne prouve pas la convergence du prix d’option. Comparer les grilles et examiner l’erreur de régression. Aucun test COM/Excel sous Windows n’a été exécuté ici.

εcurve=max⁡i∣∑jqij−P(0,ti)∣\varepsilon_{\mathrm{curve}}=\max_i\left|\sum_jq_{ij}-P(0,t_i)\right|
φi=1Δtln⁡(∑jqije−xijΔtP(0,ti+1)),ΔV=Vfine−Vcoarse\varphi_i=\frac1{\Delta t}\ln\left(\frac{\sum_jq_{ij}e^{-x_{ij}\Delta t}}{P(0,t_{i+1})}\right),\quad\Delta V=V_{\mathrm{fine}}-V_{\mathrm{coarse}}

qᵢⱼ : prix d’état actualisés. L’ajustement discret φᵢ diffère de la formule continue. Un écart entre deux grilles ne prouve pas la convergence.

Tests automatisés enregistrés

Fletcher & Gardner (2009), Chap. 2, p. 6–9 ; chap. 10, p. 148–151.

Excel, API et sources

Le classeur contient un cas synthétique et des résultats enregistrés. Pour recalculer la Bermudan depuis Excel : enregistrer le composant COM sous Windows, importer le module VBA et lancer RunAHS338. Le prix affiché à l’ouverture est un snapshot, pas un appel serveur.

Limites : modèle gaussien à un facteur, mono-courbe, paramètres imposés. Pas de calibration automatique, de smile, de collatéral ou de XVA. Les cotations de surface peuvent être stockées par l’API ; elles ne sont pas utilisées pour calibrer σ dans cette version.