σμ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 3 · Matrizen, Signale und Struktur›Thema 3.1·~45 Min.Mittelstufe

Lineare Algebra im Überblick mit scipy.linalg

Position in der SkillModul 3 von 3 · Thema 1 von 5
3.1 Lineare Algebra im Überblick mit scipy.linalg
—Lab-Punkte— / 100XP gesamt—Serie—

Matrizen als Maschinerie der Portfolios

Ein Portfolioproblem ist ein Matrixproblem. Die Kovarianzmatrix Σ\SigmaΣ enthält die Varianzen und Mitbewegungen der Anlagen, und fast jede Aufgabe verlangt, etwas damit zu tun. scipy.linalg.solve(A, b) löst Ax=bA\mathbf x=\mathbf bAx=b nach der Unbekannten x\mathbf xx. Man sollte nicht die Inverse inv(A) berechnen und multiplizieren: Das direkte Lösen macht weniger Arbeit und verliert weniger Genauigkeit. Die Cholesky-Zerlegung, linalg.cholesky(S, lower=True), zerlegt eine Kovarianzmatrix als Σ=LL⊤\Sigma=LL^{\top}Σ=LL⊤, wobei LLL eine untere Dreiecksmatrix ist, also Nullen über der Diagonale hat. Ist z\mathbf zz ein Vektor unabhängiger Standardnormalzahlen, hat LzL\mathbf zLz die Kovarianz Σ\SigmaΣ, und so simuliert man korrelierte Renditen.

Die Eigenwerte von Σ\SigmaΣ zeigen, wie viele unabhängige Risikoquellen es wirklich gibt. linalg.eigvalsh(S) liefert sie für eine symmetrische Matrix, der kleinste zuerst. Bei zwei Anlagen mit Korrelation ρ\rhoρ hat die Korrelationsmatrix die Eigenwerte 1+ρ1+\rho1+ρ und 1−ρ1-\rho1−ρ, stark korrelierte Anlagen haben also einen großen und einen winzigen Eigenwert. Das Verhältnis des größten zum kleinsten Eigenwert ist die Konditionszahl. Eine große Konditionszahl heißt, die Matrix ist fast singulär, also kaum invertierbar, und eine kleine Änderung der Daten kann das Ergebnis eines Lösens stark verschieben. Optimierer, die die Inverse von Σ\SigmaΣ nehmen, reagieren genau darauf empfindlich.

Ax=b ⇒ x=solve(A,b),Σ=LL⊤,r=Lz,κ(Σ)=λmax⁡λmin⁡A\mathbf x=\mathbf b\ \Rightarrow\ \mathbf x=\text{solve}(A,\mathbf b),\qquad \Sigma=LL^{\top},\quad \mathbf r=L\mathbf z,\qquad \kappa(\Sigma)=\frac{\lambda_{\max}}{\lambda_{\min}}Ax=b ⇒ x=solve(A,b),Σ=LL⊤,r=Lz,κ(Σ)=λmin​λmax​​(1)
Zwei Anlagen von HandNehmen Sie Σ=(4223)\Sigma=\begin{pmatrix}4&2\\2&3\end{pmatrix}Σ=(42​23​). Ihr Cholesky-Faktor ist L=(2012)L=\begin{pmatrix}2&0\\1&\sqrt2\end{pmatrix}L=(21​02​​), denn LL⊤LL^{\top}LL⊤ ergibt 444, 222, 222 und 1+2=31+2=31+2=3. Für unabhängige Züge z=(1;1)z=(1;1)z=(1;1) ist der korrelierte Zug Lz=(2; 1+2)=(2; 2,414)Lz=(2;\,1+\sqrt2)=(2;\,2{,}414)Lz=(2;1+2​)=(2;2,414). Zum Lösen von (2113)x=(35)\begin{pmatrix}2&1\\1&3\end{pmatrix}\mathbf x=\begin{pmatrix}3\\5\end{pmatrix}(21​13​)x=(35​) eliminiert man und findet x=(0,8; 1,4)\mathbf x=(0{,}8;\,1{,}4)x=(0,8;1,4). Eine Korrelationsmatrix mit ρ=0,9\rho=0{,}9ρ=0,9 hat die Eigenwerte 1,91{,}91,9 und 0,10{,}10,1, der erste Faktor trägt also 1,9/2=95%1{,}9/2=95\%1,9/2=95% der Gesamtvarianz. Eine Matrix mit den Eigenwerten 111 und 333 hat die Konditionszahl 333. Bei echten Daten haben SPY, QQQ und TLT über 5 4045\,4045404 Tage eine Korrelation von 0,920{,}920,92 zwischen SPY und QQQ und etwa −0,3-0{,}3−0,3 zwischen jedem von ihnen und TLT. Die Korrelationsmatrix hat die Eigenwerte 0,080{,}080,08, 0,860{,}860,86 und 2,062{,}062,06, ein Faktor trägt also 69%69\%69% der Varianz, und die Konditionszahl ist 262626.
  • Lösen, nicht invertieren: solve(A, b) ist schneller und genauer als inv(A) @ b.
  • Cholesky erzeugt Korrelation: Unabhängige Normalzahlen mit LLL multiplizieren ergibt Renditen mit Kovarianz Σ\SigmaΣ.
  • Die Konditionszahl beachten: Stark korrelierte Anlagen machen Σ\SigmaΣ fast singulär und Lösungen instabil.

Lab: Was bewertet wird

  • Der Cholesky-Faktor20 Pkt.
  • Ein System lösen10 Pkt.
  • Eine Konditionszahl10 Pkt.
  • Der Varianzanteil eines Faktors10 Pkt.
  • Wofür jede Routine da ist15 Pkt.
  • Korrelierte Renditen simulieren10 Pkt.
  • Warum nicht invertieren25 Pkt.
0/ 7 beantwortet
Aufgaben
1Matrix · Vektor20 Pkt.Nicht beantwortet

Finden Sie die untere Dreiecksmatrix LLL mit LL⊤=Σ=(4223)LL^{\top}=\Sigma=\begin{pmatrix}4&2\\2&3\end{pmatrix}LL⊤=Σ=(42​23​). Geben Sie LLL ein (verwenden Sie 1,41421{,}41421,4142 für 2\sqrt22​).

L=L =L=
2Numerische Antwort10 Pkt.Nicht beantwortet

Lösen Sie 2x1+x2=32x_1+x_2=32x1​+x2​=3 und x1+3x2=5x_1+3x_2=5x1​+3x2​=5. Wie groß ist x2x_2x2​? Eine Dezimalstelle.

x=x =x=akzeptiert: ± 0.02
3Numerische Antwort10 Pkt.Nicht beantwortet

Eine symmetrische Matrix hat die Eigenwerte 111 und 333. Wie groß ist ihre Konditionszahl, der größte Eigenwert geteilt durch den kleinsten?

k=k =k=akzeptiert: ± 0.01
4Numerische Antwort10 Pkt.Nicht beantwortet

Zwei Anlagen mit Korrelation 0,90{,}90,9 haben Korrelationsmatrix-Eigenwerte 1,91{,}91,9 und 0,10{,}10,1. Wie viel Prozent der Gesamtvarianz trägt der erste Faktor?

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

Ordnen Sie jeder Routine aus scipy.linalg ihre Aufgabe in der Portfolioarbeit zu.

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

solve
cholesky
eigvalsh
lstsq
6Schritte ordnen10 Pkt.Nicht beantwortet

Bringen Sie die Schritte zur Simulation korrelierter Tagesrenditen in die richtige Reihenfolge.

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

  1. 1Prüfen, dass die Stichprobenkovarianz nahe am Ziel liegt
  2. 2Die Normalzüge mit L multiplizieren
  3. 3Die Kovarianzmatrix aus der Historie schätzen
  4. 4Unabhängige Standardnormalzahlen ziehen
  5. 5Sie mit Cholesky zerlegen
7In Worten erklären25 Pkt.Nicht beantwortet

Erklären Sie in ein bis zwei Sätzen, warum solve(A, b) gegenüber inv(A) @ b vorzuziehen ist und wovor eine große Konditionszahl warnt.

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