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

Signalfilterung und Spektren

Position in der SkillModul 3 von 3 · Thema 3 von 5
3.3 Signalfilterung und Spektren
—Lab-Punkte— / 100XP gesamt—Serie—

Eine verrauschte Reihe glätten und ihren Rhythmus finden

Ein Filter macht aus einer Reihe eine andere, indem er jeden Wert mit seinen Nachbarn mischt. Ein gleitender Durchschnitt über NNN Tage ist der einfachste Filter: Jede Ausgabe ist der Mittelwert der letzten NNN Eingaben, das Rauschen schrumpft, aber die Ausgabe hinkt auch hinterher. Ein exponentiell gleitender Durchschnitt (EMA) gibt jüngeren Tagen mehr Gewicht: yt=αxt+(1−α)yt−1y_t=\alpha x_t+(1-\alpha)y_{t-1}yt​=αxt​+(1−α)yt−1​ mit dem Glättungsgewicht α=2/(N+1)\alpha=2/(N+1)α=2/(N+1). signal.lfilter(b, a, x) wendet einen solchen Filter auf eine Reihe an und nutzt nur vergangene und gegenwärtige Werte. Die mittlere Verzögerung eines EMA beträgt (1−α)/α(1-\alpha)/\alpha(1−α)/α Tage, die eines NNN-Tage-Durchschnitts (N−1)/2(N-1)/2(N−1)/2 Tage, ein 19-Tage-Durchschnitt und ein EMA mit α=0,1\alpha=0{,}1α=0,1 hinken also beide etwa 9 Tage hinterher.

Die zweite Aufgabe ist das Finden von Zyklen. signal.periodogram(x) verteilt die Varianz einer Reihe auf Frequenzen in Zyklen pro Tag. Ein Gipfel bei der Frequenz fff bedeutet ein sich wiederholendes Muster mit der Periode 1/f1/f1/f Tage. Bei einer Beobachtung pro Tag sieht man Frequenzen nur bis 0,50{,}50,5 Zyklen pro Tag, der Nyquist-Grenze, weil sich ein schnellerer Zyklus nicht von einem langsameren unterscheiden lässt. Eine Warnung ist im Handel enorm wichtig. signal.filtfilt lässt den Filter vorwärts und dann rückwärts laufen, was die Verzögerung entfernt, aber dann nutzt jede Ausgabe zukünftige Werte. Ein mit filtfilt gebautes Signal sieht im Backtest perfekt aus und ist nicht handelbar, weil die Daten von morgen heute nicht vorliegen. Nutzen Sie für alles, was Sie handeln wollen, nur kausale Filter wie lfilter.

yt=αxt+(1−α)yt−1,α=2N+1,lag=1−αα  (moving average: N−12),period=1fy_t=\alpha x_t+(1-\alpha)y_{t-1},\quad \alpha=\frac{2}{N+1},\quad \text{lag}=\frac{1-\alpha}{\alpha}\ \ \Big(\text{moving average: }\frac{N-1}{2}\Big),\qquad \text{period}=\frac1fyt​=αxt​+(1−α)yt−1​,α=N+12​,lag=α1−α​  (moving average: 2N−1​),period=f1​(1)
Drei Zahlen und ein ZyklusNehmen Sie die Reihe 10;12;1110;12;1110;12;11 mit α=0,5\alpha=0{,}5α=0,5 und starten Sie den EMA beim ersten Wert. Dann ist y0=10y_0=10y0​=10, y1=0,5⋅12+0,5⋅10=11y_1=0{,}5\cdot12+0{,}5\cdot10=11y1​=0,5⋅12+0,5⋅10=11 und y2=0,5⋅11+0,5⋅11=11y_2=0{,}5\cdot11+0{,}5\cdot11=11y2​=0,5⋅11+0,5⋅11=11. Ein 3-Tage-Durchschnitt von 10;12;11;1310;12;11;1310;12;11;13 ergibt 111111 und dann 121212. Ein 19-Tage-Fenster bedeutet α=2/20=0,1\alpha=2/20=0{,}1α=2/20=0,1 und eine Verzögerung von (1−0,1)/0,1=9(1-0{,}1)/0{,}1=9(1−0,1)/0,1=9 Tagen. Ein reiner Zyklus, der sich 0,050{,}050,05-mal pro Tag wiederholt, hat die Periode 1/0,05=201/0{,}05=201/0,05=20 Tage, und das Periodogramm hat genau dort seinen Gipfel. Bei echten Daten haben die Tagesrenditen von SPY eine Autokorrelation erster Ordnung von nur −0,10-0{,}10−0,10, ihre Quadrate aber 0,270{,}270,27 bei Lag 1 und 0,300{,}300,30 bei Lag 5: Große Tage folgen auf große Tage, das ist Volatilitäts-Clustering. Ein EMA der quadrierten Renditen mit Gewicht α=0,06\alpha=0{,}06α=0,06 (RiskMetrics λ=0,94\lambda=0{,}94λ=0,94) erreichte am 21. August 2026 0,75%0{,}75\%0,75% pro Tag (11,9%11{,}9\%11,9% pro Jahr), deutlich unter den 1,20%1{,}20\%1,20% der Gesamtstichprobe. Genau das kann ein langsamer Durchschnitt der Vergangenheit sagen, ohne in die Zukunft zu schauen.
  • Glätten kostet Verzögerung: Ein längeres Fenster oder kleineres α\alphaα entfernt mehr Rauschen und verzögert das Signal stärker.
  • Perioden aus Gipfeln: Ein Periodogramm-Gipfel bei der Frequenz fff bedeutet einen Zyklus von 1/f1/f1/f Tagen, bis zur Grenze von 0,5 Zyklen pro Tag.
  • Nur kausale Filter für den Handel: filtfilt nutzt die Zukunft, taugt also für Analyse, nie für ein Live-Signal.

Lab: Was bewertet wird

  • Ein EMA-Schritt10 Pkt.
  • Ein gleitender Durchschnitt10 Pkt.
  • Das Gewicht für ein Fenster10 Pkt.
  • Eine Periode aus einer Frequenz10 Pkt.
  • Die Verzögerung eines EMA10 Pkt.
  • Was jede Routine tut15 Pkt.
  • Warum filtfilt nicht handelbar ist35 Pkt.
0/ 7 beantwortet
Aufgaben
1Numerische Antwort10 Pkt.Nicht beantwortet

Mit α=0,5\alpha=0{,}5α=0,5, y0=10y_0=10y0​=10 und dem nächsten Wert x1=12x_1=12x1​=12: Wie groß ist y1=αx1+(1−α)y0y_1=\alpha x_1+(1-\alpha)y_0y1​=αx1​+(1−α)y0​?

y=y =y=akzeptiert: ± 0.01
2Numerische Antwort10 Pkt.Nicht beantwortet

Die Reihe ist 10; 12; 11; 1310 ;\ 12 ;\ 11 ;\ 1310; 12; 11; 13. Wie groß ist der 3-Tage-Durchschnitt am letzten Tag?

m=m =m=akzeptiert: ± 0.01
3Numerische Antwort10 Pkt.Nicht beantwortet

Ein EMA soll einem N=19N=19N=19-Tage-Durchschnitt ähneln. Wie groß ist α=2/(N+1)\alpha=2/(N+1)α=2/(N+1)?

a=a =a=akzeptiert: ± 0.002
4Numerische Antwort10 Pkt.Nicht beantwortet

Das Periodogramm einer Tagesreihe hat seinen Gipfel bei f=0,05f=0{,}05f=0,05 Zyklen pro Tag. Wie viele Tage dauert ein Zyklus?

p=p =p=akzeptiert: ± 0.1
5Numerische Antwort10 Pkt.Nicht beantwortet

Ein EMA hat α=0,1\alpha=0{,}1α=0,1. Seine mittlere Verzögerung beträgt (1−α)/α(1-\alpha)/\alpha(1−α)/α Tage. Wie viele Tage?

l=l =l=akzeptiert: ± 0.05
6Zuordnen15 Pkt.Nicht beantwortet

Ordnen Sie jeder Routine aus scipy.signal zu, was sie tut.

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

lfilter
filtfilt
periodogram
detrend
7In Worten erklären35 Pkt.Nicht beantwortet

Ein mit filtfilt gebautes Signal hat keine Verzögerung und liefert einen wunderbaren Backtest. Erklären Sie in ein bis zwei Sätzen, warum es nicht handelbar ist.

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