HistoricVolatility
HistoricVolatility[N](price) in ProBuilder gibt die annualisierte historische Volatilität zurück, die realisierte Schwankungsbreite logarithmischer Kursveränderungen über die letzten N Bars.
Syntax
HistoricVolatility[N](price)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
N | Ganzzahl | keine | Anzahl der Bars im Messfenster, üblicherweise 10, 20 oder 100. |
price | Kursquelle | Schlusskurs | Gemessene Serie, zum Beispiel close, open, high, oder low. |
Formel
r = LOG(price / price[1]) // logarithmic bar-to-bar return
HistoricVolatility = dispersion of r over N bars, annualized, in percentDie Berechnung nimmt die Veränderungen der Serie von Bar zu Bar, wendet den natürlichen (neperschen) Logarithmus an, um deren Varianz zu stabilisieren, und misst ihre Streuung über die N-Bar-Fenster, und skaliert das Ergebnis auf einen annualisierten Prozentsatz.
So funktioniert es
Die historische oder realisierte Volatilität beantwortet eine einfache Frage: wie schwankungsanfällig waren die Renditen dieses Instruments in der jüngeren Vergangenheit tatsächlich. Logarithmische Renditen werden anstelle von rohen Differenzen verwendet, weil sie Auf- und Abwärtsbewegungen symmetrisch und über Kursniveaus hinweg vergleichbar machen. Ihre Streuung über das Fenster wird dann auf einen Jahreswert extrapoliert, sodass Werte aus verschiedenen Zeiteinheiten eine gemeinsame Einheit haben, Prozent pro Jahr.
Das Ergebnis ist rückwärtsgerichtet und faktisch, vollständig aus beobachteten Kursen berechnet. Das unterscheidet es von der impliziten Volatilität, die aus Optionsprämien abgeleitet wird und die Erwartung des Marktes an zukünftige Bewegungen widerspiegelt. Beide weichen oft voneinander ab, und die Differenz zwischen ihnen wird an den Optionsmärkten selbst gehandelt.
Innerhalb von Strategien dient die historische Volatilität als Regimemaß. Der Vergleich des aktuellen Werts mit seinem eigenen langfristigen Durchschnitt klassifiziert den Markt als ruhig oder turbulent, was Einstiege filtern, position sizes skalieren oder zwischen Strategievarianten umschalten kann.
Beispiele
Beispiel 1, Volatilitätsregime mit Richtungsneigung (Indikator)
// 10-period historical volatility of the close
i1 = HistoricVolatility[10](close)
// Long-term average of the volatility itself
i2 = average[100](i1)
// Short-term price average for direction
i3 = average[10](close)
// Signals: elevated volatility plus price position give the bias
IF (i1 > i2 AND Close < i3) THEN
bearish = -1
bullish = 0
ELSIF (i1 > i2 AND Close > i3) THEN
bearish = 0
bullish = 1
ELSE
bearish = 0
bullish = 0
ENDIF
RETURN bearish, bullishMarkiert bullische oder bärische Bedingungen nur, wenn die 10-Perioden-Volatilität ihren 100-Perioden-Durchschnitt übersteigt, und nutzt dann den Kurs gegen einen kurzen Durchschnitt für die Richtung. Ruhige Märkte geben kein Signal zurück.
Beispiel 2, Screener für Kompression bei niedriger Volatilität (ProScreener)
hv = HistoricVolatility[20](close)
hvAvg = Average[100](hv)
// Current volatility well below its own long-term norm
SCREENER[hv < hvAvg * 0.5](hv AS "Hist Vol 20")Gibt Instrumente zurück, deren realisierte Volatilität über 20 Bars weniger als die Hälfte ihres Durchschnitts über 100 Bars beträgt, eine Kompressionsbedingung, die oft einer Range-Ausweitung vorausgeht.
Beispiel 3, Volatilitätsfilter für ein breakout-System (ProBacktest)
// Trade breakouts only while realized volatility is not extreme
hv = HistoricVolatility[20](close)
hvCap = Average[100](hv) * 2
level = Highest[20](high)[1]
IF NOT LongOnMarket THEN
IF hv < hvCap AND close > level THEN
BUY 1 CONTRACT AT MARKET
ENDIF
ELSE
IF close < Average[20](close) THEN
SELL AT MARKET
ENDIF
ENDIFBlockiert neue breakout-Einstiege, sobald die Volatilität über 20 Bars das Doppelte ihres langfristigen Durchschnitts übersteigt, und vermeidet so Einstiege in ungeordnete Bedingungen.
Interpretation
| Ablesung | Bedeutung |
|---|---|
| Niedrig und fallend | Ruhiges Regime, die Ranges verengen sich. Breakout-Trader achten auf eine Ausweitung, Optionsverkäufer sehen billige Bewegung. |
| Steigend | Die Bewegung nimmt zu, oft im Umfeld von Nachrichten, breakouts oder Trendbeschleunigungen. |
| Hoch und erhöht | Turbulentes Regime, weitere Stops und kleinere Positionen sind typische Anpassungen. |
Volatilität ist richtungsneutral: ein Crash und eine vertikale Rally erhöhen sie beide. Sie bildet außerdem Cluster, volatile Phasen folgen tendenziell auf volatile Phasen, und sie kehrt über längere Zeiträume zum Mittelwert zurück, Extreme in beide Richtungen normalisieren sich tendenziell. Den aktuellen Wert mit der eigenen Historie des Instruments zu vergleichen ist aussagekräftiger als jeder feste Schwellenwert, weil die normalen Niveaus zwischen Märkten stark variieren.
Häufige Fehler und Stolperfallen
- Historische und implizite Volatilität verwechseln.
HistoricVolatilitymeldet, was in der Kursreihe bereits passiert ist. Aus Optionen abgeleitete Erwartungen künftiger Bewegungen sind eine andere Größe und können erheblich davon abweichen. - Eine Richtung in den Wert hineinlesen. Hohe Volatilität bedeutet nicht fallende Kurse, auch wenn beides bei Aktien oft zusammenfällt. Das Maß ist in Bezug auf die Richtung symmetrisch.
- Feste Schwellenwerte über Instrumente hinweg. Annualisierte 20 Prozent sind für eine Kryptowährung ruhig und für einen Anleihe-Future extrem. Normalisieren Sie gegen die eigene Volatilitätshistorie des Instruments, wie in den Beispielen.
- Fenster zu kurz. Sehr kleine
NWerte machen die Schätzung sprunghaft und von einzelnen Bars dominiert. Ab etwa 20 Bars verbessert sich die Stabilität deutlich.
Verwandte Befehle
Volatility, verwandtes integriertes Volatilitätsmaß.STD, Standardabweichung einer Reihe über N Bars.AverageTrueRange, rangebasierte Volatilität in Kurseinheiten.BollingerBandWidth, Bandbreite als Näherung für die Volatilität.TR, True Range eines einzelnen Bars.LOG, natürlicher Logarithmus, auf die Kursveränderungen angewendet.Average, wird verwendet, um Basislinien für die Volatilität der Volatilität zu bilden.MassIndex, Indikator für Range-Ausweitung.