σμ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 1 · Anpassen und finden›Thema 1.3·~45 Min.Mittelstufe

Hypothesentests und Bootstrap

Position in der SkillModul 1 von 3 · Thema 3 von 8
1.3 Hypothesentests und Bootstrap
—Lab-Punkte— / 100XP gesamt—Serie—

Eine Fehlerbalken für jede Aussage

Ein Backtest sagt, eine Strategie habe 0,05 % pro Tag verdient. Können oder Glück? Ein Hypothesentest antwortet mit einem p-Wert: Wenn der wahre Mittelwert null wäre, wie oft sähe eine Stichprobe so gut aus? stats.ttest_1samp(r, 0.0) testet einen Mittelwert, und stats.ttest_ind(a, b, equal_var=False) vergleicht zwei Anlagen, ohne gleiche Schwankung anzunehmen (Welch-Test, die sichere Standardwahl). stats.jarque_bera(r) prüft anhand von Schiefe und Wölbung, ob Renditen normal sind. Ein kleiner p-Wert ist ein Indiz gegen die getestete Idee, kein Beweis der Idee, die man mag. Und ein Test ist nur so gut wie seine Annahmen: Der t-Test nimmt dünne Ränder an, die Tagesrenditen nicht haben.

Wenn Formeln zweifelhaft sind, ziehen Sie neu. Das Bootstrap zieht viele Stichproben mit Zurücklegen aus Ihren Daten, berechnet jedes Mal eine Kennzahl neu (Mittelwert, Sharpe-Ratio, Quantil) und liest aus der Streuung der Ergebnisse ein Intervall ab: stats.bootstrap((r,), stat, method='percentile', random_state=np.random.default_rng(seed)). Die Kennzahl muss ein Argument axis annehmen, weil SciPy einen ganzen Stapel Ziehungen auf einmal übergibt, und der Seed macht die Antwort wiederholbar. Ein Permutationstest mischt die Zuordnung zweier Gruppen, um zu sehen, wie oft der Zufall allein eine so große Lücke wie die beobachtete erzeugt. Schließlich: Testet man 62 Anlagen auf dem 5-%-Niveau, wirken etwa drei allein durch Glück signifikant. stats.false_discovery_control(p) wendet die Benjamini-Hochberg-Korrektur an und zeigt, welche Entdeckungen bestehen bleiben.

Was die echten Daten sagenIn den letzten 2.500 Handelstagen verdiente SPY im Mittel 0,046 % pro Tag, mit t=2,80 und p=0,005. Seine annualisierte Sharpe-Ratio beträgt 0,89, ein 95-%-Bootstrap-Intervall reicht von 0,26 bis 1,53: Die Daten legen sie nicht genauer fest. Von den 62 Anlagen bestehen 22 den 5-%-Test auf einen Mittelwert ungleich null, aber nur 12 überstehen die Benjamini-Hochberg-Korrektur. Der Jarque-Bera-Test verwirft die Normalität von SPY mit einem p-Wert von 0.
  • Welch als Standard: Nehmen Sie nicht an, dass zwei Anlagen dieselbe Volatilität haben.
  • Im Zweifel neu ziehen: Ein Bootstrap braucht eine Kennzahl mit axis-Argument und einen Seed.
  • Zählen Sie Ihre Tests: 62 Tests auf 5 % ergeben etwa drei falsche Entdeckungen; korrigieren Sie sie.

Lab: Was bewertet wird

  • Ist der Mittelwert null?8 Pkt.
  • Zwei Anlagen, zwei Volatilitäten8 Pkt.
  • Ein Normalitätstest6 Pkt.
  • Ein Bootstrap-Intervall18 Pkt.
  • Eine annualisierte Sharpe-Ratio8 Pkt.
  • Eine Sharpe-Ratio mit Fehlerbalken10 Pkt.
  • Ein Permutationstest14 Pkt.
  • Falsche Entdeckungen zählen12 Pkt.
  • Die gesamte Studie16 Pkt.
Explorer · lab-sp-13
▾ lab-sp-13
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-sp-13$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

Alles in lab-sp-13 wird auf die Startdateien zurückgesetzt und das Terminal geleert. Ihre aktuelle Lösung geht verloren – das lässt sich nicht rückgängig machen.

Wird zurückgesetzt
  • main.py → Startcode
  • Terminal-Verlauf und Testausgabe
  • Nicht eingereichte Änderungen
Bleibt erhalten
  • Beste Lab-Punktzahl
  • Ihre XP und Ihre Serie
  • Vorlesungsfortschritt und Notizen

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