Rejoignez-nous
Indicateurs/probuilder · probacktest · proorder · proscreener

HistoricVolatility

HistoricVolatility[N](price) en ProBuilder renvoie la volatilité historique annualisée, la variabilité réalisée des variations logarithmiques de prix sur les N derniers bars.

Syntaxe

probuilder
HistoricVolatility[N](price)

Paramètres

NomTypePar défautDescription
NentieraucunNombre de bars dans la fenêtre de mesure, couramment 10, 20 ou 100.
pricesource de prixcloseSérie mesurée, par exemple close, open, high, ou low.

Formule

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

Le calcul prend les variations de bar à bar de la série, applique le logarithme naturel (népérien) pour stabiliser leur variance, mesure leur dispersion sur les N-bar, et ramène le résultat à un pourcentage annualisé.

Comment ça marche

La volatilité historique, ou réalisée, répond à une question simple : à quel point les rendements de cet instrument ont-ils réellement varié sur le passé récent. Les rendements logarithmiques sont utilisés plutôt que les différences brutes car ils rendent les mouvements à la hausse et à la baisse symétriques et comparables d'un niveau de prix à l'autre. Leur dispersion sur la fenêtre est ensuite extrapolée en un chiffre annuel afin que les lectures issues de différentes unités de temps partagent une unité commune, le pourcentage par an.

Le résultat est rétrospectif et factuel, calculé entièrement à partir des prix observés. Cela le distingue de la volatilité implicite, qui est extraite des primes d'options et reflète l'anticipation du marché quant aux mouvements futurs. Les deux divergent souvent, et l'écart entre elles est lui-même tradé sur les marchés d'options.

Au sein des stratégies, la volatilité historique sert de mesure de régime. Comparer la lecture courante à sa propre moyenne de long terme classe le marché comme calme ou turbulent, ce qui peut filtrer les entrées, ajuster les position sizes, ou basculer entre des variantes de stratégie.

Exemples

Exemple 1, Régime de volatilité avec biais directionnel (Indicateur)

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

Signale des conditions haussières ou baissières uniquement quand la volatilité à 10 périodes dépasse sa moyenne à 100 périodes, puis utilise le prix face à une moyenne courte pour la direction. Les marchés calmes ne renvoient aucun signal.

Exemple 2, Screener de compression en faible volatilité (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")

Renvoie les instruments dont la volatilité réalisée à 20 bars est inférieure à la moitié de sa moyenne à 100 bars, une condition de compression qui précède souvent une expansion du range.

Exemple 3, Filtre de volatilité pour un système de breakout (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

Bloque les nouvelles entrées en breakout dès que la volatilité à 20 bars dépasse le double de sa moyenne de long terme, ce qui évite les entrées dans des conditions désordonnées.

Interprétation

LectureSignification
Basse et en baisseRégime calme, les ranges se compressent. Les traders de breakout guettent l'expansion, les vendeurs d'options voient un mouvement bon marché.
En hausseLe mouvement s'accélère, souvent autour de news, de breakouts ou d'accélérations de tendance.
Haute et élevéeRégime turbulent, des stops plus larges et des positions plus petites sont des ajustements typiques.

La volatilité est neutre en direction : un krach et un rallye vertical l'augmentent tous les deux. Elle se regroupe aussi en grappes, les périodes volatiles tendent à suivre les périodes volatiles, et revient vers sa moyenne sur des horizons plus longs, les extrêmes dans un sens comme dans l'autre tendent à se normaliser. Comparer la valeur courante avec l'historique propre à l'instrument est plus instructif que n'importe quel seuil fixe, car les niveaux normaux diffèrent largement d'un marché à l'autre.

Erreurs et pièges courants

  • Confondre volatilité historique et volatilité implicite. HistoricVolatility rapporte ce qui s'est déjà produit dans la série de prix. Les anticipations de mouvement futur dérivées des options sont une grandeur différente et peuvent diverger fortement.
  • Lire une direction dans la valeur. Une volatilité élevée ne signifie pas des prix en baisse, même si les deux coïncident souvent sur les actions. La mesure est symétrique par rapport à la direction.
  • Seuils fixes d'un instrument à l'autre. Un taux annualisé de 20 pour cent est calme pour une cryptomonnaie et extrême pour un future obligataire. Normalisez par rapport à l'historique de volatilité propre à l'instrument, comme dans les exemples.
  • Fenêtre trop courte. Très petites N valeurs rendent l'estimation instable et dominée par des bars isolés. La stabilité s'améliore nettement à partir d'environ 20 bars.
  • Volatility, mesure de volatilité intégrée apparentée.
  • STD, écart type d'une série sur N bars.
  • AverageTrueRange, volatilité basée sur le range, en unités de prix.
  • BollingerBandWidth, largeur de bande comme approximation de la volatilité.
  • TR, true range d'un seul bar.
  • LOG, logarithme népérien appliqué aux variations de prix.
  • Average, utilisé pour construire des références de volatilité de la volatilité.
  • MassIndex, indicateur d'expansion du range.