Identifiant   Mot de passe       Oublie mot de passe?  Oublie login?  Creer un compte

 

Forum Trading Auto

AutomatedTradingShop

 

Abonnez-Vous

flux rss trading automatique Flux RSS
facebook trading automatique Facebook
twitter trading automatique Twitter

Sondage

Pour vous, la qualite d'excecution est :
 
ProRealTime - Calculer l'Ecart Type Envoyer

 

L'Ecart Type, ou la fonction STD[p](Price) de ProRealTime, est connu de nombreux utilisateurs. Il va sans dire qu'il est, d'une façon plus générale, utilisé par de nombreux traders dans la construction d'indicateurs divers et variés. En quelques mots, l'écart type est un indice de mesure de la dispersion d'un ensemble de valeurs. Dans le cas plus particulier du trading, il est souvent utilisé, soit comme indicateur de volatilité autour d'une moyenne, soit sous la forme d'une enveloppe de prix pour définir des objectifs de bénéfice ou encore des zones de "sur achat" ou "sur vente". A titre d'exemple, il est le pivot de l'indicateur "Bandes de Bollinger".

En résumé, plus l'écart type est faible, plus les prix sont homogènes autour de leur moyenne. C'est le cas des prix dans les zones A, B et C dans le graphique ci dessous. Ces zones sont représentatives des phases de marché à faible volatilité dispersion pendant lesquelles une pression acheteuse ou vendeuse n'est pas encore clairement installée. Au contraire, plus l'écart type est élevé, plus la dispersion est importante. C'est le cas des prix dans les zones D et E. Ces zones sont représentatives des phases de pression acheteuse ou vendeuse excessives. Suite à une forte volatilité, les prix ont tendance à revenir rapidement vers la moyenne. Attention, comme vous pouvez le constater dans le rectangle vert, l'écart type n'est pas un indice de mesure de l'existence d'une tendance.

 

Vous trouverez ici des explications mathématiques plus complètes.

Revenons à la construction de cet indicateur dans ProRealTime. Bien évidemment, je souhaite vous montrer comment la programmation ProRealTime peut élargir le champ d'application de l'écart type. A ce jour, vous utilisez certainement uniquement la fonction native de ProRealTime, c'est à dire :

Elle vous permet de construire un écart type sur la base d'une moyenne mobile simple de [p] périodes, avec l'option du type de prix (Prix). Comme par exemple...

En revanche, cette fonction ne vous permet pas...

  • De modifier le type de la moyenne mobile sous jacente
  • De pondérer les écarts à la moyenne
  • De calculer l'écart type d'un indicateur
  • ect...

Voici quelques lignes de programmation ProRealTime pour répondre à ces différents besoins. Alors que nous admettons la règle de programmation "L'écart type est la moyenne des écarts à la moyenne", nous commençons par écrire un indicateur qui réplique la fonction native ProRealTime.

Le fontion ProRealTime STD

Ci dessous, il y a un écart entre la bande bleue et la bande rouge, ce qui nous indique que le calcul est incorrect.

 

 

En fait, il est nécessaire de calculer le carré des écarts pour respecter la formule à la lettre !!

Le carré des écarts à la moyenne


Et voici le résultat !


Bien évidemment, dès à présent vous pouvez laisser votre créativité déborder ... La programmation ProRealTime vous permet de créer des indicateurs encore plus avancés.

Un écart type pondéré

Pourquoi pas un écart type pondéré?

Une alternative au prix de clôture

Pourquoi pas une moyenne mobile exponentielle basée sur un TypicalPrice ? Alors que l'Ecart Type est mesuré sur la valeur moyenne quotidienne ?

Un écart type en tendance

Ou encore un écart type mesuré sur une référence de prix différente selon la position de la moyenne mobile?

L'écart type des indicateurs

Enfin, la programmation ProRealTime vous permet désormais de calculer un écart type sur un indicateur pour identifier les marchés en tension. Voici un exemple sur le MACD.


Vous pouvez identifier les zones ou la pression actuelle du marché s'affaiblit, soit avant de repartir, soit avant de céder à la pression adverse. Ci après quelques zones ou l'écart type MACD est faible, identifiées avec les cercles de couleur orange.


En espérant vous avoir donné, en matière de programmation ProRealTime, quelques clefs et idées supplémentaires !

Vos commentaires sont les bienvenus ! N'hésitez pas à partager vos idées et suggestions. Vous pouvez également nous contactez à l'adresse  Cette adresse email est protégée contre les robots des spammeurs, vous devez activer Javascript pour la voir.

Grégoire Tardy.

Septembre 2010

PS : La programmation ProRealTime pour copier/coller

Code ProRealTime Modèle - 1

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime ... 20 périodes .... en bleu.... sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l'écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des écarts à la moyenne

Delta = ABS(Close[x] - EMA) //  Ecart absolu entre prix et moyenne de référence
Deltasum = DeltaSum + Delta

// Calcul de la moyenne des écarts à la moyenne
ETINDIC =  (DeltaSum /  (x+1) )    // en rouge...

Next

Return ETINDIC  as "Ecart Type Calculé" ,  ETPRT as "Ecart Type ProRealTime"

Code ProRealTime Modèle - 2

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime ... 20 périodes .... en bleu.... sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l'écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

Delta = SQUARE(Close[x] - EMA) //  Ecart au carré entre prix et moyenne de référence
Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf...
ETINDIC =  SQRT(DeltaSum /  (x+1))    // en rouge...

Next

Return ETINDIC  as "Ecart Type Calculé" ,  ETPRT as "Ecart Type ProRealTime"

Code ProRealTime Modèle - 3

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0
SumX = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime ... 20 périodes .... en bleu.... sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l'écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

Delta = SQUARE((20 - x)  * (Close[x] - EMA)) //  Ecart au carré entre prix et moyenne de référence
SumX = SumX + (20 - x)
Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf...
ETINDIC =  SQRT((DeltaSum / SumX) /  (x+1))    // en rouge...

Next

Return ETINDIC  as "Ecart Type Calculé" ,  ETPRT as "Ecart Type ProRealTime"

Code ProRealTime Modèle - 4

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// New !!

Price = (High + Low) / 2
EMAPrice = TypicalPrice

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime ... 20 périodes .... en bleu.... sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = ExponentialAverage[20](EMAPrice)

// Indicateur personnel de l'écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des écarts à la moyenne
// En passant par le calcul du carré des écarts.

Delta = SQUARE (Price[x] - EMA) // au lieu de Delta = ABS(Close[x] - EMA)
Deltasum = DeltaSum + Delta

// Calcul de la moyenne des écarts à la moyenne
ETINDIC =  SQRT(DeltaSum /  (x+1) )    // en rouge... au lieu de  ETINDIC = DeltaSum / (x+1)

Next

Return ETINDIC  as "Ecart Type Calculé" ,  ETPRT as "Ecart Type ProRealTime"

Code ProRealTime Modèle - 5

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime ... 20 périodes .... en bleu.... sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l'écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

If CLOSE => EMA Then

Delta = SQUARE(High[x] - EMA) //  Ecart au carré entre prix et moyenne de référence

Else

Delta = SQUARE(Low[x] - EMA) //  Ecart au carré entre prix et moyenne de référence
EndIf

Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf...
ETINDIC =  SQRT(DeltaSum /  (x+1))    // en rouge...

Next

Return ETINDIC  as "Ecart Type Calculé" ,  ETPRT as "Ecart Type ProRealTime"

Code ProRealTime Modèle - 6

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](MACDline[12,26,9](close))

// Indicateur personnel de l'écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

Delta = SQUARE(MACDline[12,26,9](close) - EMA) //  Ecart au carré entre prix et moyenne de référence

Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf...
ETINDIC =  SQRT(DeltaSum /  (x+1))    // en rouge...

Next

Return ETINDIC  as "Ecart Type Calculé"

 

Commentaires  

 
0 #1 jeune trader 2010-09-03 10:35 Bonjour Grégoire !

Je lis attentitevement tous les articles du site depuis quelques temps, et ce avec le plus grand intérêt.

Je me permets donc de faire une petite remarque concernant le rapprochement que tu fais entre écart type et volatilité : pour s'approcher de la notion de volatilité des marchés (au sens par exemple de la volatilité implicite des options), il faut non pas calculer l'écart type sur les prix mais sur les performances de la stock (par exemple en close to close).

En effet, il est possible d'avoir un marché très volatile qui "oscille" autour d'une valeur moyenne (le calcul de l'écart type via les closes donnerait alors une valeur faible (puisque les prix serait proches de leur moyenne), laissant croire à une volatilité faible) ou d'avoir un marché trendé de volatilité faible (pour lequel le calcul par les prix donnerait un valeur élevée puisque les prix serait éloignés de leur moyenne).

Bon trading automatique à tous !
Citer
 
 
0 #2 G. Tardy 2010-09-06 20:09 Bonjour jeune trader,

Merci pour ton commentaire. Tous les avis ainsi que toutes les remarques et idées sont les bienvenus.

J'ai effectivement, trop hâtivement, utilisé à tort le terme volatilité dans le second paragraphe. Shame on me ! Bien évidemment, c'est "dispersion" que j'aurais dû écrire. Ne souhaitant pas me soustraire à cette étourderie, j'ai laissé l'intrus, sous le format barré.

J'écris aussi, en parlant de l'écart type, "il est souvent utilisé, soit comme indicateur de volatilité autour d'une moyenne..".
Là je partage une réalité constatée dans les discussions, forums et formations. Vulgairement, les bandes de Bollinger sont connues comme un indicateur de volatilité.

Et pourtant, les puristes, dont tu sembles faire partie, crient au(x) scandale(s)… Et, en effet, ce que tu dis est juste.

D'une part la volatilité s'exprime en pourcentage, ce qui n'est pas le cas de l'écart type. Difficile de comparer la volatilité de deux valeurs sachant uniquement que l'écart type est de 2… D'un coté c'est aberrant si les prix des valeurs ne sont pas du même ordre de grandeur. De l'autre, c'est absurde, si à l'instant de la mesure, les moyennes mobiles ne sont pas approximativeme nt identiques.

Aussi, quid de la moyenne mobile ? Est-il judicieux, pour ne pas dire "juste", de calculer un écart type sur une moyenne temporelle? Les variations de prix entrainent la moyenne vers le haut ou vers le bas. Si les variations successives des prix sont constantes, l'écart type diminuera obligatoirement , l'écart à la moyenne étant alors plus faible. Il s'agit là aussi d'un constat, certains traders utilisent uniquement les variations significatives de l'écart type après une phase de faible dispersion, et qualifient cette phase "accélération". A juste titre, comme à vélo, après les premiers coups de pédales, une fois la vitesse constante, l'accélération est nulle. Et pourtant, le vélo se déplace. Et nous le constatons dans le rectangle vert au début de l'article. En d'autres termes, l'accélération de la dispersion, indépendamment du prix de l'actif et de la valeur de la moyenne, implique forcément une augmentation de la volatilité. D'où l'intérêt d'un indicateur d'accélération pour entrer sur le marché dès les premiers coups de pédales.

D'autre part, sur x périodes, deux valeurs ayant le même prix de début et de fin, avec de nombreuses variations entre les deux, seul l'écart type, ou autre indicateur dérivé des prix, te permettra d'identifier la plus volatile. En effet, la variation entre les prix de clôtures ("performance"?) est identique.

En conclusion, je te rejoins sur l'idée de calculer la volatilité sur les prix ! Toutefois, par forcément par comparaison des cours de clôture uniquement. Il existe d'autres indicateurs intéressants comme l'ATR. Aussi, je n'écarterais pas systématiquemen t l'écart type de la catégorie des indicateurs de mesure de la volatilité, ou de ses accélérations. Enfin, je ne classe pas la volatilité implicite dans ce paragraphe car il s'agit d'une volatilité calculée sur un risque mesuré à travers les variations du prix d'un produit dérivé, et non pas du sous jacent.
Citer
 
 
0 #3 Nicolas Vitale 2010-09-06 20:16 Ca c'est ce qu'on apelle un vrai commentaire… Citer
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Articles en rapport :

 
Joomla 1.5 Templates by Joomlashack