Einführung des adaptiven gleitenden Durchschnitts KAMA

Schriftsteller:Gutes, Erstellt: 2019-07-24 14:09:06, aktualisiert: 2023-11-08 20:42:23

img

Wie der Name schon sagt, gehört der gleitende Durchschnitt (KAMA) zur Kategorie der gleitenden Durchschnitte, aber im Gegensatz zum traditionellen gleitenden Durchschnitt ist er viel smarter als der normale MA. Wir wissen, dass der MA viele Mängel aufweist. Zum Beispiel ist der kurzfristige gleitende Durchschnitt dem Preistrend nahe, was sehr empfindlich ist, aber es ist leicht, falsche Signale zu erzeugen. Der langfristige gleitende Durchschnitt ist sehr genau bei der Trendfassung, reagiert aber oft sehr langsam, wenn sich der Marktpreis für eine Weile bewegt hat.

KAMAs smartness spiegelt sich in der Tatsache wider, dass es sich auf den aktuellen Marktzustand, d.h. die Volatilität, stützen kann, um die Empfindlichkeit anzupassen.

Die Vorteile bestehen darin, dass sie die Transaktionskosten, die durch die Preisbewegungen am Tag verursacht werden, reduzieren und rechtzeitig in den Trend treten kann, wenn der Markt abhebt.

KAMA im Diagramm

img

Berechnungsmethode KAMA

  • Kurs (DIR) = Schlusskurs - Schlusskurs vor n Tagen
  • Volatilität (VIR) = Summe ((abs (Schlusskurs - Schlusskurs des vorherigen Handelstages), n)
  • Effizienz (ER) = Richtung / Volatilität
  • Schnell = 2 / (n1 + 1)
  • Langsam = 2 / (n2 + 1)
  • Schlanke (CS) = Effizienz * (schnell - langsam) + langsam
  • Koeffizient (CQ) = glatt * glatt
  • KAMA = exponentiell gewichteter Durchschnitt (dynamischer gleitender Durchschnitt (Schlusskurs, Koeffizient) 2)

Dazu gehören n, n1 und n2 als periodische Parameter. Standardmäßig beträgt die Anzahl der n Zyklen 10, n1 ist die Anzahl der kurzfristigen Zyklen 2 und n2 ist die Anzahl der langfristigen Zyklen 30. Dies ist auch eine Reihe von Parametern, die von KAMA-Autor Perry Kaufman vereinbart wurden.

KAMA wird berechnet, indem zuerst die Richtung (DIR) und die Volatilität (VIR) berechnet und dann die Effizienz proportional zu diesen beiden berechnet wird. Effizienz (ER) ist ein Maß für den Grad der Preisänderung und wird auf einfache Weise berechnet: Richtung / Volatilität. Das Berechnungsresultat liegt zwischen 0 und 1. Wenn der Wert von ER näher an 0 liegt, befindet sich der Markt in einem Schwingungszustand. Wenn der Wert von ER näher an 1 liegt, befindet sich der Markt in einem Trendzustand.

Bei der Berechnung des Wirkungsgrads (ER) kann die Glättungskonstante (CS) durch Kombination des schnellen gleitenden Durchschnitts und des langsamen gleitenden Durchschnitts abgeleitet werden:

Effizienz * (schnell - langsam) + langsam

CS stellt die Geschwindigkeit der Trendoperation dar. Gemäß der Berechnungsformel von CS können wir feststellen, dass die Veränderung von CS immer proportional zur Veränderung von ER ist.

Dann wird der Koeffizient (CQ) nach der glatten Leistung berechnet, und der Zweck besteht darin, den Parameter des langsamen Zyklus in der Berechnung eine wichtigere Rolle zu spielen, was ebenfalls ein konservativerer Ansatz ist.

Bei der Berechnung von KAMA bestimmt der Koeffizient (CQ) die periodischen Parameter der letzten beiden gleitenden Durchschnittsgleitungen, nämlich: exponentieller gewichteter Durchschnitt (dynamischer gleitender Durchschnitt (Schlusskurs, Koeffizient), 2).

Wie wird KAMA angewendet

Obwohl die Berechnungsmethode von KAMA sehr kompliziert ist, ist die Verwendungsmethode dem gewöhnlichen gleitenden Durchschnitt ähnlich. In praktischen Anwendungen kann sie nicht nur den Markttrend beurteilen, sondern auch für genaue Handelspunkte verwendet werden. Weil sie sehr smart ist, kann sie in vielen Handelszielen verwendet werden, sogar auf dem Kryptowährungsmarkt.

  • Wenn der Preis größer als KAMA ist und KAMA steigt, wird die Long-Position eröffnet.
  • Wenn der Preis unter dem KAMA liegt und der KAMA sinkt, wird die Shortposition eröffnet.
  • Wenn der Preis unter dem KAMA liegt oder KAMA nach unten geht, wird die Long-Position geschlossen.
  • Wenn der Preis höher als KAMA ist oder KAMA steigt, wird die Short-Position geschlossen.

Aufbau einer auf KAMA basierenden Handelsstrategie

Schritt 1: Berechnung der KAMA

Bitte beachten Sie, dass in der oberen linken Ecke die Programmiersprache ausgewählt wird: Meine Sprache. Es gibt bereits eine fertige KAMA in der Talib-Bibliothek, aber sie hat nur einen externen Parameter (n) -Zyklus und n1 und n2 sind standardmäßig auf 2 und 30 festgelegt.

Die Strategien in diesem Artikel werden nur als Referenzen verwendet. Leser mit starken Programmierfähigkeiten können ihre eigenen schreiben. Während des My Language Programming-Prozesses können wir auch mit der JavaScript-Sprache mischen, achten Sie auf den folgenden Code:

%% // 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

Schritt 2: Berechnung der Handelsbedingungen und Auftragserteilung

%%
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

Schritt 3: Einstellung der Strategie-Signalfiltermethode

%%
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

Strategie-Backtest

Um uns der realen Handelsumgebung zu nähern, haben wir die 2 Pips des Rutsches verwendet, um den Druck im tatsächlichen Handel zu testen.

  • Börse: BitMEX
  • Handelssortiment: XBTUSD
  • Zeit: 1. Juli 2017 bis 1. Juli 2019
  • K-Linienzyklus: tägliche Linie
  • Schlüpfen: 2 Pips für die Eröffnung und Schließung von Positionen

Umgebung der Rückprüfung

img

Gewinndetails

img

Fondskurve

img

Aus den oben genannten Rücktest-Ergebnissen geht hervor, dass diese einfache KAMA-Strategie wirklich den Erwartungen gerecht wird. Selbst im supergroßen Bärenmarkt der Kryptowährung im Jahr 2018 zeigte die Kapitalkurve keinen großen Rückschritt und es gab keine wiederholte offene und geschlossene Position in der langfristigen Schockperiode auf dem Markt, die unnötige Verluste verursachte. Später gibt es eine sehr gute Performance auf dem Bullenmarkt im Jahr 2019.

Strategie-Quellcode

Weitere Informationen erhalten Sie unter:https://www.fmz.com/strategy/155663

Zusammenfassung

Eine ausgezeichnete Strategie, die eine feste Strategie sein kann, muss poliert werden. Die Strategien in diesem Artikel haben viel Raum zur Optimierung und Aktualisierung, wie z.B. das Hinzufügen bestimmter Filterbedingungen, aktiver Stop-Loss und Stop-Loss-Bedingungen. Als eine Art gleitender Durchschnitt erbt KAMA die Vor- und Nachteile von gewöhnlichen gleitenden Durchschnitten und sublimiert gleichzeitig. In einem unvorhersehbaren Markt, selbst wenn Sie einen best Parameter festlegen, ist es schwierig, sich an den zukünftigen Markt anzupassen. Daher kann diese Methode, sich mit dem Trend zu ändern und mit dem Markt zu ändern, eine bessere Wahl sein.


Mehr