HistoricVolatility
HistoricVolatility[N](price) i ProBuilder returnerer annualisert historisk volatilitet, den realiserte variabiliteten i logaritmiske prisendringer over de siste N barene.
Syntaks
HistoricVolatility[N](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | ingen | Antall barer i målevinduet, vanligvis 10, 20 eller 100. |
price | priskilde | lukk | Serien som måles, for eksempel close, open, high, eller low. |
Formel
r = LOG(price / price[1]) // logarithmic bar-to-bar return
HistoricVolatility = dispersion of r over N bars, annualized, in percentBeregningen tar endringene i serien fra bar til bar, bruker den naturlige (napierske) logaritmen for å stabilisere variansen deres, måler spredningen deres over N-bars vindu, og skalerer resultatet til en annualisert prosent.
Slik fungerer det
Historisk, eller realisert, volatilitet svarer på et enkelt spørsmål: hvor variabel har avkastningen til dette instrumentet faktisk vært den siste tiden. Logaritmisk avkastning brukes i stedet for rå differanser fordi den gjør bevegelser opp og ned symmetriske og sammenlignbare på tvers av prisnivåer. Spredningen deres over vinduet ekstrapoleres deretter til et årstall slik at verdier fra ulike tidsrammer deler en felles enhet, prosent per år.
Resultatet er bakoverskuende og faktisk, beregnet utelukkende fra observerte priser. Dette skiller det fra implisitt volatilitet, som utledes fra opsjonspremier og gjenspeiler markedets forventning om fremtidig bevegelse. De to divergerer ofte, og differansen mellom dem handles i seg selv i opsjonsmarkedene.
I strategier fungerer historisk volatilitet som et regimemål. Å sammenligne gjeldende verdi mot sitt eget langsiktige gjennomsnitt klassifiserer markedet som rolig eller turbulent, noe som kan styre innganger, skalere position size eller bytte mellom strategivarianter.
Eksempler
Eksempel 1, Volatilitetsregime med retningsbestemt bias (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, bullishFlagger bullish eller bearish forhold bare når volatiliteten over 10 perioder overstiger sitt gjennomsnitt over 100 perioder, og bruker deretter pris mot et kort gjennomsnitt for retning. Rolige markeder returnerer ingen signaler.
Eksempel 2, Screener for lavvolatilitetskompresjon (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")Returnerer instrumenter der den realiserte volatiliteten over 20 barer er mindre enn halvparten av sitt 100-barers gjennomsnitt, en kompresjonstilstand som ofte kommer før range-ekspansjon.
Eksempel 3, Volatilitetsport for et 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
ENDIFBlokkerer nye breakout-innganger hver gang 20-barers volatiliteten overstiger det dobbelte av sitt langsiktige gjennomsnitt, og unngår innganger i uordnede forhold.
Tolkning
| Avlesning | Betydning |
|---|---|
| Lav og fallende | Rolig regime, rangene komprimeres. Breakout-tradere ser etter ekspansjon, opsjonsselgere ser billig bevegelse. |
| Stigende | Bevegelsen tar seg opp, ofte rundt nyheter, breakouts eller trendakselerasjoner. |
| Høy og forhøyet | Turbulent regime, videre stopp og mindre posisjoner er typiske justeringer. |
Volatilitet er retningsnøytral: både et krakk og en vertikal rally øker den. Den klumper seg også, volatile perioder har en tendens til å følge volatile perioder, og den reverserer mot gjennomsnittet over lengre horisonter, ekstremverdier i begge retninger har en tendens til å normalisere seg. Å sammenligne gjeldende verdi med instrumentets egen historikk er mer informativt enn noen fast terskel, fordi normale nivåer varierer mye mellom markeder.
Vanlige feil og fallgruver
- Å forveksle historisk med implisitt volatilitet.
HistoricVolatilityrapporterer hva som allerede har skjedd i prisserien. Forventninger til fremtidig bevegelse utledet fra opsjoner er en annen størrelse og kan avvike betydelig. - Å lese retning ut av verdien. Høy volatilitet betyr ikke fallende priser, selv om de to ofte sammenfaller i aksjer. Målet er symmetrisk med hensyn til retning.
- Faste terskler på tvers av instrumenter. Annualisert 20 prosent er rolig for en kryptovaluta og ekstremt for en obligasjonsfuture. Normaliser mot instrumentets egen volatilitetshistorikk, som i eksemplene.
- For kort vindu. Svært små
Nverdier gjør anslaget ustabilt og dominert av enkeltbarer. Stabiliteten blir merkbart bedre fra rundt 20 barer og oppover.
Relaterte instruksjoner
Volatility, relatert innebygd volatilitetsmål.STD, standardavviket til en serie over N barer.AverageTrueRange, rangebasert volatilitet i prisenheter.BollingerBandWidth, båndbredde som en proxy for volatilitet.TR, true range for en enkelt bar.LOG, naturlig logaritme brukt på prisendringene.Average, brukt til å bygge baselinjer for volatilitet av volatiliteten.MassIndex, indikator for range-ekspansjon.