Xavier,
Je viens de comparer les courbes de volatilité que donnent ton script et celui que j'ai dans mon prédicteur de pente de la volatilité.
Cà ne marche pas. Tu as des saturations à 100% qui apparaissent :
<center><img src='http://upload.pro-at.com/02/pour-xavier-alcatel11.gif' alt='' /></center>
En regardant de plus près ton calcul, tu prends 150 jours comme période de référence pour déterminer les valeurs maxi et mini de BOLLVAR pour calculer ensuite BOLLHISTO. Pourquoi fais-tu cela?
Si tu veux avoir une volatilité ramenée entre 0 et 100%, sur la totalité de tes périodes je suppose, il faut que tu procèdes autrement.
Voici un script qui fait ce travail :
A- D'abord on calcule la volatilité type Bollinger pour la totalité de l'historique----->VOLAT
B- Ensuite on la ramène entre 0 et 100%---->VOLATILITY
C- Puis, si on veut, on peut chercher les valeurs VOLMAXI et VOLMINI de VOLATILITY sur une durée P1 au choix.
D- Et éventuellement faire apparaître une LIMITE basse de VOLATILITY en choisissant un pourcentage P2% de l'écart (VOLMAXI-VOLMINI).
-----------------------------------
//Volatility = Volatilité type Bollinger en %
//
//
//A- On calcule d'abord la volatilité type Bollinger
//sur tout l'historique
VOLAT(0)=100*(UBOLL-LBOLL)/MBOLL
//B- Et seulement ensuite on la ramène dans un range [0,100%]
SI RANGHISTO = FINHISTO
ALORS
MAXVOL=MAX(VOLAT,FINHISTO) //Valeur maxi de la volatilité sur l'historique
//Maintenant on peut la ramener ds le range [0,100%]
POUR FINHISTO COURS
VOLATILITY(0)=100*VOLAT/MAXVOL
FINPOUR
//C- Ensuite, si on veut, on peut chercher
//la volatility max et min sur une certaine durée P1
POUR FINHISTO COURS
VOLMINI = MIN(VOLATILITY,P1)
VOLMAXI = MAX(VOLATILITY,P1)
//D- Et tracer si on veut une limite inférieure de volatilité
//qui sera P2%*(VOLMAXI-VOLMINI)
LIMITE=P2*VOLMAXI+(1-P2)*VOLMINI
FINPOUR
FINSI
-----------------------------------
Voici ce que cela donne en gardant explicitement le range [0-100] et en ne le gardant pas, ce qui dans ce deuxième cas est meilleur du point de vue lisibilité :
<center><img src='http://upload.pro-at.com/02/pour-xavier-alcatel2.gif' alt='' /></center>
Bien sûr cela ne règle pas ton autre problème de règle statistique.
Je viens de comparer les courbes de volatilité que donnent ton script et celui que j'ai dans mon prédicteur de pente de la volatilité.
Cà ne marche pas. Tu as des saturations à 100% qui apparaissent :
<center><img src='http://upload.pro-at.com/02/pour-xavier-alcatel11.gif' alt='' /></center>
En regardant de plus près ton calcul, tu prends 150 jours comme période de référence pour déterminer les valeurs maxi et mini de BOLLVAR pour calculer ensuite BOLLHISTO. Pourquoi fais-tu cela?
Si tu veux avoir une volatilité ramenée entre 0 et 100%, sur la totalité de tes périodes je suppose, il faut que tu procèdes autrement.
Voici un script qui fait ce travail :
A- D'abord on calcule la volatilité type Bollinger pour la totalité de l'historique----->VOLAT
B- Ensuite on la ramène entre 0 et 100%---->VOLATILITY
C- Puis, si on veut, on peut chercher les valeurs VOLMAXI et VOLMINI de VOLATILITY sur une durée P1 au choix.
D- Et éventuellement faire apparaître une LIMITE basse de VOLATILITY en choisissant un pourcentage P2% de l'écart (VOLMAXI-VOLMINI).
-----------------------------------
//Volatility = Volatilité type Bollinger en %
//
//
//A- On calcule d'abord la volatilité type Bollinger
//sur tout l'historique
VOLAT(0)=100*(UBOLL-LBOLL)/MBOLL
//B- Et seulement ensuite on la ramène dans un range [0,100%]
SI RANGHISTO = FINHISTO
ALORS
MAXVOL=MAX(VOLAT,FINHISTO) //Valeur maxi de la volatilité sur l'historique
//Maintenant on peut la ramener ds le range [0,100%]
POUR FINHISTO COURS
VOLATILITY(0)=100*VOLAT/MAXVOL
FINPOUR
//C- Ensuite, si on veut, on peut chercher
//la volatility max et min sur une certaine durée P1
POUR FINHISTO COURS
VOLMINI = MIN(VOLATILITY,P1)
VOLMAXI = MAX(VOLATILITY,P1)
//D- Et tracer si on veut une limite inférieure de volatilité
//qui sera P2%*(VOLMAXI-VOLMINI)
LIMITE=P2*VOLMAXI+(1-P2)*VOLMINI
FINPOUR
FINSI
-----------------------------------
Voici ce que cela donne en gardant explicitement le range [0-100] et en ne le gardant pas, ce qui dans ce deuxième cas est meilleur du point de vue lisibilité :
<center><img src='http://upload.pro-at.com/02/pour-xavier-alcatel2.gif' alt='' /></center>
Bien sûr cela ne règle pas ton autre problème de règle statistique.
Commentaire