Vier Zahlen für eine ganze Kurve
Der Markt notiert US-Treasury-Renditen bei zehn Laufzeiten von 3 Monaten bis 30 Jahren, aber eine Bank braucht einen Zins für jedes Datum. In diesem Abschlussprojekt beschreiben Sie die ganze Kurve mit den vier Zahlen des Nelson-Siegel-Modells: einem langfristigen Niveau β₀, einer Steigung β₁, einem Buckel β₂ und einer Abklinglänge λ in Jahren. Sie kalibrieren sie mit scipy.optimize.least_squares an die Notierungen, starten von mehreren Werten für λ, weil die Kurve darin nicht linear ist, und behalten die Anpassung mit den niedrigsten Kosten. Aus der angepassten Kurve lesen Sie einen Terminzins ab und integrieren die Kurve der momentanen Terminzinsen mit integrate.quad, um einen Diskontfaktor D(T)=e^(-A/100) zu erhalten, wobei A die Fläche unter der Terminkurve in Prozent ist.
Dieselbe Kurve bewertet eine Anleihe. Jede Zahlung wird mit der Rendite ihrer eigenen Laufzeit diskontiert, P=Σcᵢ e^(-y(tᵢ)tᵢ/100), und die Rendite bis zur Fälligkeit ist der eine Zins, der den Preis wieder ergibt, gefunden mit optimize.brentq. Optionen funktionieren genauso: Die implizite Volatilität ist die Nullstelle von bs_call(σ)-Preis, wieder mit brentq gefunden. Echte Optionsnotierungen gehören nicht zu den gemeinsamen Daten, daher testen Sie das Smile an Preisen, die Sie mit der gegebenen Funktion bs_call selbst erzeugen, und passen das Smile σ(m)=a+b m+c m² in der Log-Moneyness m=ln(K/S) nach kleinsten Quadraten an. Jede Funktion wird mit Zufallseingaben gegen eine unabhängige Referenz bewertet, und der letzte Test führt Ihre gesamte Studie auf der echten Treasury-Datei aus.
- Von mehreren Starts kalibrieren: Die Abklinglänge macht die Anpassung nichtlinear, ein einzelner Start kann bei einer schlechten Kurve stoppen.
- Mit einem zweiten Weg prüfen: Der Diskontfaktor aus der integrierten Terminkurve muss dem aus der Rendite entsprechen.
- Nullstellen bewerten den Markt: Eine Rendite bis zur Fälligkeit und eine implizite Volatilität sind beide mit brentq auf einem Preisfehler gefundene Nullstellen.
Lab: Was bewertet wird
- Die notierte Kurve eines Tages5 Pkt.
- Die Nelson-Siegel-Rendite10 Pkt.
- Die Kurve kalibrieren15 Pkt.
- Ein Terminzins10 Pkt.
- Ein Diskontfaktor aus Terminzinsen10 Pkt.
- Ein Anleihepreis aus der Kurve10 Pkt.
- Eine Rendite bis zur Fälligkeit10 Pkt.
- Eine implizite Volatilität10 Pkt.
- Ein quadratisches Smile10 Pkt.
- Die gesamte Kalibrierung10 Pkt.