Introduction de la moyenne mobile adaptative KAMA

Auteur:La bonté, Créé: 2019-07-24 14:09:06, mis à jour: 2023-11-08 20:42:23

img

Comme son nom l'indique, la moyenne mobile (KAMA) appartient à la catégorie des moyennes mobiles, mais contrairement à la moyenne mobile traditionnelle, elle est beaucoup plus intelligente que le MA normal. Nous savons que le MA présente de nombreuses lacunes. Par exemple, la moyenne mobile à court terme est proche de la tendance des prix, ce qui est très sensible, mais il est facile de produire de faux signaux. La moyenne mobile à long terme est très précise dans la capture de la tendance, mais réagit souvent très lentement lorsque le prix du marché a changé pendant un certain temps.

La "intelligence" du KAMA se reflète dans le fait qu'il peut être basé sur l'état actuel du marché, c'est-à-dire la volatilité, pour ajuster la sensibilité.

Les avantages sont les suivants: il peut réduire les coûts de transaction causés par les mouvements de prix dans la journée, et peut suivre la tendance à temps lorsque le marché décolle.

KAMA dans le graphique

img

Méthode de calcul KAMA

  • Direction (DIR) = prix de clôture - prix de clôture avant n jours
  • Volatilité (VIR) = somme ((abs (prix de clôture - prix de clôture de la journée de négociation précédente), n)
  • Efficacité (ER) = direction / volatilité
  • Rapide = 2 / (n1 + 1)
  • Lente = 2 / (n2 + 1)
  • Lisse (CS) = efficacité * (rapide - lent) + lent
  • Coefficient (CQ) = doux * doux
  • KAMA = moyenne pondérée exponentiellement (moyenne mobile dynamique (prix de clôture, coefficient), 2)

Par défaut, le nombre de cycles n est de 10, n1 est le nombre de cycles à court terme est de 2 et n2 est le nombre de cycles à long terme est de 30.

Le KAMA est calculé en calculant d'abord la direction (DIR) et la volatilité (VIR), puis en calculant l'efficacité en proportion de ces deux. L'efficacité (ER) est une mesure du degré de changement de prix et est calculée de manière simple: direction / volatilité. Le résultat du calcul se situe entre 0 et 1. Lorsque la valeur de l'ER est plus proche de 0, le marché est dans un état d'oscillation. Lorsque la valeur de l'ER est plus proche de 1, le marché est dans un état de tendance.

Lors du calcul de l'efficacité (ER), la constante d'adoucissement (CS) peut être obtenue en combinant la moyenne mobile rapide et la moyenne mobile lente:

Efficacité * (rapide - lent) + lent

CS représente la vitesse de l'opération de tendance. Selon la formule de calcul de CS, nous pouvons trouver que le changement de CS est toujours proportionnel au changement de ER.

Ensuite, le coefficient (CQ) est calculé en fonction de la puissance lissée, et le but est de rendre le paramètre de cycle lent plus important dans le calcul, qui est également une approche plus prudente.

Dans le calcul de KAMA, le coefficient (CQ) détermine les paramètres périodiques des deux derniers lissages de la moyenne mobile, à savoir: moyenne pondérée exponentielle (moyenne mobile dynamique (prix de clôture, coefficient), 2).

Comment utiliser KAMA

Bien que la méthode de calcul de KAMA soit très compliquée, la méthode d'utilisation est similaire à la moyenne mobile ordinaire. Dans les applications pratiques, elle peut non seulement juger de la tendance du marché, mais peut également être utilisée pour des points de trading précis.

  • Lorsque le prix est supérieur à KAMA et que KAMA est en hausse, la position longue est ouverte.
  • Lorsque le prix est inférieur à KAMA et que KAMA est en baisse, la position courte est ouverte.
  • Lorsque le prix est inférieur à KAMA, ou KAMA est en baisse, la position longue est fermée.
  • Lorsque le prix est supérieur à KAMA, ou KAMA est en hausse, la position courte est fermée.

Construire une stratégie commerciale basée sur le KAMA

Étape 1: calculer le KAMA

Notez que dans le coin supérieur gauche, veuillez sélectionner le langage de programmation: Mon langage. Il y a déjà un KAMA prêt à l'emploi dans la bibliothèque talib, mais il n'a qu'un seul cycle de paramètres externes (n), et n1 et n2 sont par défaut 2 et 30.

Les stratégies de cet article sont uniquement utilisées à titre de référence. Les lecteurs ayant de fortes capacités de programmation peuvent écrire leurs propres.

%% // Standard format for JavaScript within My language
scope.KAMA = function() {
    var r = _C(exchange.GetRecords); // Get the K line array
    if (r.length > 140) { // filter the length of the K line
        var kama = talib.KAMA(r, 140); // Call talib library to calculate KAMA
        Return kama[kama.length - 2]; // return the specific value of KAMA
    }
    Return;
}
%% // Standard format for JavaScript within My language

Étape 2: calculer les conditions de négociation et passer une commande

%%
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);
    if (r.length > 140) {
        var kama = talib.KAMA(r, 140);
        Return kama[kama.length - 2];
    }
    Return;
}
%%

K^^KAMA; // Print KAMA on the chart
A:CLOSE; // print the closing price on the chart

K > REF(K, 1) && CLOSE > K,BK; // Open long position
K < REF(K, 1) && CLOSE < K,SK; // Open short position
K < REF(K, 1) || CLOSE < K,SP; // close long position
K > REF(K, 1) || CLOSE > K,BP; // close short position

Étape 3: définir la méthode de filtrage des signaux stratégiques

%%
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);
    if (r.length > 140) {
        var kama = talib.KAMA(r, 140);
        Return kama[kama.length - 2];
    }
    Return;
}
%%

K^^KAMA;
A:CLOSE;

K > REF(K, 1) && CLOSE > K,BK;
K < REF(K, 1) && CLOSE < K,SK;
K < REF(K, 1) || CLOSE < K,SP;
K > REF(K, 1) || CLOSE > K,BP;

AUTOFILTER; // Enable one open and one close signal filtering mechanism

Test de retour de la stratégie

Afin de nous rapprocher de l'environnement de négociation réel, nous avons utilisé les 2 pips de glissement pour tester la pression dans le commerce réel.

  • Échange: BitMEX
  • Variété de trading: XBTUSD
  • Temps: du 1er juillet 2017 au 1er juillet 2019
  • Cycle de ligne K: ligne quotidienne
  • Le dérapage: 2 pips pour les positions d'ouverture et de clôture

Environnement de contre-essai

img

Détails des bénéfices

img

Curve des fonds

img

D'après les résultats des backtest ci-dessus, cette simple stratégie KAMA est vraiment à la hauteur des attentes. Même dans le marché super-grand ours de la crypto-monnaie en 2018, la courbe de capital n'a pas montré de retracement important, et il n'y avait pas de position ouverte et fermée à plusieurs reprises dans la période de choc à long terme sur le marché causant des pertes inutiles.

Code source de la stratégie

Pour plus d'informations, veuillez nous contacter à:https://www.fmz.com/strategy/155663

Résumé

Une excellente stratégie qui peut être une stratégie ferme doit être affinée. Les stratégies de cet article ont beaucoup d'espace pour optimiser et améliorer, comme l'ajout de certaines conditions de filtrage, de conditions de stop-loss et de conditions de stop-loss actives. En tant que sorte de moyenne mobile, KAMA hérite des avantages et des inconvénients des moyennes mobiles ordinaires et en même temps sublime. Dans un marché imprévisible, même si vous fixez un paramètre best, il est difficile de s'adapter au marché futur. Par conséquent, cette méthode de changement avec la tendance et de changement avec le marché peut être un meilleur choix.


Plus de