σμ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
  • 日本語
  • 中文
Matrix Decompositions-Skill›Modul 5 · Faktoren und Portfolios›Thema 5.2·~1 Std. 40 Min.Fortgeschritten

Abschlussprojekt: eine entrauschte Kovarianz für minimale Varianz

Position in der SkillModul 5 von 5 · Thema 2 von 2
5.2 Abschlussprojekt: eine entrauschte Kovarianz für minimale Varianz
—Lab-Punkte— / 100XP gesamt—Serie—

Lohnt sich das Bereinigen der Matrix?

Das Minimum-Varianz-Portfolio nimmt eine Kovarianzmatrix Σ und liefert die voll investierten Gewichte mit der kleinsten Varianz, w=Σ⁻¹ 1 / ( 1ᵀΣ⁻¹ 1). Es sieht nach reiner Mathematik aus, ist aber der schärfste Test für einen Kovarianzschätzer, weil es jeden Fehler der Matrix ausnutzt. Dieses Abschlussprojekt unterzieht die gesamte Fähigkeit diesem Test. Sie schätzen Σ aus den letzten 63 Handelstagen, bauen das Portfolio, halten es die nächsten 21 Tage, rollen weiter und messen die Volatilität des Portfolios, das Sie wirklich gehalten hätten. Drei Schätzer treten an: die einfache Stichprobenkovarianz, die eigenwertgeclippte und die Ledoit-Wolf-geschrumpfte.

w=(Σ⁻¹ 1)/(1ᵀΣ⁻¹ 1), Σ^(*)=δμI+(1-δ)S, δ=(min(b̄²,d²))/d², λ₊=(1+√(N/T))²

Invertieren Sie die Matrix nie: Lösen Sie das lineare System Σ x= 1 und teilen Sie durch die Summe, das ist schneller und genauer. Der ehrliche Teil ist das Timing. Die Gewichte für einen Tagesblock dürfen nur die Tage davor nutzen, und das Ergebnis ist die Volatilität der aneinandergefügten Out-of-Sample-Renditen, nicht die vom Optimierer versprochene Varianz. Beim Clipping arbeiten Sie mit der Korrelationsmatrix, ersetzen die Eigenwerte, die λ₊ nicht übersteigen, durch ihren Mittelwert, bauen neu auf, skalieren die Diagonale auf 1 und multiplizieren wieder mit den Volatilitäten. Bei der Schrumpfung berechnen Sie die Intensität nach der Formel aus der Startdatei, genau wie in der vorigen Lektion, mit S geteilt durch T.

Was die echten Daten sagenFür zwölf große US-Aktien seit 2010 mit 63-Tage-Fenster und 21-Tage-Schritten (3680 Out-of-Sample-Tage) hat das aus der Stichprobenkovarianz gebaute Minimum-Varianz-Portfolio eine Jahresvolatilität von etwa 14,3 %. Mit der eigenwertgeclippten Matrix sind es etwa 13,9 % und mit Ledoit-Wolf etwa 13,7 %, die Schrumpfung gewinnt also, und ein gleichgewichtetes Portfolio derselben Aktien hat etwa 18,4 %. Der Gewinn durch Bereinigen beträgt bei 12 Anlagen wenige Prozent Volatilität; bei Hunderten Anlagen ist er viel größer, weil dann q=N/T nahe 1 liegt. Mit längeren Fenstern rücken die drei Schätzer zusammen, und ab 126 Tagen ist das Clipping am einfachen Marchenko-Pastur-Rand etwas schlechter als die Stichprobenmatrix, eine Erinnerung, jede Verfeinerung außerhalb der Stichprobe zu validieren.
  • Gewichte: Σ x= 1 lösen und durch die Summe teilen; nie die Matrix invertieren.
  • Clipping und Schrumpfung: Rausch-Eigenwerte auf ihren Mittelwert; oder Mischung mit μI mit berechneter Intensität.
  • Backtest: aus den letzten window Tagen schätzen, step Tage halten, weiterrollen und die zusammengefügte Out-of-Sample-Volatilität messen.
Der Sinn der ganzen FähigkeitEine Kovarianzmatrix ist eine Schätzung, kein Fakt, und wer sie nutzt, allen voran Optimierer, findet ihre Fehler. Eigenwerte und die SVD sagen, wo die Information einer Matrix sitzt, der Marchenko-Pastur-Rand und die Schrumpfungsintensität sagen, wie weit man ihr trauen kann, und nur ein Test auf ungesehenen Tagen sagt, ob Ihre Reparatur funktioniert hat. Behalten Sie alle drei Gewohnheiten.

Lab: Was bewertet wird

  • Eigenwert-Clipping25 Pkt.
  • Ledoit-Wolf-Schrumpfung25 Pkt.
  • Minimum-Varianz-Gewichte10 Pkt.
  • Ein rollierender Backtest20 Pkt.
  • Die Schätzer vergleichen20 Pkt.
Explorer · lab-md-12
▾ lab-md-12
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-md-12$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

Alles in lab-md-12 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