Tuesday, 24 January 2017

Moyenne Mobile Et Écart Type

Écart type Écart type Valeur de la mesure de la volatilité du marché. Cet indicateur décrit la fourchette des fluctuations de prix par rapport à la moyenne mobile. Ainsi, si la valeur de cet indicateur est élevée, le marché est volatil, et les prix des barres sont plutôt répartis par rapport à la moyenne mobile. Si la valeur de l'indicateur est faible, le marché peut être décrit comme ayant une faible volatilité, et les prix des barres sont plutôt proches de la moyenne mobile. Normalement, cet indicateur est utilisé comme constituant d'autres indicateurs. Ainsi, lors du calcul de Bollinger Bandsreg on doit ajouter la valeur de l'écart-type de symbole à sa moyenne mobile. Le comportement du marché représente l'échange d'activité commerciale élevée et de marché languissant. Ainsi, l'indicateur peut être interprété facilement: si sa valeur est trop faible, c'est-à-dire le marché est absolument inactif, il est logique de s'attendre à un pic bientôt sinon, si elle est extrêmement élevée, cela signifie probablement que l'activité va diminuer bientôt. (I) SQRT (MONTANT (ji - N, i) N) MONTANT (ji - N, i) SOMME ((APPRICE (j) De la barre courante SQRT racine carrée AMOUNT (ji - N, i) somme des carrés de ji - N à i N période de lissage APPRICE (j) prix appliqué de la barre j MA (ApPRICE. N période sur la barre actuelle ApPRICE (i) prix appliqué de la barre actuelle. Below vous pouvez voir ma méthode C pour calculer les bandes de Bollinger pour chaque point (moyenne mobile, bande montante, bande en baisse). Comme vous pouvez le voir, cette méthode utilise 2 pour les boucles pour calculer l'écart type en mouvement en utilisant la moyenne mobile. Il contenait une boucle supplémentaire pour calculer la moyenne mobile sur les dernières n périodes. Celui-ci que je pouvais supprimer en ajoutant la nouvelle valeur de point à la valeur totale au début de la boucle et en supprimant la valeur de point i-n à la fin de la boucle. Ma question est maintenant fondamentalement: Puis-je supprimer la boucle interne restante d'une manière similaire J'ai réussi avec la moyenne mobile demandé Jan 31 13 à 21:45 La réponse est oui, vous pouvez. Au milieu des années 80, j'ai développé un tel algorithme (probablement non original) dans FORTRAN pour une application de contrôle et de contrôle de processus. Malheureusement, il y a plus de 25 ans et je ne me souviens pas des formules exactes, mais la technique était une extension de celle des moyennes mobiles, avec des calculs de second ordre au lieu de simples linéaires. Après avoir regardé votre code certains, je pense que je peux suss out comment je l'ai fait à l'époque. Notez comment votre boucle intérieure fait une somme de carrés: de la même façon que votre moyenne doit avoir à l'origine une somme de valeurs Les deux seules différences sont l'ordre (sa puissance 2 au lieu de 1) et que vous êtes en soustrayant la moyenne Chaque valeur avant de la placer. Maintenant, cela pourrait sembler inséparable, mais en fait, ils peuvent être séparés: Maintenant, le premier terme est juste une somme de carrés, vous manipulez de la même manière que vous faites la somme des valeurs pour la moyenne. Le dernier terme (k2n) est juste la moyenne au carré multiplié par la période. Puisque vous divisez le résultat par la période de toute façon, vous pouvez juste ajouter la nouvelle moyenne au carré sans la boucle supplémentaire. Enfin, dans le second terme (SUM (-2vi) k), puisque SUM (vi) kn total vous pouvez alors le changer en ceci: ou simplement -2k2n. Qui est de -2 fois la moyenne au carré, une fois la période (n) est divisé à nouveau. Donc, la formule combinée finale est: (assurez-vous de vérifier la validité de cela, car je suis le dériver hors du sommet de ma tête) Et l'intégration dans votre code devrait ressembler à quelque chose comme ceci: Merci pour cela. Je l'ai utilisé comme base d'une implémentation en C pour le CLR. J'ai découvert que, dans la pratique, vous pouvez mettre à jour tel que newVar est un très petit nombre négatif, et le sqrt échoue. J'ai introduit un if pour limiter la valeur à zéro pour ce cas. Pas idée, mais stable. Cela s'est produit lorsque chaque valeur dans ma fenêtre avait la même valeur (j'ai utilisé une taille de fenêtre de 20 et la valeur en question était de 0,5, au cas où quelqu'un veut essayer de reproduire cela.) Ndash Drew Noakes Jul 26 13 at 15:25 Ive Utilisé commons-math (et a contribué à cette bibliothèque) pour quelque chose de très similaire à cela. Son open-source, le portage de C devrait être facile que le magasin acheté pie (avez-vous essayé de faire une tarte à partir de zéro). Vérifiez-le: commons. apache. orgmathapi-3.1.1index. html. Ils ont une classe StandardDeviation. Aller à la ville a répondu Jan 31 13 à 21:48 You39re bienvenue Désolé, je didn39t ont la réponse you39re cherchez. Je ne voulais certainement pas suggérer de portage de la bibliothèque entière Juste le code minimum nécessaire, qui devrait être de quelques centaines de lignes ou plus. Notez que je n'ai aucune idée de ce que les restrictions légales de copyright apache a sur ce code, donc vous devriez vérifier cela. Si vous le poursuivez, voici le lien. De sorte que la variance FastMath ndash Jason Jan 31 13 à 22:36 Les informations les plus importantes ont déjà été donnés ci-dessus --- mais peut-être cela est toujours d'intérêt général. Une petite bibliothèque Java pour calculer la moyenne mobile et l'écart type est disponible ici: githubtools4jmeanvar La mise en œuvre est basée sur une variante de la méthode de Welfords mentionnée ci-dessus. Des méthodes pour supprimer et remplacer des valeurs ont été dérivées qui peuvent être utilisées pour déplacer des fenêtres de valeurs.


No comments:

Post a Comment