2.3 Funciones especiales en la valoración de opciones
—Puntuación del lab— / 100XP total—Racha—
Las funciones detrás de las fórmulas
scipy.special reúne las funciones con nombre que aparecen una y otra vez en las fórmulas. La más útil en finanzas es la función de distribución normal Φ(x), disponible como special.ndtr. Está ligada a la función de error por Φ(x)=21(1+erf(x/2)). El precio de Black–Scholes de una opción de compra con spot S, ejercicio K, tipo r, volatilidad σ y plazo T la usa dos veces: C=SΦ(d1)−Ke−rTΦ(d2), donde d1=σTln(S/K)+(r+σ2/2)T y d2=d1−σT. La sensibilidad del precio a la volatilidad se llama vega y vale Sφ(d1)T, donde φ es la densidad normal. La vega es lo que necesita un solucionador de Newton para hallar una volatilidad implícita.
El otro grupo de funciones especiales trata de números demasiado grandes o pequeños. Un factorial crece tan rápido que 171! ya desborda un número decimal normal en un ordenador, pero lnn! es fácil: special.gammaln(n+1). special.comb(n, k) cuenta los caminos con k subidas en un árbol de n pasos. special.logsumexp calcula ln∑exi con seguridad sacando el mayor x, de modo que ln(e1000+e1000)=1000+ln2 no desborda. special.expit(x)=1/(1+e^{-x}) convierte cualquier puntuación en una probabilidad entre 0 y 1, como en un modelo logístico. La regla: trabajar en logaritmos cuando un número puede ser enorme o minúsculo y exponenciar solo al final.
Un precio de opción de compra y un paso de volatilidad implícitaTomemos S=K=100, r=0, σ=0,2 y T=1. Entonces d1=0,1 y d2=−0,1, y Φ(0,1)=0,5398, Φ(−0,1)=0,4602. Así C=100⋅(0,5398−0,4602)=7,97. La densidad normal en 0,1 es 0,3970, así que la vega es 100⋅0,3970⋅1=39,70. Si el precio de mercado es 9,00, el precio queda bajo por 1,03, y un paso de Newton sube la volatilidad a 0,2+1,03/39,70=0,2261. Para Φ(1) se puede usar erf(0,7071)=0,6827, así que Φ(1)=21(1+0,6827)=0,8413. En las herramientas pequeñas, expit(2)=0,8808, ln4!=3,178 y (310)=120. Con datos reales, el rendimiento diario de SPY tiene una desviación típica de 1,196%. Una caída del 5% es z=−4,21 desviaciones, y Φ(−4,21)=1,26⋅10−5, que un modelo normal dice que ocurre una vez cada unos 315 años. En los 5403 días de datos, ocurrió en 20 días.
Nombrar la función: ndtr, erf, expit, gammaln, comb y logsumexp sustituyen páginas de matemáticas escritas a mano.
Trabajar en logaritmos con extremos: use gammaln y logsumexp en lugar de un factorial o una suma de exponenciales enormes.
La vega guía al solucionador: un paso de Newton para la volatilidad implícita es la diferencia de precio dividida por la vega.
Lab: qué se califica
La función normal a partir de erf10 pts
Una opción de compra de Black–Scholes20 pts
La vega10 pts
Un paso de volatilidad implícita15 pts
Para qué sirve cada función15 pts
La forma segura de sumar10 pts
Por qué calcular factoriales con logaritmos20 pts
0/ 7 respondidos
1Respuesta numérica10 ptsSin responder
Sabiendo que erf(0,7071)=0,6827, calcule Φ(1)=21(1+erf(1/2)). Dé cuatro decimales.
p=aceptado: ± 0.0005
2Respuesta numérica20 ptsSin responder
Con S=K=100, r=0, σ=0,2, T=1 se obtiene d1=0,1, d2=−0,1, Φ(0,1)=0,5398 y Φ(−0,1)=0,4602. ¿Cuánto vale C=SΦ(d1)−KΦ(d2)? Dé dos decimales.
c=aceptado: ± 0.03
3Respuesta numérica10 ptsSin responder
La densidad normal en d1=0,1 es φ(0,1)=0,3970. Con S=100 y T=1, ¿cuánto vale la vega =Sφ(d1)T? Dé dos decimales.
v=aceptado: ± 0.1
4Respuesta numérica15 ptsSin responder
El precio de mercado es 9,00 y el precio del modelo con σ=0,2 es 7,9656, con vega 39,70. ¿Cuál es la nueva volatilidad σ+(mercado−modelo)/vega? Dé cuatro decimales.
s=aceptado: ± 0.0005
5Emparejar15 ptsSin responder
Empareje cada función de scipy.special con su tarea.
Elige la pareja de cada elemento de la izquierda.
ndtr
expit
gammaln
logsumexp
comb
6Elección10 ptsSin responder
Necesita ln(e1000+e1002) en un ordenador. ¿Qué forma es segura?
7Explicar con palabras20 ptsSin responder
Una probabilidad binomial para un árbol de 200 pasos contiene 200!. En una o dos frases, explique por qué conviene calcularla con gammaln y logaritmos.
Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 7 · Ctrl ⏎ para comprobar