Fonctions spéciales dans la valorisation d'options
Position dans le parcoursModule 2 sur 3 · Sujet 3 sur 3
2.3 Fonctions spéciales dans la valorisation d'options
—Score du lab— / 100XP total—Série—
Les fonctions derrière les formules
scipy.special rassemble les fonctions nommées qui reviennent sans cesse dans les formules. La plus utile en finance est la fonction de répartition normale Φ(x), disponible sous special.ndtr. Elle est liée à la fonction d'erreur par Φ(x)=21(1+erf(x/2)). Le prix de Black–Scholes d'un call de spot S, d'exercice K, de taux r, de volatilité σ et de durée T l'utilise deux fois : C=SΦ(d1)−Ke−rTΦ(d2), où d1=σTln(S/K)+(r+σ2/2)T et d2=d1−σT. La sensibilité du prix à la volatilité s'appelle le vega et vaut Sφ(d1)T, où φ est la densité normale. Le vega est ce dont un solveur de Newton a besoin pour trouver une volatilité implicite.
L'autre groupe de fonctions spéciales concerne les nombres trop grands ou trop petits. Une factorielle croît si vite que 171! dépasse déjà ce qu'un nombre décimal ordinaire peut contenir dans un ordinateur, mais lnn! est facile : special.gammaln(n+1). special.comb(n, k) compte les chemins à k hausses dans un arbre à n pas. special.logsumexp calcule ln∑exi sans risque en sortant le plus grand x, de sorte que ln(e1000+e1000)=1000+ln2 ne déborde pas. special.expit(x)=1/(1+e^{-x}) transforme n'importe quel score en probabilité entre 0 et 1, comme dans un modèle logistique. La règle : travailler en logarithmes quand un nombre peut être énorme ou minuscule, et n'exponentier qu'à la fin.
Un prix de call et un pas de volatilité implicitePrenons S=K=100, r=0, σ=0,2 et T=1. Alors d1=0,1 et d2=−0,1, et Φ(0,1)=0,5398, Φ(−0,1)=0,4602. Donc C=100⋅(0,5398−0,4602)=7,97. La densité normale en 0,1 vaut 0,3970, donc le vega est 100⋅0,3970⋅1=39,70. Si le prix de marché est 9,00, le prix est trop bas de 1,03, et un pas de Newton relève la volatilité à 0,2+1,03/39,70=0,2261. Pour Φ(1) on peut utiliser erf(0,7071)=0,6827, donc Φ(1)=21(1+0,6827)=0,8413. Pour les petits outils, expit(2)=0,8808, ln4!=3,178 et (310)=120. Sur données réelles, le rendement quotidien de SPY a un écart type de 1,196%. Une baisse de 5% vaut z=−4,21 écarts types, et Φ(−4,21)=1,26⋅10−5, ce qu'un modèle normal dit arriver une fois en environ 315 ans. Dans les 5403 jours de données, cela est arrivé 20 jours.
Nommer la fonction : ndtr, erf, expit, gammaln, comb et logsumexp remplacent des pages de maths écrites à la main.
Travailler en logarithmes pour les extrêmes : utilisez gammaln et logsumexp au lieu d'une factorielle ou d'une somme d'exponentielles énormes.
Le vega pilote le solveur : un pas de Newton pour la volatilité implicite est l'écart de prix divisé par le vega.
Lab : ce qui est noté
La fonction normale à partir de erf10 pts
Un call de Black–Scholes20 pts
Le vega10 pts
Un pas de volatilité implicite15 pts
À quoi sert chaque fonction15 pts
La façon sûre d'additionner10 pts
Pourquoi calculer les factorielles par les logarithmes20 pts
0/ 7 traités
1Réponse numérique10 ptsSans réponse
Sachant erf(0,7071)=0,6827, calculez Φ(1)=21(1+erf(1/2)). Donnez quatre décimales.
p=accepté : ± 0.0005
2Réponse numérique20 ptsSans réponse
Avec S=K=100, r=0, σ=0,2, T=1 on obtient d1=0,1, d2=−0,1, Φ(0,1)=0,5398 et Φ(−0,1)=0,4602. Que vaut C=SΦ(d1)−KΦ(d2) ? Donnez deux décimales.
c=accepté : ± 0.03
3Réponse numérique10 ptsSans réponse
La densité normale en d1=0,1 vaut φ(0,1)=0,3970. Avec S=100 et T=1, que vaut le vega =Sφ(d1)T ? Donnez deux décimales.
v=accepté : ± 0.1
4Réponse numérique15 ptsSans réponse
Le prix de marché est 9,00 et le prix du modèle à σ=0,2 est 7,9656, avec un vega de 39,70. Quelle est la nouvelle volatilité σ+(marcheˊ−modeˋle)/vega ? Donnez quatre décimales.
s=accepté : ± 0.0005
5Associer15 ptsSans réponse
Associez chaque fonction de scipy.special à son rôle.
Choisissez le partenaire de chaque élément de gauche.
ndtr
expit
gammaln
logsumexp
comb
6Choix10 ptsSans réponse
Il vous faut ln(e1000+e1002) sur un ordinateur. Quelle façon est sûre ?
7Expliquer avec des mots20 ptsSans réponse
Une probabilité binomiale pour un arbre à 200 pas contient 200!. En une ou deux phrases, expliquez pourquoi il faut la calculer avec gammaln et des logarithmes.
Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 7 · Ctrl ⏎ pour vérifier