Zwei Aufgaben: den tiefsten Punkt finden, finden, wo eine Kurve null kreuzt
scipy.optimize löst zwei Arten von Aufgaben. Die erste ist das Minimieren einer Funktion , also die Eingabe mit dem kleinsten Ergebnis zu finden. Man ruft minimize(f, x0) auf, wobei x0 Ihre Startvermutung ist. Das Verfahren BFGS folgt der Steigung von bergab. Nelder-Mead braucht keine Steigung und vergleicht nur Werte. SLSQP akzeptiert auch Schranken und Nebenbedingungen, etwa Gewichte, die sich zu 1 summieren. Das Ergebnis ist nur ein lokales Minimum, der Talboden, bei dem Sie begonnen haben, und ein anderes x0 kann ein anderes Ergebnis liefern. Prüfen Sie immer res.success.
Die zweite Aufgabe ist die Nullstellensuche: lösen. brentq(g, a, b) braucht eine Einschließung, zwei Punkte mit entgegengesetzten Vorzeichen von , und findet dann sicher eine Nullstelle durch wiederholtes Halbieren. Nach Halbierungen ist das Intervall breit. newton(g, x0, fprime) nutzt die Steigung von und ist viel schneller, braucht aber einen guten Start und kann weit wegspringen, wenn die Steigung fast flach ist. In der Finanzwelt ist die Rendite bis zur Fälligkeit einer Anleihe eine Nullstelle: der Zins , der die Preisformel der Anleihe gleich ihrem Marktpreis macht. Ein Newton-Schritt ist .
brentq auf bestätigt die Nullstelle . Damit die Bisektion auf auf genau ist, braucht man , also Halbierungen. Für ein Minimum: Zwei Anlagen mit Volatilitäten und und Korrelation haben Kovarianz , das Minimum-Varianz-Gewicht der ersten ist also . Bei echten Daten haben SPY und TLT über Tage seit Februar 2005 Volatilitäten von und pro Jahr und eine Korrelation von . Das Minimum-Varianz-Gewicht in SPY ist bei einer Volatilität von . Bei einer Funktion mit zwei Tälern, etwa , stoppt minimize ab bei und ab bei , dem tieferen.- Minimieren oder lösen:
minimizefindet einen tiefen Punkt,brentqundnewtonfinden, wo eine Funktion null ist. - Eine Einschließung ist eine Garantie:
brentqkonvergiert immer, wenn die Vorzeichen verschieden sind,newtonist schneller, braucht aber einen guten Start. - Ein Minimum kann lokal sein: mehrere Startpunkte probieren und
res.successlesen, bevor manres.xtraut.
Lab: Was bewertet wird
- Ein Newton-Schritt15 Pkt.
- Bisektions-Halbierungen10 Pkt.
- Ein Minimum-Varianz-Gewicht15 Pkt.
- Das richtige Werkzeug für jede Aufgabe15 Pkt.
- Ein Ablauf für implizite Volatilität10 Pkt.
- Ein möglicherweise lokales Minimum10 Pkt.
- Warum eine Einschließung und warum Newton scheitern kann25 Pkt.