Rechercher sur le site

4.6 Indicateur de volatilité VNK

Aller au dernier message
Posté par : philippulus le 12 Mar 2006, 22:22
Dans cette file, nous effectuons des remarques sur l'utilisation d'indicateurs de volatilité sous les cours et notamment sur l'indicateur VNK.

Comme nous l'avons vu dans le chapitre sur les bandes de Bollinger, la volatilité évolue constamment entre des situations de faible volatilité et des situations de volatilité élevée.

John Bollinger a été le premier à proposer de mettre à profit les situations de "squeeze" (en français congestion, compression ou écrasement) par l'utilisation d'un indicateur de volatilité de son invention, l'indicateur Bandwidth.
Celui-ci est défini par la formule suivante (LBB, p. 70 et 134):
(bande haute de Bollinger - bande basse de Bollinger) / moyenne de Bollinger
Le squeeze est une situation que Bollinger définit par un indicateur BandWidth qui tombe à ses plus bas niveaux depuis six mois (LBB, p. 134):



Il est également caractérisé par une phase de consolidation qui se met en place au sein d'une zone d'échange qui se resserre nettement, tandis que les bandes de Bollinger se referment autour de la structure des prix avec une moyenne de Bollinger qui traverse cette dernière (LBB, p. 135).
Il recommande ensuite de se positionner en utilisant les situations de squeeze pour accompagner l'expansion de la volatilité qui suit inévitablement une situation de volatilité faible sur une durée de six mois, tout en prenant gare à la feinte de corp et en utilisant certains indicateurs de volume pour prédire la direction des prix (LBB, p. 149).

Il est remarquable de constater que la définition donnée par Bollinger de la situation de squeeze implique:
* que celui-ci est observé sur une échelle journalière.
* que la volatilité minimale sur une durée de six mois correspond en fait à environ à 130 jours de quotation.

Dans le cadre de la méthode atd, Cahen suggère quant à lui une approche visuelle de la volatilité basée sur l'observation de l'écartement et des figures formées par les bandes de Bollinger (GLB, p. 9). Il affirme à plusieurs reprises que son utilisation des bandes de Bollinger est radicalement différente de celle de John Bollinger en prétendant utiliser les bandes sous l'angle exclusif de la volatilité mais non pas comme un indicateur classique (GLB, p. 88.).

Quoiqu'il en soit, son approche est basée sur la recherche de situations particulières requiérant l'observation d'une situation de volatilité minimale définie visuellement par une moyenne et des bandes de Bollinger plates pendant six périodes au moins et dans le même temps des cours de clôture situés impérativement à l'intérieur des bandes de Bollinger (GLB, p. 13):



Il semblerait toutefois qu'il estime que l'approche visuelle ne se suffise pas à elle-même puisqu'il suggère d'analyser l'écartement des bandes par le calcul de la volatilité selon la formule suivante (GLB, p. 9):
[(bande haute - bande basse) / moyenne] * 100
qui n'est en fait rien d'autre que le BandWidth de Bollinger multiplié par 100.

Il propose également de contrôler le niveau de l'écartement des bandes de Bollinger en % sur les 100 à 150 périodes du graphique (GLB, p. 14), volatilité en % correspondant en fait à la formule de la volatilité présentée ci-dessus, c'est à dire au BandWidth de Bollinger.

En d'autres termes, Cahen reprend le concept de Bollinger d'une volatilité basse sur une échelle journalière, caractérisée par un plus bas sur six mois d'un indicateur de volatilité, soit 130 jours, en l'étendant à d'autres échelles de temps par la prise en compte d'une volatilité historiquement faible sur 100 à 150 périodes (GLB, p. 14).

L'espace de travail atd par défaut n'inclut pas d'indicateur de volatilité sous les cours, ce qui signifie qu'il est nécessaire d'élargir l'affichage chaque fois qu'une situation de volatilité a priori faible est rencontrée, pour contrôler l'écartement des bandes de Bollinger par rapport au 100 ou 150 périodes précédentes:



Et si cette procédure ne permet pas de conclure, il faut alors recourrir à des calculs manuels de la volatilité.

Erico a été le premier à suggérer l'utilisation d'un indicateur de volatilité sous les cours pour remédier à cette situation. Il inclut dans ce cadre l'écart-type par défaut de ProRealTime comme indicateur sous le graphe des cours. Cet indicateur donne de bons résultats d'une manière générale, quoiqu'il soit une mesure de la volatilité d'un point de vue relatif, mais non pas de manière absolue, ce qui peut éventuellement conduire à une évaluation érronée des situations de volatilité historiquement basse.

De mon côté, j'ai donc tenté de comprendre le fonctionnement des indicateurs de volatilité afin de programmer un "écart-type corrigé du niveau des cours", donnant une mesure absolue du niveau de la volatilité. Ce n'est qu'une fois terminée l'écriture du code de cet indicateur dénommé VNK, que j'ai pu établir qu'il est pratiquement identique au BandWidth de Bollinger par la relation:
BandWidth = 4 * VNK
Je n'ai donc à mon tour rien fait d'autre que réinventer le BandWidth, selon une approche mathématique originale toutefois !
Afin d'éviter de devoir recourrir à l'élargissement des graphes pour comparer le niveau de la volatilité sur une durée définie, j'ai rajouté à cet indicateur son niveau historiquement bas sur 150 périodes.
D'autre part, sachant que selon Cahen, une augmentation de la volatilité au dela de son niveau maximum, permet de détecter une situation qui devient anormale (GLB, p. 10), j'ai donc également ajouté à l'indicateur VNK ce niveau supérieur sur 150 périodes:


Il est important de noter que les seuils haut et bas sur 150 périodes ne constituent pas des bornes, mais simplement des niveaux de référence permettant d'identifier le niveau absolu de la volatilité sur une durée donnée.

Dans ProRealTime, le code de l'indicateur VNK (programmé par Smallcaps que je remercie au passage) est le suivant:

//Calcul de la volatilité corrigée des cours
//et des valeurs minimale et maximale de celle-ci sur 150 périodes

IF BarIndex<20 then
VNK = Undefined
else
MB=Average[20](TypicalPrice)
I=19
D2=0
While I>=0 Do
D2=D2+Square((TypicalPrice[I]-MB)/MB)
I=I-1
Wend
VNK=SQRT(D2/20)

LimitMini=Lowest[150](VNK)

LimitMaxi=Highest[150](VNK)

Endif

Return VNK,LimitMaxi,LimitMini


Dans le code précédent, il est bien sûr possible de modifier les paramètres relatifs au nombre de périodes utilisées pour le calcul de l'indicateur lui-même et pour celui des niveaux haut et bas.

Bien entendu, l'utilisation d'un autre indicateur, tel que le BandWidth ou l'écart-Type, tous deux disponibles par défaut dans ProRealTime, en lieu et place du VNK, relève du choix personnel de l'analyste.

A titre personnel, j'utilise généralement une version semi-logarithmique de l'indicateur VNK qui en procure une meilleure lecture, notamment sur des graphes de faible taille:


Il suffit pour ce faire de saisir la ligne de code: VNK=LOG(SQRT(D2/20)) .
Lien vers file de discussion sur les tutoriels analyse dynamique
"La première panacée d'un gouvernement mal géré, c'est l'inflation de la devise. La deuxième, c'est la guerre. Toutes deux apportent une prospérité temporaire ; toutes deux apportent une ruine plus permanente". Hemingway --- Mon blog: http://philippulus.daily-bourse.fr/
bourse