σμ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
  • 日本語
  • 中文
statsmodels-Skill›Modul 1 · Regression und ihre Prüfungen›Thema 1.3·~50 Min.Mittelstufe

Eine Faktorregression ausführen und lesen

Position in der SkillModul 1 von 3 · Thema 3 von 10
1.3 Eine Faktorregression ausführen und lesen
—Lab-Punkte— / 100XP gesamt—Serie—

Von einer Formel zur vollständigen Regression

statsmodels.formula.api.ols('excess ~ mkt_rf + smb + hml', data=table).fit() passt eine gewöhnliche Kleinste-Quadrate-Regression aus einer einzeiligen Formel an: Der Name links von ~ wird erklärt, die Namen rechts sind die Regressoren, und ein Achsenabschnitt wird automatisch ergänzt (mit - 1 entfernen). Das Ergebnisobjekt enthält alles: params (die Koeffizienten), bse (ihre Standardfehler), tvalues, pvalues, rsquared, rsquared_adj, aic, resid und summary() für den gedruckten Bericht. Weil jedes davon eine pandas-Series oder eine Zahl ist, ergibt das Nebeneinanderstellen in einem DataFrame eine saubere Tabelle, und res.predict(neue_tabelle) wendet die angepasste Formel auf neue Zeilen mit denselben Spaltennamen an. Die Faktorregression einer Aktie ist der Standardfall: excess ist die Rendite der Aktie über dem risikofreien Zins, mkt_rf die des Marktes, smb der Größenfaktor und hml der Value-Faktor.

Zwei Vergleiche machen die Tabelle nützlich. Das CAPM nutzt nur den Markt, excess ~ mkt_rf; das Drei-Faktoren-Modell fügt smb und hml hinzu. Zusätzliche Regressoren können das R² nie senken, also nimmt man das angepasste R², das AIC oder einen F-Test: ff3.compare_f_test(capm) liefert die F-Statistik, ihren p-Wert und die Zahl zusätzlicher Regressoren, und ein kleiner p-Wert sagt, dass die zwei zusätzlichen Faktoren echte Erklärungskraft liefern. Ein zweiter Routinepunkt ist die Tabelle selbst. Monatsendrenditen stammen vom letzten Schlusskurs jedes Kalendermonats (prices.groupby(prices.index.to_period('M')).last() dann pct_change()) und müssen am selben Monat an die Faktortabelle gejoint werden: Eine Regression auf verschobenen Monaten ist eine Regression auf Rauschen.

Was die echten Daten sagenApple hat 319 Monatsrenditen zwischen Februar 2000 und August 2026. Das CAPM liefert ein Markt-Beta von 1,31 (t=11,7), ein Alpha von 1,5% pro Monat und R²=0,30. Mit Größe und Value steigt R² auf 0,355, die Value-Ladung ist -0,72 (t=-4,98: Apple verhält sich wie eine Wachstumsaktie), die Größenladung ist klein und nicht signifikant, und das Alpha beträgt 1,7% pro Monat. Der F-Test der zwei zusätzlichen Faktoren hat einen p-Wert von 2,7×10⁻⁶. Das CAPM sagt voraus, dass ein Monat, in dem der Markt die Liquidität um 5 % schlägt, mit einer Überrendite von Apple von 8,07% einhergeht.
  • Eine Zeile, eine Regression: Die Formel nennt Zielgröße und Regressoren, das Ergebnisobjekt enthält jede Statistik.
  • Geschachtelte Modelle mit dem richtigen Werkzeug vergleichen: R² steigt immer, also angepasstes R², AIC oder F-Test nutzen.
  • Zuerst die Monate ausrichten: Eine Monatsendrendite gehört zu den Faktoren desselben Monats.

Lab: Was bewertet wird

  • Die monatliche Regressionstabelle15 Pkt.
  • Die CAPM-Anpassung10 Pkt.
  • Die Drei-Faktoren-Anpassung10 Pkt.
  • Eine saubere Koeffiziententabelle15 Pkt.
  • Lohnt sich das größere Modell?15 Pkt.
  • Eine Prognose10 Pkt.
  • Die gesamte Studie25 Pkt.
Explorer · lab-sx-11
▾ lab-sx-11
▾ data
…
bash · im Browser
learner@quantcraft:~/lab-sx-11$
Python noch nicht geladenPythonLn 1, Col 1Spaces: 4UTF-8

Dieses Thema zurücksetzen?

Alles in lab-sx-11 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