Eine Bandpassfilter-Inversionsstrategie


Erstellungsdatum: 2024-01-24 15:28:26 zuletzt geändert: 2024-01-24 15:28:26
Kopie: 0 Klicks: 696
1
konzentrieren Sie sich auf
1617
Anhänger

Eine Bandpassfilter-Inversionsstrategie

Überblick

Die Bandpass-Reflexions-Strategie ist eine auf Bandpass-Filtern basierende Aktienhandelsstrategie. Sie simuliert einen Bandpass-Filter, indem sie eine cos- und cos-Funktion erstellt, um ein Kauf- und Verkaufssignal zu erzeugen. Die Strategie wird umgekehrt betrieben, d.h. gekauft oder verkauft, wenn die Ausgabe des Filters über oder unter einem bestimmten Trigger liegt.

Strategieprinzip

Im Zentrum der Strategie steht der Bau eines Bandbreitungsfilters BP, der aus zwei Parametern besteht: der Zentralfrequenz und der Bandbreite. Die Zentralfrequenz bestimmt die Hauptphase, die der Filter durchläuft, und die Bandbreite bestimmt den Bereich, in dem er durchläuft. Diese Parameter bestimmen die Übertragungsmerkmale des Filters.

Die Strategie basiert auf folgenden Variablen:

  • Length: Zentrum des Filters
  • Delta: Bandbreitenparameter
  • Beta: Faktor im Zusammenhang mit der zentralen Frequenz
  • Gamma: Faktor für die Bandbreite
  • Alpha: Zwischenvariablen im Zusammenhang mit Beta, Gamma

Auf diese Variablen basiert die Strategie auf einem Phase-IIR-Filter:

BP = 0.5(1 - alpha)(xPrice - xPrice[2]) + beta*(1 + alpha)*nz(BP[1]) - alpha*nz(BP[2])

Wenn BP höher oder niedriger als TriggerLevel ist, wird die Strategie in die entgegengesetzte Richtung ausgeführt.

Analyse der Stärken

Die wichtigsten Vorteile dieser Strategie sind:

  1. Mit einem Bandpass-Filter können sowohl Hoch- als auch Niederfrequenzgeräusche ausgeschaltet und nur die mittelfrequenten Signalzyklen von Useful extrahiert werden, um den Signal-Lärm-Verhältnis zu verbessern.
  2. Das ist relativ einfach und intuitiv, nur ein paar Parameter müssen angepasst werden, um sich an unterschiedliche Zyklen und Marktbedingungen anzupassen.
  3. Mit einer Umkehrstrategie können kurzfristige Preisumkehrsereignisse zeitnah erfasst und nach Gewinnschnellen Positionen abgelöst werden, um das Risiko einer Position zu verringern.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Die Parameter des Filters mit Durchlässigkeit müssen je nach Zyklus und Marktumgebung angepasst werden. Wenn sie nicht richtig eingestellt sind, werden Handelschancen verpasst oder mehr falsche Signale erzeugt.
  2. Eine Umkehrstrategie kann leicht durch eine illusorische Umkehr beeinflusst werden, und wenn die Umkehr nicht stattfindet, kann die Preisentwicklung in die ursprüngliche Richtung weitergehen und zu Verlusten führen.
  3. Es ist möglich, dass die Transaktionsfrequenz hoch ist, und es ist wichtig, die Überoptimierung zu vermeiden und die Transaktionskosten zu kontrollieren.

Um diese Risiken zu verringern, können folgende Optimierungsmethoden in Betracht gezogen werden:

  1. Anpassungsfilter, die die Parameter automatisch an Marktveränderungen anpassen.
  2. Der Trend-Filter wird verwendet, um Rückwärtspositionen zu vermeiden.
  3. Optimierung der Parameterkombinationen, um die Strategie zu parametrieren und an weitere Marktbedingungen anzupassen.

Optimierungsrichtung

Die Strategie kann vor allem in folgenden Bereichen optimiert werden:

  1. Zyklische und parametrische Anpassung: Anpassung von Parametern wie Length, Delta usw. in Echtzeit an die Preisentwicklung in verschiedenen Zyklen und in der jüngsten Zeitfenster, so dass der Filter dynamisch an Veränderungen der Marktumgebung angepasst wird.

  2. Kombination von Trendbeurteilung: Auf der Grundlage eines Filters mit Durchlässigkeit, um die Richtung der Trends mit technischen Indikatoren wie MACD, MA zu bestimmen, um eine Gegenposition zu vermeiden.

  3. Multiple-Time-Frame-Kombination: Strategie für die Bereitstellung von Signalen in mehreren Zeiträumen (z. B. 5 Minuten, 15 Minuten, 30 Minuten usw.), Signalüberprüfung zwischen verschiedenen Zeiträumen und Verbesserung der Signalgenauigkeit.

  4. Stop-Loss-Mechanismus: Setzen Sie eine angemessene Stop-Loss-Position, aktivieren Sie die Stillstands-Stopp-Position, wenn der Verlust den Stop-Loss-Punkt erreicht hat, und kontrollieren Sie effektiv die Größe des Einzelschädels.

Durch die Optimierung der oben genannten Punkte können die Stabilität, Anpassungsfähigkeit und Profitabilität der Strategie erheblich verbessert werden.

Zusammenfassen

Die Bandbreiten-Umkehrstrategie besteht darin, einen Bandbreiten-Filter zu bauen, ein nützliches Mittelfrequenzsignal zu extrahieren und kurzfristige Umkehrchancen des Preises zu erfassen, wenn der Ausgang des Filters auf der Triggerebene ist. Die Strategie ist relativ einfach und kann durch Parameteroptimierung an verschiedene Marktumgebungen angepasst werden. Die wichtigsten Optimierungsrichtungen umfassen die Anpassung des Filters, Trends, Urteile, Mehrzeitrahmenkombinationen und Stop-Loss-Mechanismen.

Strategiequellcode
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/2016
// The related article is copyrighted material from
// Stocks & Commodities Mar 2010
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Reversed Strategy")
Length = input(20, minval=1)
Delta = input(0.5)
TriggerLevel = input(0)
xPrice = hl2
hline(TriggerLevel, color=blue, linestyle=line)
beta = cos(3.14 * (360 / Length) / 180)
gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2])
pos = iff(BP > TriggerLevel, -1,
	   iff(BP <= TriggerLevel, 1, nz(pos[1], 0))) 
if (pos == 1) 
    strategy.entry("Long", strategy.long)
if (pos == -1)
    strategy.entry("Short", strategy.short)	    
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(BP, color=red, title="Bandpass Filter Strategy")