Système de négociation homogène adapté à la monnaie numérique et logiciel de négociation quantitative basé sur l'inventeur de l'algorithme KAMA

Auteur: , Créé: 2019-07-06 16:21:15, Mis à jour: 2023-10-24 21:42:44

[TOC] Je vous en prie.

img

La mise en œuvre de l'adaptation à la ligne moyenne KAMA

Comme son nom l'indique, le KAMA appartient à la catégorie des moyennes mobiles, mais il est très intelligent par rapport aux moyennes mobiles traditionnelles. Nous savons que les moyennes normales ont de nombreux inconvénients, par exemple: les moyennes à court terme sont proches des mouvements de prix, très sensibles, mais produisent facilement de faux signaux; les moyennes à long terme sont très précises dans le jugement des tendances, mais souvent le marché est passé un certain temps avant de réagir.

L'astuce de KAMA est qu'elle peut régler la sensibilité de ses clients en fonction de l'état actuel du marché, c'est-à-dire de la volatilité. Sa forme de manifestation est la suivante: les changements de KAMA sont nettement plus lents dans les marchés turbulents; elle réagit rapidement lorsque la tendance arrive.

KAMA dans le graphique

img

Les méthodes de calcul de KAMA

  • Direction ((DIR) = prix de clôture - prix de clôture n jours avant
  • Taux de volatilité (VIR) = somme (abs) (prix de clôture - prix de clôture du jour de négociation précédent), n)
  • Efficacité (ER) = direction / fréquence de fluctuation
  • Donc la vitesse est égale à 2 / (n1 + 1)
  • La vitesse lente est égale à 2 / (n2 + 1)
  • La vitesse de fonctionnement est la vitesse de fonctionnement de l'appareil.
  • Coefficient (CQ) = décalé * décalé
  • KAMA = moyenne pondérée par indice (mobilité dynamique) (coefficient de clôture), 2)

Par défaut, n, n1, n2 sont les paramètres de cycle, n est le nombre de périodes par défaut 10, n1 est le nombre de périodes courtes et n2 est le nombre de périodes longues. C'est aussi un ensemble de paramètres identifiés par l'auteur Perry Kaufman.

La méthode de calcul de KAMA est la suivante: on calcule d'abord la direction (DIR) et la volatilité (VIR), puis on calcule l'efficacité en proportion des deux; l'efficacité (ER) est la mesure de la variation des prix, et la méthode de calcul est simple: direction/fluctuation. Le résultat est compris entre 0 et 1, où la valeur de l'ER plus proche de 0 indique que le marché est en état de volatilité, et la valeur de l'ER plus proche de 1 indique que le marché est en état de tendance.

Lorsque l'efficience (ER) est calculée, on peut combiner la moyenne rapide et la moyenne lente pour déduire la constante de lissure (CS): l'efficience * (rapide - lent) + la lenteur. CS représente la vitesse à laquelle la tendance fonctionne.

Le coefficient (CQ) est ensuite calculé en fonction du facteur de l'élasticité, dans le but de rendre les paramètres cycliques lents plus importants dans le calcul, ce qui est également une pratique plus conservatrice. Le degré de l'élasticité finale de KAMA est déterminé par le coefficient (CQ), qui détermine les deux derniers paramètres cycliques de l'élasticité horizontale, à savoir: moyenne exponentielle et moyenne pondérée (mobile moyenne dynamique), prix de clôture, coefficient, 2).

Comment utiliser KAMA

Bien que la méthode de calcul de KAMA soit très complexe, son utilisation est similaire à celle d'une ligne moyenne ordinaire et, dans les applications pratiques, elle permet non seulement de juger de la tendance du marché, mais également d'utiliser des points de vente précis. Comme elle est très intelligente, elle peut être utilisée dans de nombreuses stratégies de trading, et même dans les monnaies numériques.

  • Lorsque le prix est supérieur au KAMA et que le KAMA est supérieur, il ouvre plusieurs positions.
  • Lorsque le prix est inférieur au KAMA et que le KAMA est en baisse, la position est ouverte.
  • Lorsque le prix est inférieur à KAMA, ou lorsque KAMA est à la baisse, la plupart des positions sont dégagées.
  • Lorsque le prix est supérieur à KAMA, ou au-dessus de KAMA, la tête blanche se replie.

Construire une stratégie de trading basée sur KAMA

Première étape: calculer KAMAAttention! Dans le coin supérieur gauche, sélectionnez le langage de programmation:My语言Dans la bibliothèque talib, il y a déjà un KAMA prêt à l'emploi, mais il n'a qu'un seul paramètre externe ((n) cycle, n1 et n2 sont déjà par défaut 2 et 30.

%%  // My语言内JavaScript的标准格式
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);  // 获取K线数组
    if (r.length > 140) {  // 过滤K线长度
        var kama = talib.KAMA(r, 140);  // 调用talib库计算KAMA
        return kama[kama.length - 2];  // 返回KAMA的具体数值
    }
    return;
}
%%  // My语言内JavaScript的标准格式

Deuxième étape: calculer les conditions de transaction et passer 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;  // 把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;  // 平空

Troisième étape: définir la stratégie de filtrage des signaux

%%
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;  // 启用一开一平信号过滤机制

Retour sur la stratégie

Afin de nous rapprocher de l'environnement de trading réel, nous avons testé l'environnement en utilisant des glissades de 2 sauts de mise au point pour tester la pression lors de la retrospection:

  • Les échanges: BitMEX
  • Le secteur: XBTUSD
  • Variété de transaction: XBTUSD
  • Temps: du 1er juillet 2017 au 1er juillet 2019
  • Cycle de la ligne K: ligne du jour
  • Points glissants: 2 sauts par position

Environnement de test img Les avantages sont clairs img La courbe de financement img

D'après les résultats de la rétrospective ci-dessus, cette simple stratégie de KAMA n'est pas prometteuse, même si la courbe de fonds n'a pas connu de retrait majeur dans le superbe marché des ours en 2018 et que le marché est en période de turbulence à long terme, et n'a pas été repensé, ce qui a causé des pertes inutiles.

Le code source de la stratégie

Cliquez pour copier le code source de la stratégie complète, basée sur My language, pour les futures sur produits et les monnaies numériques

Résumé

Une bonne stratégie qui peut fonctionner en réalité doit avoir été minutieusement élaborée, et il y a encore beaucoup de marge de manœuvre pour optimiser les améliorations, comme l'ajout de certaines conditions de filtrage, des conditions d'arrêt et de perte proactives, etc. En tant que ligne uniforme, KAMA a hérité des avantages et des inconvénients de la ligne uniforme, tout en faisant des hausses. Dans un marché incertain, il est difficile de fixer le meilleur paramètre de la pile pour s'adapter à l'avenir.


Relationnée

Plus de

- Je ne sais pas.Comment écrire le code de la dernière étape de kama? Kama = moyenne pondérée d'indices (mobilité moyenne) (prix de clôture, coefficient), 2) c'est ça. J'ai cherché quelque chose qui s'écrit Kama = coefficient précédent de Kama + coefficient * (prix actuel - précédent de Kama).