σμ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 AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • 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 AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
SciPy-Skill›Modul 2 · Kurven und Integrale›Thema 2.1·~45 Min.Mittelstufe

Interpolation und Splines für Kurven

Position in der SkillModul 2 von 3 · Thema 1 von 3
2.1 Interpolation und Splines für Kurven
—Lab-Punkte— / 100XP gesamt—Serie—

Eine glatte Linie durch wenige Punkte ziehen

Märkte notieren eine Zinskurve bei wenigen Laufzeiten, etwa 2, 3 und 5 Jahren, aber man braucht den Wert bei jeder Laufzeit, etwa 2,5 Jahren. Interpolation füllt die Lücken zwischen bekannten Punkten. Am einfachsten ist die lineare Variante: eine Gerade zwischen zwei Nachbarn mit np.interp oder interpolate.interp1d. Ein kubischer Spline, interpolate.CubicSpline, verbindet die Punkte mit kubischen Kurvenstücken, sodass auch Steigung und Krümmung an jedem Punkt übereinstimmen, und das Ergebnis wirkt glatt. Ein Spline kann zwischen den Punkten überschwingen. PchipInterpolator vermeidet das, indem er nie über oder unter seine Nachbarn geht. Im bekannten Bereich ist jeder in Ordnung, außerhalb extrapoliert man aber, das ist eine Vermutung, und ein kubisches Polynom kann davonlaufen.

Es kommt darauf an, welche Größe man interpoliert. Lineare Interpolation der Renditen ist einfach, aber in der Finanzwelt interpoliert man oft stattdessen den Logarithmus des Diskontfaktors. Bei stetiger Verzinsung ist der Diskontfaktor D(t)=e−y(t) tD(t)=e^{-y(t)\,t}D(t)=e−y(t)t, also ln⁡D(t)=−y(t) t\ln D(t)=-y(t)\,tlnD(t)=−y(t)t. Linear interpoliert, hält das die Terminzinsen zwischen den Stützstellen konstant. Der Terminzins zwischen den Zeitpunkten t1t_1t1​ und t2t_2t2​ ist der Zins, den man heute für diese künftige Periode festlegen kann: 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​​. Eine glatte, vernünftige Terminkurve ist der eigentliche Test einer Interpolation.

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)
Die 2,5-Jahres-RenditeDie Rendite beträgt 4,0%4{,}0\%4,0% bei 222 Jahren und 4,5%4{,}5\%4,5% bei 333 Jahren. Lineare Interpolation ergibt 4,25%4{,}25\%4,25% bei 2,52{,}52,5 Jahren. Die Interpolation von ln⁡D=−yt\ln D=-ytlnD=−yt, das bei 222 Jahren −0,080-0{,}080−0,080 und bei 333 Jahren −0,135-0{,}135−0,135 ist, ergibt −0,1075-0{,}1075−0,1075 bei 2,52{,}52,5 Jahren, die Rendite ist also 0,1075/2,5=4,30%0{,}1075/2{,}5=4{,}30\%0,1075/2,5=4,30%. Der Terminzins zwischen 222 und 333 Jahren ist (0,135−0,080)/1=5,5%(0{,}135-0{,}080)/1=5{,}5\%(0,135−0,080)/1=5,5%. Ein natürlicher kubischer Spline durch (0;0)(0;0)(0;0), (1;1)(1;1)(1;1) und (2;0)(2;0)(2;0) ist S(x)=−0,5x3+1,5xS(x)=-0{,}5x^{3}+1{,}5xS(x)=−0,5x3+1,5x auf [0;1][0;1][0;1], also S(0,5)=0,6875S(0{,}5)=0{,}6875S(0,5)=0,6875, während eine Gerade 0,50{,}50,5 ergibt. Bei echten Daten hat die Treasury-Kurve vom 9. Oktober 2026 5,24%5{,}24\%5,24% bei 101010 Jahren und 5,65%5{,}65\%5,65% bei 202020 Jahren. Bei 151515 Jahren ergibt die lineare Interpolation 5,445%5{,}445\%5,445%, ein kubischer Spline durch alle zehn Punkte 5,450%5{,}450\%5,450% und PCHIP 5,493%5{,}493\%5,493%. Jenseits der Daten geht es schief: Derselbe Spline sagt bei 404040 Jahren 4,26%4{,}26\%4,26%, obwohl die 30-jährige Rendite 5,60%5{,}60\%5,60% beträgt.
  • Innen interpolieren, außen vorsichtig sein: Linear, kubischer Spline und PCHIP stimmen innerhalb der Daten überein und gehen außerhalb auseinander.
  • Wählen, was man interpoliert: Der Logarithmus des Diskontfaktors hält die Terminzinsen zwischen den Stützstellen stabil.
  • Die Terminkurve prüfen: Eine gute Interpolation liefert vernünftige Terminzinsen, nicht nur eine schöne Linie durch die Punkte.

Lab: Was bewertet wird

  • Eine lineare Interpolation10 Pkt.
  • Den Diskontfaktor interpolieren15 Pkt.
  • Ein Terminzins15 Pkt.
  • Ein Spline-Wert10 Pkt.
  • Das richtige Werkzeug15 Pkt.
  • Eine Kurve aufbauen10 Pkt.
  • Warum man einen kubischen Spline nicht extrapoliert25 Pkt.
0/ 7 beantwortet
Aufgaben
1Numerische Antwort10 Pkt.Nicht beantwortet

Die Rendite beträgt 4,0%4{,}0\%4,0% bei 222 Jahren und 4,5%4{,}5\%4,5% bei 333 Jahren. Was ergibt die lineare Interpolation bei 2,52{,}52,5 Jahren in Prozent? Zwei Dezimalstellen.

y=y =y=akzeptiert: ± 0.01
2Numerische Antwort15 Pkt.Nicht beantwortet

Mit ln⁡D=−yt\ln D=-ytlnD=−yt gleich −0,080-0{,}080−0,080 bei 222 Jahren und −0,135-0{,}135−0,135 bei 333 Jahren ergibt die lineare Interpolation ln⁡D(2,5)=−0,1075\ln D(2{,}5)=-0{,}1075lnD(2,5)=−0,1075. Welche Rendite y=−ln⁡D/ty=-\ln D/ty=−lnD/t bei 2,52{,}52,5 Jahren bedeutet das, in Prozent? Zwei Dezimalstellen.

y=y =y=akzeptiert: ± 0.01
3Numerische Antwort15 Pkt.Nicht beantwortet

Wie groß ist der Terminzins zwischen 222 und 333 Jahren, f=(y3⋅3−y2⋅2)/(3−2)f=(y_3\cdot3-y_2\cdot2)/(3-2)f=(y3​⋅3−y2​⋅2)/(3−2), wenn y2=4,0%y_2=4{,}0\%y2​=4,0% und y3=4,5%y_3=4{,}5\%y3​=4,5%? Eine Dezimalstelle, in Prozent.

f=f =f=akzeptiert: ± 0.05
4Numerische Antwort10 Pkt.Nicht beantwortet

Der natürliche kubische Spline durch (0;0)(0;0)(0;0), (1;1)(1;1)(1;1) und (2;0)(2;0)(2;0) ist S(x)=−0,5x3+1,5xS(x)=-0{,}5x^{3}+1{,}5xS(x)=−0,5x3+1,5x auf [0;1][0;1][0;1]. Wie groß ist S(0,5)S(0{,}5)S(0,5)? Vier Dezimalstellen.

s=s =s=akzeptiert: ± 0.001
5Zuordnen15 Pkt.Nicht beantwortet

Ordnen Sie jedem Werkzeug die Situation zu, in der es am besten passt.

Wähle den Partner für jedes Element links.

np.interp
CubicSpline
PchipInterpolator
bounds_error=False, fill_value
6Schritte ordnen10 Pkt.Nicht beantwortet

Bringen Sie die Schritte zum Aufbau einer Diskontkurve aus notierten Renditen in die richtige Reihenfolge.

Zum Umsortieren ziehen, oder ein Element fokussieren, mit Leertaste anheben, mit Pfeiltasten bewegen und mit Leertaste ablegen.

  1. 1Die impliziten Terminzinsen auf Sprünge oder Negative prüfen
  2. 2Zwischen den Stützstellen interpolieren
  3. 3Jede Rendite in logarithmierte Diskontfaktoren umwandeln
  4. 4Die notierten Renditen und Laufzeiten sammeln
7In Worten erklären25 Pkt.Nicht beantwortet

Der kubische Spline durch zehn Treasury-Renditen sagt, die 40-jährige Rendite sei 4,26%4{,}26\%4,26%, obwohl die 30-jährige 5,60%5{,}60\%5,60% beträgt. Erklären Sie in ein bis zwei Sätzen, warum das Extrapolieren eines kubischen Splines riskant ist.

Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 7 · Strg ⏎ zum Prüfen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub