Word nu lid
Indicatoren/probuilder · probacktest · proorder · proscreener

HistoricVolatility

HistoricVolatility[N](price) in ProBuilder geeft de geannualiseerde historische volatiliteit, de gerealiseerde variabiliteit van logaritmische koersveranderingen over de laatste N bars.

Syntaxis

probuilder
HistoricVolatility[N](price)

Parameters

NaamTypeStandaardBeschrijving
Ngeheel getalgeenAantal bars in het meetvenster, gewoonlijk 10, 20 of 100.
priceprijsbroncloseGemeten reeks, bijvoorbeeld close, open, high, of low.

Formule

code
r = LOG(price / price[1])          // logarithmic bar-to-bar return
HistoricVolatility = dispersion of r over N bars, annualized, in percent

De berekening neemt de veranderingen van bar tot bar in de reeks, past de natuurlijke (Napieriaanse) logaritme toe om hun variantie te stabiliseren, meet hun spreiding over de N-bar venster, en schaalt het resultaat naar een percentage op jaarbasis.

Hoe het werkt

Historische, of gerealiseerde, volatiliteit antwoordt op een eenvoudige vraag: hoe variabel zijn de rendementen van dit instrument in het recente verleden werkelijk geweest. Er wordt met logaritmische rendementen gewerkt in plaats van met ruwe verschillen, omdat die opwaartse en neerwaartse bewegingen symmetrisch en vergelijkbaar maken over koersniveaus heen. Hun spreiding over het venster wordt vervolgens geëxtrapoleerd naar een jaarcijfer, zodat waarden van verschillende tijdframes een gemeenschappelijke eenheid hebben, procent per jaar.

Het resultaat kijkt terug en is feitelijk, volledig berekend uit waargenomen koersen. Dat onderscheidt het van implied volatility, die uit optiepremies wordt gehaald en de verwachting van de markt over toekomstige beweging weergeeft. De twee lopen vaak uiteen, en het verschil tussen beide wordt zelf verhandeld op de optiemarkten.

Binnen strategieën dient historische volatiliteit als regimemaatstaf. De huidige waarde vergelijken met het eigen langetermijngemiddelde classificeert de markt als rustig of turbulent, wat instappen kan filteren, position sizes kan schalen of kan wisselen tussen strategievarianten.

Voorbeelden

Voorbeeld 1, Volatiliteitsregime met richtingsbias (Indicator)

probuilder
// 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, bullish

Markeert bullish of bearish omstandigheden alleen wanneer de 10-periode volatiliteit boven het 100-periode gemiddelde ligt, en gebruikt daarna de koers tegen een kort gemiddelde voor de richting. Rustige markten geven geen signaal.

Voorbeeld 2, Screener voor compressie bij lage volatiliteit (ProScreener)

probuilder
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")

Geeft instrumenten waarvan de gerealiseerde volatiliteit over 20 bars minder is dan de helft van het gemiddelde over 100 bars, een compressieconditie die vaak voorafgaat aan range-expansie.

Voorbeeld 3, Volatiliteitsfilter voor een breakout-systeem (ProBacktest)

probuilder
// 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
ENDIF

Blokkeert nieuwe breakout-instappen zodra de volatiliteit over 20 bars meer dan twee keer het langetermijngemiddelde is, zodat instappen in chaotische omstandigheden worden vermeden.

Interpretatie

StandBetekenis
Laag en dalendRustig regime, ranges comprimeren. Breakout-traders letten op expansie, verkopers van opties zien goedkope beweging.
StijgendDe beweging trekt aan, vaak rond nieuws, breakouts of trendversnellingen.
Hoog en verhoogdTurbulent regime, ruimere stops en kleinere posities zijn typische aanpassingen.

Volatiliteit is richtingneutraal: zowel een crash als een verticale rally verhoogt die. Ze clustert ook, volatiele periodes volgen doorgaans op volatiele periodes, en ze keert over langere horizonnen terug naar het gemiddelde, extremen in beide richtingen normaliseren doorgaans. De huidige waarde vergelijken met de eigen historie van het instrument is informatiever dan welke vaste drempel ook, omdat normale niveaus sterk verschillen tussen markten.

Veelvoorkomende fouten en valkuilen

  • Historische volatiliteit verwarren met implied volatility. HistoricVolatility rapporteert wat er al in de koersreeks is gebeurd. Uit opties afgeleide verwachtingen van toekomstige beweging zijn een andere grootheid en kunnen aanzienlijk afwijken.
  • Richting in de waarde lezen. Hoge volatiliteit betekent niet dat de koersen dalen, ook al gaan die twee in aandelen vaak samen. De maatstaf is symmetrisch ten opzichte van de richting.
  • Vaste drempels over instrumenten heen. Een geannualiseerde 20 procent is rustig voor een cryptovaluta en extreem voor een obligatiefuture. Normaliseer tegen de eigen volatiliteitshistorie van het instrument, zoals in de voorbeelden.
  • Venster te kort. Zeer kleine N waarden maken de schatting onrustig en laten die door losse bars domineren. De stabiliteit verbetert duidelijk vanaf ongeveer 20 bars.
  • Volatility, verwante ingebouwde maatstaf voor volatiliteit.
  • STD, standaarddeviatie van een reeks over N bars.
  • AverageTrueRange, op de range gebaseerde volatiliteit in koerseenheden.
  • BollingerBandWidth, bandbreedte als proxy voor volatiliteit.
  • TR, true range van een enkele bar.
  • LOG, natuurlijke logaritme toegepast op de koersveranderingen.
  • Average, gebruikt om basislijnen van volatiliteit-van-volatiliteit te bouwen.
  • MassIndex, indicator voor range-expansie.