σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Ruta de SciPy›Módulo 2 · Curvas e integrales›Tema 2.1·~45 minIntermedio

Interpolación y splines para curvas

Posición en la rutaMódulo 2 de 3 · Tema 1 de 3
2.1 Interpolación y splines para curvas
—Puntuación del lab— / 100XP total—Racha—

Trazar una línea suave por unos pocos puntos

Los mercados cotizan una curva de tipos en pocos plazos, como 2, 3 y 5 años, pero se necesita el valor en cualquier plazo, como 2,5 años. La interpolación rellena los huecos entre puntos conocidos. La forma más simple es lineal: trazar una recta entre dos vecinos con np.interp o interpolate.interp1d. Una spline cúbica, interpolate.CubicSpline, une los puntos con trozos de curva cúbica de modo que la pendiente y la curvatura también coinciden en cada punto, y el resultado se ve suave. Una spline puede pasarse entre puntos. PchipInterpolator lo evita al no ir nunca por encima o por debajo de sus vecinos. Dentro del rango conocido cualquiera sirve, pero fuera se extrapola, lo que es una conjetura, y un polinomio cúbico puede desbocarse.

Importa qué magnitud se interpola. Interpolar linealmente los rendimientos es fácil, pero en finanzas a menudo se interpola en su lugar el logaritmo del factor de descuento. Con capitalización continua, el factor de descuento es D(t)=e−y(t) tD(t)=e^{-y(t)\,t}D(t)=e−y(t)t, así que ln⁡D(t)=−y(t) t\ln D(t)=-y(t)\,tlnD(t)=−y(t)t. Interpolarlo linealmente mantiene constantes los tipos a plazo entre nodos. El tipo a plazo entre los instantes t1t_1t1​ y t2t_2t2​ es el tipo que se puede fijar hoy para ese periodo futuro: f=y(t2)t2−y(t1)t1t2−t1f=\dfrac{y(t_2)t_2-y(t_1)t_1}{t_2-t_1}f=t2​−t1​y(t2​)t2​−y(t1​)t1​​. Una curva a plazo suave y razonable es la verdadera prueba de una interpolación.

D(t)=e−y(t) t,ln⁡D(t) linear between knots,f(t1,t2)=y(t2)t2−y(t1)t1t2−t1D(t)=e^{-y(t)\,t},\qquad \ln D(t)\ \text{linear between knots},\qquad f(t_1,t_2)=\frac{y(t_2)t_2-y(t_1)t_1}{t_2-t_1}D(t)=e−y(t)t,lnD(t) linear between knots,f(t1​,t2​)=t2​−t1​y(t2​)t2​−y(t1​)t1​​(1)
El rendimiento a 2,5 añosEl rendimiento es 4,0%4{,}0\%4,0% a 222 años y 4,5%4{,}5\%4,5% a 333 años. La interpolación lineal da 4,25%4{,}25\%4,25% a 2,52{,}52,5 años. Interpolar ln⁡D=−yt\ln D=-ytlnD=−yt, que vale −0,080-0{,}080−0,080 a 222 años y −0,135-0{,}135−0,135 a 333 años, da −0,1075-0{,}1075−0,1075 a 2,52{,}52,5 años, así que el rendimiento es 0,1075/2,5=4,30%0{,}1075/2{,}5=4{,}30\%0,1075/2,5=4,30%. El tipo a plazo entre 222 y 333 años es (0,135−0,080)/1=5,5%(0{,}135-0{,}080)/1=5{,}5\%(0,135−0,080)/1=5,5%. Una spline cúbica natural por (0;0)(0;0)(0;0), (1;1)(1;1)(1;1) y (2;0)(2;0)(2;0) es S(x)=−0,5x3+1,5xS(x)=-0{,}5x^{3}+1{,}5xS(x)=−0,5x3+1,5x en [0;1][0;1][0;1], así que S(0,5)=0,6875S(0{,}5)=0{,}6875S(0,5)=0,6875, mientras que una recta da 0,50{,}50,5. Con datos reales, la curva del Tesoro del 9 de octubre de 2026 tiene 5,24%5{,}24\%5,24% a 101010 años y 5,65%5{,}65\%5,65% a 202020 años. A 151515 años, la interpolación lineal da 5,445%5{,}445\%5,445%, una spline cúbica por los diez puntos da 5,450%5{,}450\%5,450% y PCHIP da 5,493%5{,}493\%5,493%. Más allá de los datos falla: la misma spline a 404040 años dice 4,26%4{,}26\%4,26%, aunque el rendimiento a 303030 años es 5,60%5{,}60\%5,60%.
  • Interpolar dentro, cuidado fuera: lineal, spline cúbica y PCHIP coinciden dentro de los datos y divergen fuera.
  • Elegir qué interpolar: el logaritmo del factor de descuento mantiene estables los tipos a plazo entre nodos.
  • Revisar la curva a plazo: una buena interpolación da tipos a plazo razonables, no solo una bonita línea por los puntos.

Lab: qué se califica

  • Una interpolación lineal10 pts
  • Interpolar el factor de descuento15 pts
  • Un tipo a plazo15 pts
  • Un valor de spline10 pts
  • La herramienta adecuada15 pts
  • Construir una curva10 pts
  • Por qué no extrapolar una spline cúbica25 pts
0/ 7 respondidos
Ejercicios
1Respuesta numérica10 ptsSin responder

El rendimiento es 4,0%4{,}0\%4,0% a 222 años y 4,5%4{,}5\%4,5% a 333 años. ¿Qué da la interpolación lineal a 2,52{,}52,5 años, en porcentaje? Dé dos decimales.

y=y =y=aceptado: ± 0.01
2Respuesta numérica15 ptsSin responder

Con ln⁡D=−yt\ln D=-ytlnD=−yt igual a −0,080-0{,}080−0,080 a 222 años y −0,135-0{,}135−0,135 a 333 años, la interpolación lineal da ln⁡D(2,5)=−0,1075\ln D(2{,}5)=-0{,}1075lnD(2,5)=−0,1075. ¿Qué rendimiento y=−ln⁡D/ty=-\ln D/ty=−lnD/t a 2,52{,}52,5 años significa esto, en porcentaje? Dé dos decimales.

y=y =y=aceptado: ± 0.01
3Respuesta numérica15 ptsSin responder

¿Cuánto vale el tipo a plazo entre 222 y 333 años, f=(y3⋅3−y2⋅2)/(3−2)f=(y_3\cdot3-y_2\cdot2)/(3-2)f=(y3​⋅3−y2​⋅2)/(3−2), cuando y2=4,0%y_2=4{,}0\%y2​=4,0% e y3=4,5%y_3=4{,}5\%y3​=4,5%? Dé un decimal, en porcentaje.

f=f =f=aceptado: ± 0.05
4Respuesta numérica10 ptsSin responder

La spline cúbica natural por (0;0)(0;0)(0;0), (1;1)(1;1)(1;1) y (2;0)(2;0)(2;0) es S(x)=−0,5x3+1,5xS(x)=-0{,}5x^{3}+1{,}5xS(x)=−0,5x3+1,5x en [0;1][0;1][0;1]. ¿Cuánto vale S(0,5)S(0{,}5)S(0,5)? Dé cuatro decimales.

s=s =s=aceptado: ± 0.001
5Emparejar15 ptsSin responder

Empareje cada herramienta con la situación en que mejor encaja.

Elige la pareja de cada elemento de la izquierda.

np.interp
CubicSpline
PchipInterpolator
bounds_error=False, fill_value
6Ordenar los pasos10 ptsSin responder

Ordene los pasos para construir una curva de descuento a partir de rendimientos cotizados.

Arrastra para reordenar, o enfoca un elemento, pulsa Espacio para levantarlo, las flechas para moverlo y Espacio para soltarlo.

  1. 1Revisar los tipos a plazo implícitos: saltos o negativos
  2. 2Interpolar entre los nodos
  3. 3Convertir cada rendimiento en logaritmo del factor de descuento
  4. 4Reunir los rendimientos cotizados y los plazos
7Explicar con palabras25 ptsSin responder

La spline cúbica por diez rendimientos del Tesoro dice que el rendimiento a 40 años es 4,26%4{,}26\%4,26% aunque el de 30 años es 5,60%5{,}60\%5,60%. En una o dos frases, explique por qué extrapolar una spline cúbica es arriesgado.

Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 7 · Ctrl ⏎ para comprobar

Inicia sesión para ejecutar tu código.

Todas las clases se pueden leer gratis. Crea una cuenta o inicia sesión para ejecutar código, lanzar las pruebas y enviar este lab.

  • IDE en el navegador con terminal bash — sin instalar nada
  • Corrección instantánea, XP y tu lugar en la ruta
Crear una cuentaIniciar sesión
O
Continuar con GitHub