Die Zahl suchen, die den Fehler null macht
Ein Anleihepreis ist aus einer Rendite leicht zu berechnen, die Rendite aus dem Preis nicht. Man löst f(y)=P(y)-Marktpreis=0 durch Suchen. Das Newton-Verfahren folgt der Tangente: Von einer Schätzung y springt es zu y-f(y)/f'(y), und nahe der Lösung verdoppelt sich die Zahl richtiger Stellen ungefähr je Schritt, wenige Iterationen genügen also, aber es braucht die Ableitung und kann von einem schlechten Start abirren. Die Bisektion braucht nur ein Intervall [lo,hi] mit Vorzeichenwechsel von f: Sie halbiert es immer wieder, kann also nicht scheitern, gewinnt aber nur eine Binärstelle je Schritt, 40 Schritte, um ein Intervall der Breite 65 unter 10⁻¹⁰ zu bringen. Brents Verfahren, scipy.optimize.brentq, behält die Sicherheit des Intervalls und fügt Interpolationsschritte hinzu, meist mit dem Aufwand weniger Bisektionen. Mit full_output=True liefert es auch einen Bericht, dessen Feld function_calls sagt, wie oft Ihre Funktion ausgewertet wurde.
Dasselbe Werkzeug kehrt die Black-Scholes-Formel um. Der Preis eines Calls steigt mit der Volatilität; für jeden notierten Preis fragt man brentq nach dem σ in [10⁻⁴,5], das ihn reproduziert. Das funktioniert nur, wenn der Preis streng zwischen dem inneren Wert max(S-Ke^(-rT),0) und dem Aktienkurs S liegt; außerhalb gibt es keine Volatilität, und die richtige Antwort ist NaN, keine Ausnahme, damit ein schlechter Kurs nicht ein ganzes Smile stoppt. Am 9. Oktober 2026 beträgt die 10-jährige Treasury-Rendite 5,24%, eine 5-%-Jahreskupon-Anleihe über 10 Jahre kostet also 97,121. Newton findet die Rendite in 4 Iterationen, Brent in 10 Funktionsaufrufen und die Bisektion in 40. Die impliziten Volatilitäten von 10 %, 20 %, 40 % und 80 % kommen auf besser als 10⁻⁶ zurück. Wer weiß, was jedes Verfahren kostet und wann es scheitert, wählt das richtige für eine ganze Anleihekurve oder Optionskette.
- Newton ist schnell, braucht aber eine Ableitung und einen brauchbaren Start: hier 4 Schritte.
- Die Bisektion scheitert nie, ist aber langsam: 40 Schritte für ein Intervall der Breite 65.
- Nutzen Sie
brentqund behandeln Sie die unmöglichen Fälle: Intervall plus Interpolation und NaN, wenn es keine Lösung gibt.
Lab: Was bewertet wird
- Ein Anleihepreis10 Pkt.
- Newton von Hand20 Pkt.
- Bisektion von Hand15 Pkt.
- Brent mit scipy15 Pkt.
- Drei Löser nebeneinander10 Pkt.
- Implizite Volatilitäten15 Pkt.
- Die Studie auf echten Daten15 Pkt.