Overblog Suivre ce blog
Administration Créer mon blog
7 février 2008 4 07 /02 /février /2008 18:27

Le précurseur de volatilité d'Oxythan.

 

Voici un petit indicateur que je trouve bien pratique, il est à comparer avec le Bollinger Bandwidth : à employer pour filtrer des stratégies de suivi de tendance ou de contre-trend.  Cet indicateur a été créé par Oxythan, il en fait état en 2004 sur une file chez Dakoté.  Je reprends son explication :

 

Principe :
L'idée est de construire un indicateur qui utilisé la dérivée de la volatilité afin de détecter les coups de faiblesse qui précedent a peu prés toujours les sommets.

Afin d'avoir une bonne approximation de la dérivée, on modélise la courbe de volatilité par un ensemble de polynomes du second degrés en prenant des groupes de 3 points sur une fenêtre glissante.
Ensuite, on dérive de façon algébrique ce polynome, et on exprime la valeur de la dérivée sur le dernier point en fonction de la valeur des 3 points.
A ce moment la, on peut avoir la valeur de la dérivée de la volatilité en tous points de l'historique, mais les données extrèmement bruitées, sont inutilisables.
Pour obtenir un signal utilisable, on applique un MACD sur cette dérivée et c'est le croisement de ce MACD avec son signal qui donne une très bonne approximation des creux et sommets de volatilité.

 

Et le code pour Prorealtime, il faut mettre p1, p2 et p3 en variable (valeurs préconisées : 22, 44, 9) :

 

ub=BollingerUp[20](close)
lb=BollingerDown[20](close)

// on prend les 3 derniers points de volatilité

left=100*((ub[2]-lb[2])/((ub[2]+lb[2])/2))
center=100*((ub[1]-lb[1])/((ub[1]+lb[1])/2))
right=100*((ub-lb)/((ub+lb)/2))

// on calcule la dérivée sur le dernier point

derive=((left+right)/2)-2*center+right

// on calcule le MACD de cette dérivée

ema1=exponentialaverage[p1](derive)
ema2=exponentialaverage[p2](derive)
mac=ema1-ema2
mmac=exponentialaverage[p3](mac)
precurseur=mac-mmac
return mac,mmac,precurseur,0

 

Et une vue de l'indicateur en fenêtre 1, en 2 la Bollinger Bandwidth pour comparaison et en 3 les cours.

 

hk5.gif

Repost 0
Published by hk_lisse - dans Volatilité
commenter cet article
7 février 2008 4 07 /02 /février /2008 18:13

L'Historical Volatility Ratio (HVR).

 

Le HVR retourne le rapport entre une volatilité historique courte et une longue.  Quand la volatilité courte baisse sous un certain pourcentage de la volatilité longue, on peut s'attendre à un mouvement d'ampleur.  Les paramètres les plus utilisés sont 10/100 et 6/100 et le niveau de 50%.  Ainsi si la volatilité historique à 6 périodes passe sous 50% de la volatilité historique à 100 périodes, on peut regarder aux trades potentiels car un mouvement est attendu.

 

Voici une vue d'INTC avec en fenêtre 2, le HVR (historigramme vert pour le HVR6 et rouge pour le HVR10) et en fenêtre 3 un Stochastic*.  Des mouvements d'une certaine amplitude interviennent en A,B et C.

 

hk4-copie-2.gif

 

Et le code pour Prorealtime :

 

st6=STD[6]((close/close[1]))
st10=std[10]((close/close[1]))
st100=std[100]((close/close[1]))
hvr6=st6/st100
hvr10=st10/st100
l=0.50
if hvr6<l  then
    sig=.2
else
    sig=0
endif
if hvr10<l then
    sig1=-.2
else
    sig1=0
endif

return hvr6, hvr10,l,sig,sig1

 

Un exemple de scanning par Larry SWING en utilisant le HVR : c'est ici.  Celui-ci n'a rien inventé car Laurence CONNORS et Linda BRADFORD RASCHKE font déjà mention du setup dans le numéro d'août 1996 de S&C dans un article intitulé "Historical Volatility And Pattern Recognition".

 
* Pour Arnaud : le Stochastic est un "Spread Stochastic" (voir l'article dans la rubrique cycles).  Voici le code pour rappel :


ema1=exponentialaverage[10](close)
ema2=exponentialaverage[40](close)
spread=ema1-ema2
spr=spread-spread[1]
ll=lowest[5](spr)
hh=highest[5](spr)
stoc1=100*(spr-ll)/(hh-ll)
spreadsto=average[5](stoc1]
avsto=average[3](spreadsto)
return spreadsto,avsto,20,80,50

Repost 0
Published by hk_lisse - dans Volatilité
commenter cet article
7 février 2008 4 07 /02 /février /2008 17:34

La volatilité normalisée.

 

Voici un autre petit programme (publié par jcp31) qui cette fois retourne la volatilité "normalisée".  De nouveau, l'indicateur permet les comparaisons entres différentes actions et périodes.  On visualise également bien mieux les zones de basses et hautes volatilités.  J'ai repris les données de l'analyse dynamique avec une longueur d'historique de 150 barres pour calculer la volatilité de référence (ces paramètres peuvent être changés dans le programme).  Voici une vue long terme du CAC, avec en fenêtre 2 la volatilité normalisée et en fenêtre 3, la BB Bandwidth.

 


hk3-copie-1.gif

 

Le code pour Prorealtime :

 

vola=std[20](typicalprice)
vola1=vola/average[20](typicalprice)
vmin=lowest[150](vola1)
vmax=highest[150](vola1)
vfin=(vola1-vmin)/(vmax-vmin)
return vfin

Repost 0
Published by hk_lisse - dans Volatilité
commenter cet article
7 février 2008 4 07 /02 /février /2008 17:23

Volatilité : le Normalized ATR (N-ATR) ou ATRP (ATR percent).

 

Voici un indicateur tout simple présenté dans le S&C de 05/2006 par John Forman.  Il permet de comparer la volatilité d'actions entres elles ou par rapport au marché.  Il est utile également pour mesurer la volatilité sur un titre pour des périodes très éloignées.  Le N-ATR permet aussi d'augmenter l'efficacité des signaux de trading en mieux sélectionnant les périodes ou les actions.  Il peut enfin être entré comme critère pour un screener comme dans l'exemple ci-dessous du SRD.

 

hk2-copie-1.gif

 

Le code pour Prorealtime :

 

a=AverageTrueRange[14](close)
natr=a/close*100
return natr

Repost 0
Published by hk_lisse - dans Volatilité
commenter cet article