Cuatro números para toda una curva
El mercado cotiza los rendimientos del Tesoro de EE. UU. en diez plazos, de 3 meses a 30 años, pero un banco necesita un tipo para cada fecha. En este proyecto final describe toda la curva con los cuatro números del modelo de Nelson–Siegel: un nivel de largo plazo β₀, una pendiente β₁, una joroba β₂ y una longitud de decaimiento λ en años. Los calibra con las cotizaciones mediante scipy.optimize.least_squares, partiendo de varios valores de λ porque la curva no es lineal en λ, y se queda con el ajuste de menor coste. Con la curva ajustada lee un tipo a plazo, e integra la curva de tipos a plazo instantáneos con integrate.quad para obtener un factor de descuento D(T)=e^(-A/100), donde A es el área bajo la curva a plazo en porcentaje.
La misma curva valora un bono. Cada flujo se descuenta con el rendimiento de su propio plazo, P=Σcᵢ e^(-y(tᵢ)tᵢ/100), y el rendimiento al vencimiento es el tipo único que devuelve el precio, hallado con optimize.brentq. Las opciones funcionan igual: la volatilidad implícita es la raíz de bs_call(σ)-precio, otra vez con brentq. Las cotizaciones reales de opciones no forman parte de los datos compartidos, así que prueba la sonrisa con precios que genera con la función dada bs_call, y ajusta la sonrisa σ(m)=a+b m+c m² en log-moneyness m=ln(K/S) por mínimos cuadrados. Cada función se califica con entradas aleatorias frente a una referencia independiente, y la última prueba ejecuta todo su estudio sobre el archivo real del Tesoro.
- Calibrar desde varios inicios: la longitud de decaimiento hace el ajuste no lineal, así que un solo inicio puede detenerse en una mala curva.
- Comprobar por otro camino: el factor de descuento de la curva a plazo integrada debe igualar el obtenido del rendimiento.
- Las raíces valoran el mercado: un rendimiento al vencimiento y una volatilidad implícita son raíces halladas con brentq sobre un error de precio.
Lab: qué se califica
- La curva cotizada de un día5 pts
- El rendimiento de Nelson–Siegel10 pts
- Calibrar la curva15 pts
- Un tipo a plazo10 pts
- Un factor de descuento a partir de tipos a plazo10 pts
- Un precio de bono desde la curva10 pts
- Un rendimiento al vencimiento10 pts
- Una volatilidad implícita10 pts
- Una sonrisa cuadrática10 pts
- La calibración completa10 pts