σμ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.3·~40 Min.Mittelstufe

Spezialfunktionen bei der Optionsbewertung

Position in der SkillModul 2 von 3 · Thema 3 von 3
2.3 Spezialfunktionen bei der Optionsbewertung
—Lab-Punkte— / 100XP gesamt—Serie—

Die Funktionen hinter den Formeln

scipy.special sammelt die benannten Funktionen, die in Formeln immer wieder auftauchen. Die für die Finanzwelt nützlichste ist die Normalverteilungsfunktion Φ(x)\Phi(x)Φ(x), verfügbar als special.ndtr. Sie hängt mit der Fehlerfunktion zusammen: Φ(x)=12(1+erf⁡(x/2))\Phi(x)=\tfrac12\big(1+\operatorname{erf}(x/\sqrt2)\big)Φ(x)=21​(1+erf(x/2​)). Der Black-Scholes-Preis eines Calls mit Kassakurs SSS, Ausübungspreis KKK, Zins rrr, Volatilität σ\sigmaσ und Laufzeit TTT nutzt sie zweimal: C=S Φ(d1)−Ke−rTΦ(d2)C=S\,\Phi(d_1)-K e^{-rT}\Phi(d_2)C=SΦ(d1​)−Ke−rTΦ(d2​) mit d1=ln⁡(S/K)+(r+σ2/2)TσTd_1=\dfrac{\ln(S/K)+(r+\sigma^2/2)T}{\sigma\sqrt T}d1​=σT​ln(S/K)+(r+σ2/2)T​ und d2=d1−σTd_2=d_1-\sigma\sqrt Td2​=d1​−σT​. Die Empfindlichkeit des Preises gegenüber der Volatilität heißt Vega und ist S φ(d1)TS\,\varphi(d_1)\sqrt TSφ(d1​)T​, wobei φ\varphiφ die Normaldichte ist. Vega braucht ein Newton-Löser, um eine implizite Volatilität zu finden.

Die andere Gruppe spezieller Funktionen betrifft zu große oder zu kleine Zahlen. Eine Fakultät wächst so schnell, dass 171!171!171! eine gewöhnliche Dezimalzahl im Computer schon überläuft, aber ln⁡n!\ln n!lnn! ist leicht: special.gammaln(n+1). special.comb(n, k) zählt die Pfade mit kkk Aufwärtsschritten in einem Baum mit nnn Schritten. special.logsumexp berechnet ln⁡∑exi\ln\sum e^{x_i}ln∑exi​ sicher, indem es das größte xxx herauszieht, sodass ln⁡(e1000+e1000)=1000+ln⁡2\ln(e^{1000}+e^{1000})=1000+\ln2ln(e1000+e1000)=1000+ln2 nicht überläuft. special.expit(x)=1/(1+e^{-x}) macht aus jedem Score eine Wahrscheinlichkeit zwischen 0 und 1, wie im logistischen Modell. Die Regel: in Logarithmen rechnen, wenn eine Zahl riesig oder winzig sein kann, und erst am Ende exponentieren.

Φ(x)=12(1+erf⁡(x2)),C=SΦ(d1)−Ke−rTΦ(d2),vega=S φ(d1)T,ln⁡∑exi=m+ln⁡∑exi−m\Phi(x)=\tfrac12\Big(1+\operatorname{erf}\Big(\frac{x}{\sqrt2}\Big)\Big),\qquad C=S\Phi(d_1)-Ke^{-rT}\Phi(d_2),\qquad \text{vega}=S\,\varphi(d_1)\sqrt T,\qquad \ln\sum e^{x_i}=m+\ln\sum e^{x_i-m}Φ(x)=21​(1+erf(2​x​)),C=SΦ(d1​)−Ke−rTΦ(d2​),vega=Sφ(d1​)T​,ln∑exi​=m+ln∑exi​−m(1)
Ein Call-Preis und ein Schritt der impliziten VolatilitätNehmen Sie S=K=100S=K=100S=K=100, r=0r=0r=0, σ=0,2\sigma=0{,}2σ=0,2 und T=1T=1T=1. Dann ist d1=0,1d_1=0{,}1d1​=0,1 und d2=−0,1d_2=-0{,}1d2​=−0,1, und Φ(0,1)=0,5398\Phi(0{,}1)=0{,}5398Φ(0,1)=0,5398, Φ(−0,1)=0,4602\Phi(-0{,}1)=0{,}4602Φ(−0,1)=0,4602. Also C=100⋅(0,5398−0,4602)=7,97C=100\cdot(0{,}5398-0{,}4602)=7{,}97C=100⋅(0,5398−0,4602)=7,97. Die Normaldichte bei 0,10{,}10,1 ist 0,39700{,}39700,3970, das Vega also 100⋅0,3970⋅1=39,70100\cdot0{,}3970\cdot1=39{,}70100⋅0,3970⋅1=39,70. Ist der Marktpreis 9,009{,}009,00, ist der Preis um 1,031{,}031,03 zu niedrig, und ein Newton-Schritt hebt die Volatilität auf 0,2+1,03/39,70=0,22610{,}2+1{,}03/39{,}70=0{,}22610,2+1,03/39,70=0,2261. Für Φ(1)\Phi(1)Φ(1) kann man erf⁡(0,7071)=0,6827\operatorname{erf}(0{,}7071)=0{,}6827erf(0,7071)=0,6827 nutzen, also Φ(1)=12(1+0,6827)=0,8413\Phi(1)=\tfrac12(1+0{,}6827)=0{,}8413Φ(1)=21​(1+0,6827)=0,8413. Bei den kleinen Werkzeugen ist expit⁡(2)=0,8808\operatorname{expit}(2)=0{,}8808expit(2)=0,8808, ln⁡4!=3,178\ln 4!=3{,}178ln4!=3,178 und (103)=120\binom{10}{3}=120(310​)=120. Bei echten Daten hat die Tagesrendite von SPY eine Standardabweichung von 1,196%1{,}196\%1,196%. Ein Rückgang von 5%5\%5% sind z=−4,21z=-4{,}21z=−4,21 Standardabweichungen, und Φ(−4,21)=1,26⋅10−5\Phi(-4{,}21)=1{,}26\cdot10^{-5}Φ(−4,21)=1,26⋅10−5, was nach einem Normalmodell etwa einmal in 315315315 Jahren vorkommt. In den 5 4035\,4035403 Tagen der Daten kam es an 202020 Tagen vor.
  • Die Funktion benennen: ndtr, erf, expit, gammaln, comb und logsumexp ersetzen Seiten handgeschriebener Mathematik.
  • Bei Extremen in Logarithmen rechnen: gammaln und logsumexp statt einer Fakultät oder einer Summe riesiger Exponentialfunktionen.
  • Vega treibt den Löser an: Ein Newton-Schritt für die implizite Volatilität ist die Preislücke geteilt durch das Vega.

Lab: Was bewertet wird

  • Die Normalfunktion aus erf10 Pkt.
  • Ein Black-Scholes-Call20 Pkt.
  • Das Vega10 Pkt.
  • Ein Schritt der impliziten Volatilität15 Pkt.
  • Wofür jede Funktion da ist15 Pkt.
  • Der sichere Weg zu addieren10 Pkt.
  • Warum man Fakultäten über Logarithmen berechnet20 Pkt.
0/ 7 beantwortet
Aufgaben
1Numerische Antwort10 Pkt.Nicht beantwortet

Gegeben erf⁡(0,7071)=0,6827\operatorname{erf}(0{,}7071)=0{,}6827erf(0,7071)=0,6827, berechnen Sie Φ(1)=12(1+erf⁡(1/2))\Phi(1)=\tfrac12\big(1+\operatorname{erf}(1/\sqrt2)\big)Φ(1)=21​(1+erf(1/2​)). Vier Dezimalstellen.

p=p =p=akzeptiert: ± 0.0005
2Numerische Antwort20 Pkt.Nicht beantwortet

Mit S=K=100S=K=100S=K=100, r=0r=0r=0, σ=0,2\sigma=0{,}2σ=0,2, T=1T=1T=1 erhält man d1=0,1d_1=0{,}1d1​=0,1, d2=−0,1d_2=-0{,}1d2​=−0,1, Φ(0,1)=0,5398\Phi(0{,}1)=0{,}5398Φ(0,1)=0,5398 und Φ(−0,1)=0,4602\Phi(-0{,}1)=0{,}4602Φ(−0,1)=0,4602. Wie groß ist C=SΦ(d1)−KΦ(d2)C=S\Phi(d_1)-K\Phi(d_2)C=SΦ(d1​)−KΦ(d2​)? Zwei Dezimalstellen.

c=c =c=akzeptiert: ± 0.03
3Numerische Antwort10 Pkt.Nicht beantwortet

Die Normaldichte bei d1=0,1d_1=0{,}1d1​=0,1 ist φ(0,1)=0,3970\varphi(0{,}1)=0{,}3970φ(0,1)=0,3970. Mit S=100S=100S=100 und T=1T=1T=1: Wie groß ist das Vega =S φ(d1)T=S\,\varphi(d_1)\sqrt T=Sφ(d1​)T​? Zwei Dezimalstellen.

v=v =v=akzeptiert: ± 0.1
4Numerische Antwort15 Pkt.Nicht beantwortet

Der Marktpreis ist 9,009{,}009,00, der Modellpreis bei σ=0,2\sigma=0{,}2σ=0,2 ist 7,96567{,}96567,9656, mit Vega 39,7039{,}7039,70. Wie groß ist die neue Volatilität σ+(Markt−Modell)/Vega\sigma+(\text{Markt}-\text{Modell})/\text{Vega}σ+(Markt−Modell)/Vega? Vier Dezimalstellen.

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

Ordnen Sie jeder Funktion aus scipy.special ihre Aufgabe zu.

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

ndtr
expit
gammaln
logsumexp
comb
6Auswahl10 Pkt.Nicht beantwortet

Sie brauchen ln⁡(e1000+e1002)\ln(e^{1000}+e^{1002})ln(e1000+e1002) auf einem Computer. Welcher Weg ist sicher?

7In Worten erklären20 Pkt.Nicht beantwortet

Eine Binomialwahrscheinlichkeit für einen 200-Schritte-Baum enthält 200!200!200!. Erklären Sie in ein bis zwei Sätzen, warum man sie mit gammaln und Logarithmen berechnen sollte.

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