avatar of 发明者量化-小小梦 发明者量化-小小梦
konzentrieren Sie sich auf Private Nachricht
4
konzentrieren Sie sich auf
1271
Anhänger

Adaptives Handelssystem für gleitende Durchschnittswerte für digitale Währungen und KAMA-Algorithmusanalyse – basierend auf der quantitativen Handelssoftware des Erfinders

Erstellt in: 2019-07-06 16:21:15, aktualisiert am: 2023-10-24 21:42:44
comments   1
hits   5793

[TOC]

Adaptives Handelssystem für gleitende Durchschnittswerte für digitale Währungen und KAMA-Algorithmusanalyse – basierend auf der quantitativen Handelssoftware des Erfinders

Einführung in den adaptiven gleitenden Durchschnitt KAMA

Wie der Name schon sagt, gehört der adaptive gleitende Durchschnitt (KAMA) zur Kategorie der gleitenden Durchschnitte, ist aber im Gegensatz zum traditionellen gleitenden Durchschnitt sehr „intelligent“. Wir wissen, dass gewöhnliche gleitende Durchschnitte viele Mängel haben. Beispielsweise liegt der kurzfristige gleitende Durchschnitt nahe am Preistrend und ist sehr empfindlich, aber es ist leicht, falsche Signale zu erzeugen; der langfristige gleitende Durchschnitt ist sehr genau bei der Beurteilung Trends, aber es dauert oft eine Weile, bis der Markt reagiert.

Die „Intelligenz“ von KAMA liegt in seiner Fähigkeit, seine Sensibilität selbstständig an die aktuellen Marktbedingungen, also die Volatilität, anzupassen. Seine Ausprägung ist: In einem volatilen Markt verlangsamen sich die Veränderungen im KAMA deutlich; wenn ein Trend aufkommt, reagiert er schnell. Beim tatsächlichen Handel besteht sein Vorteil darin, dass er die durch das „tägliche Durcheinander“ verursachten Transaktionskosten reduzieren kann und es Ihnen ermöglicht, rechtzeitig einzusteigen, wenn der Markt anzieht.

KAMA im Chart

Adaptives Handelssystem für gleitende Durchschnittswerte für digitale Währungen und KAMA-Algorithmusanalyse – basierend auf der quantitativen Handelssoftware des Erfinders

KAMA-Berechnungsmethode

  • Richtung (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)
  • Laufruhe (CS) = Effizienz * (Schnell - Langsam) + Langsam
  • Koeffizient (CQ) = Glättung * Glättung
  • KAMA = Exponentiell gewichteter Durchschnitt (Dynamischer gleitender Durchschnitt (Schlusskurs, Koeffizient), 2)

Unter ihnen sind n, n1 und n2 alle Periodenparameter. Standardmäßig beträgt n 10 Perioden, n1 2 Kurzzeitperioden und n2 30 Langzeitperioden. Dies ist auch ein Satz von Parametern, der von Perry Kaufman, dem Autor von KAMA, anerkannt wurde. n wird für die Effizienz der Richtungs- und Volatilitätsberechnung verwendet, n1 und n2 sind die Perioden des schnellen gleitenden Durchschnitts und des langsamen gleitenden Durchschnitts. Theoretisch gilt: Je größer der n1-Parameter, desto glatter ist der KAMA.

Die Berechnungsmethode von KAMA lautet: Berechnen Sie zuerst die Richtung (DIR) und die Volatilität (VIR) und berechnen Sie dann die Effizienz basierend auf dem Verhältnis der beiden. Die Effizienz (ER) ist ein Maß für das Ausmaß der Preisänderung und wird einfach berechnet: Richtung / Volatilität. Das Berechnungsergebnis liegt zwischen 0 und 1. Wenn der ER-Wert näher bei 0 liegt, zeigt dies an, dass sich der Markt in einem volatilen Zustand befindet. Wenn der ER-Wert näher bei 1 liegt, zeigt dies an, dass sich der Markt in einem Trendzustand befindet.

Sobald die Effizienz (ER) berechnet ist, kann die Glättungskonstante (CS) durch Kombination des schnellen und des langsamen gleitenden Durchschnitts abgeleitet werden: Effizienz * (schnell - langsam) + langsam. CS stellt die Geschwindigkeit der Trendbewegung dar. Gemäß der Berechnungsformel von CS können wir feststellen, dass die Änderung von CS immer proportional zur Änderung von ER ist.

Der Koeffizient (CQ) wird dann basierend auf der Glättungsleistung berechnet, mit dem Ziel, den langsamen Zyklusparametern eine wichtigere Rolle bei der Berechnung zu verleihen, was auch ein konservativerer Ansatz ist. Die endgültige Glätte von KAMA wird durch den Koeffizienten (CQ) bestimmt. Bei der Berechnung von KAMA bestimmt der Koeffizient (CQ) die Periodenparameter der letzten beiden gleitenden Durchschnittsglättung, nämlich: exponentiell gewichteter Durchschnitt (dynamischer gleitender Durchschnitt (Schlusskurs, Koeffizient), 2).

So verwenden Sie KAMA

Obwohl die Berechnungsmethode von KAMA sehr kompliziert ist, ähnelt seine Verwendung der von gewöhnlichen gleitenden Durchschnitten. In praktischen Anwendungen kann es nicht nur Markttrends bestimmen, sondern auch für präzise Kauf- und Verkaufspunkte verwendet werden. Da es sehr „smart“ ist, lässt es sich in vielen Handelsstrategien einsetzen und ist sogar bei digitalen Währungen einen Versuch wert.

  • Wenn der Preis höher als KAMA ist und KAMA nach oben zeigt, eröffnen Sie eine Long-Position.
  • Wenn der Preis unter KAMA liegt und KAMA nach unten geht, wird eine Short-Position eröffnet.
  • Wenn der Preis unter KAMA liegt oder KAMA nach unten geht, werden Long-Positionen geschlossen.
  • Wenn der Preis höher als KAMA ist oder KAMA nach oben steigt, wird die Short-Position geschlossen.

Aufbau einer Handelsstrategie basierend auf KAMA

Schritt 1: KAMA berechnen Beachten! Wählen Sie in der oberen linken Ecke die Programmiersprache aus:My语言. Es gibt bereits ein vorgefertigtes KAMA in der Talib-Bibliothek, es hat jedoch nur einen externen Parameter (n) Punkt und n1 und n2 sind standardmäßig auf 2 und 30 eingestellt. Die Strategien in diesem Artikel dienen nur als Referenz. Freunde mit guten praktischen Fähigkeiten können auch ihre eigenen schreiben. Dann kann die Sprache Meine auch direkt mit der Sprache JavaScript gemischt werden. Achten Sie auf den folgenden Code:

%%  // 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的标准格式

Schritt 2: Handelskonditionen berechnen und Order erteilen

%%
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;  // 平空

Schritt 3: Festlegen der Filtermethode für Strategiesignale

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

Strategie-Backtesting

Um näher an der realen Handelsumgebung zu sein, verwenden wir eine Slippage von 2 Sprüngen zum Öffnen und Schließen von Positionen, um beim Backtesting Stresstests durchzuführen. Die Testumgebung ist wie folgt:

  • Börse: BitMEX
  • Markttyp: XBTUSD
  • Handelsinstrument: XBTUSD
  • Zeit: 1. Juli 2017 ~ 1. Juli 2019
  • K-Linien-Zyklus: täglich
  • Slippage: 2 Sprünge zum Öffnen und Schließen von Positionen

Testumgebung Adaptives Handelssystem für gleitende Durchschnittswerte für digitale Währungen und KAMA-Algorithmusanalyse – basierend auf der quantitativen Handelssoftware des Erfinders Umsatzdetails Adaptives Handelssystem für gleitende Durchschnittswerte für digitale Währungen und KAMA-Algorithmusanalyse – basierend auf der quantitativen Handelssoftware des Erfinders Finanzierungskurve Adaptives Handelssystem für gleitende Durchschnittswerte für digitale Währungen und KAMA-Algorithmusanalyse – basierend auf der quantitativen Handelssoftware des Erfinders

Gemessen an den oben genannten Backtest-Ergebnissen hat diese einfache KAMA-Strategie die Erwartungen wirklich erfüllt. Selbst im Super-Bärenmarkt der digitalen Währung im Jahr 2018 zeigte die Kapitalkurve keine große Rückführung, und der Markt befand sich in einer langfristigen volatilen Phase Das ständige Öffnen und Schließen von Positionen führt zu unnötigen Verlusten. Gleichzeitig hat es sich auch im Bullenmarkt 2019 gut entwickelt.

Strategie-Quellcode

Klicken Sie hier, um den vollständigen Strategie-Quellcode zu kopieren, basierend auf meiner Sprache, geeignet für Rohstoff-Futures und digitale Währungen

Zusammenfassen

Eine hervorragende Strategie, die in die Praxis umgesetzt werden kann, muss durch wiederholtes Ausprobieren und Ausprobieren verfeinert worden sein. Die Strategien in diesem Artikel bieten noch viel Raum für Optimierung und Verbesserung, wie z. B. das Hinzufügen bestimmter Filterbedingungen, aktive Gewinnmitnahmen und Stop-Loss Bedingungen usw. Als eine Art gleitender Durchschnitt erbt KAMA die Vor- und Nachteile gewöhnlicher gleitender Durchschnitte und verbessert sie gleichzeitig. In einem unvorhersehbaren Markt ist es selbst bei Festlegung eines „besten Parameters“ schwierig, sich an zukünftige Marktbedingungen anzupassen. Daher kann diese Methode, dem Trend zu folgen und sich an die Marktbedingungen anzupassen, die bessere Wahl sein.