Strategie zur Vorhersage von Gaußschen Wellen


Erstellungsdatum: 2024-01-22 12:37:07 zuletzt geändert: 2024-01-22 12:37:40
Kopie: 0 Klicks: 655
1
konzentrieren Sie sich auf
1617
Anhänger

Strategie zur Vorhersage von Gaußschen Wellen

Überblick

Die Goldwellenprognosestrategie ist eine auf Goldwellen basierende quantitative Handelsstrategie. Sie nutzt die Glatteigenschaften von Goldwellen, um die Preisreihen mehrfach zu schwanken, was zu mehreren Preisreihen nach der Glatteigung führt. Dann werden diese Preisreihen mit einer mehrfachen Anpassung kombiniert, um eine Prognose für zukünftige Preise zu erstellen.

Strategieprinzip

Das Herzstück der Strategie ist der Gauss-Filter-Algorithmus. Ein Gauss-Filter ist ein linearer, glatter Filter, der die Gauss-Funktion als Gewichtung verwendet. In der Strategie wird das Parameter p als die Größe des Filterfensters festgelegt.[i] ist das Ergebnis der i-ten Gauss-Wellen der ursprünglichen Preisreihenfolge.

Die Strategie nutzt die Idee der Recursion. Zuerst wird die erste Filterwelle ret berechnet, indem man die Alpha- und die ursprüngliche Preiserie price verwendet. Dann wird die zweite Filterwelle auf der Grundlage von ret durchgeführt, so dass ret2 wiederholt wird.

Durch mehrfache Filterwellen kann eine Trendentwicklung glatter und harmonisierter erstellt werden. Die Kombination von mehrfacher Anpassung ermöglicht die Vorhersage von kurzfristigen Kursbewegungen.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Verwendung von Hochfrequenzgeräuschen schlichtet die Preise. Sie filtern die Hochfrequenzgeräusche effektiv ab, wodurch die Strategie stabiler wird.

  2. Mehrfache Recursive Filterung. Dies ermöglicht eine bessere Anpassung an die Preisentwicklung und eine bessere Vorhersage.

  3. Die Modellierung von kurzfristigen Preisbewegungen kann dazu dienen, Handelssignale zu erzeugen.

  4. Es wird eine Kombination aus aktuellen und prognostizierten Preisen herangezogen. Die Handelssignale werden direkt mit den Trendprognosen kombiniert, um verpasste Handelschancen zu vermeiden.

  5. Einfache, leicht verständliche und optimierbare Implementierung. Sie kann als Basismodul für Hochfrequenzstrategien und als Erweiterung für andere Analyseindikatoren verwendet werden.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Die Gauss-Filter wirken auf plötzliche Preisänderungen und verpassen möglicherweise kurzfristige Handelsmöglichkeiten.

  2. Es besteht die Gefahr einer Überkonformität bei einer mehrfachen Anpassung. Wenn sich die Preisveränderungsmuster verändern, kann dies zu einer geringeren Prognoseeffektivität führen.

  3. Die Filterfenstergröße und die passenden polynomialen Stufen müssen exakt eingestellt werden.

  4. Die Handelssignale werden nur vom Eröffnungspreis abhängig gemacht. Es ist nicht möglich, auf der Innenplatte zu handeln.

Optimierungsrichtung

Diese Strategie kann optimiert werden durch:

  1. Modelltraining und Schiebefenster-Umschulungsmechanismen werden hinzugefügt. Die Strategieparameter werden dynamisch angepasst, um das Risiko einer Überpassung zu verringern.

  2. Mit mehr Preisindikatoren und Features. Reicher Strategie-Input, um die Prognose stabiler zu machen.

  3. Erhöhung der Stop-Loss-Mechanismen. Setzen Sie ein Maximalverlust-Verhältnis, um extreme Situationen zu vermeiden, die zu erheblichen Schäden führen.

  4. Optimierung der Positionsverwaltung. Dynamische Anpassung der Positionen an die Prognose-Genauigkeit und Schwankungen.

  5. Versuchen Sie, Prognosen auf Basis von Mainstream-Machine-Learning-Modellen zu erstellen. Deep-Learning-Modelle wie LSTM.

Zusammenfassen

Diese Strategie ist im Allgemeinen eine Hochfrequenz-Quantifizierungsstrategie, die Hochfrequenzwellen und Multimodal-Anpassung zur Preisvorhersage verwendet. Sie hat einige Vorteile, aber es gibt auch Raum für Verbesserungen. Durch die Kombination von mehr Merkmalen, die Einführung von dynamischen Komparatoren und Modulen wie Schadensausfallmechanismen kann die Effektivität der Strategie optimiert werden.

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

//@version=2
strategy("Gaussbot v1.0", overlay=true)

p = input(20, minval=1, title="Length")
price = input(open, title="Source")

pi=3.1415926535


w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret=  pow(alfa,4)*price+4*(1-alfa)*nz(ret[1])-6*pow(1-alfa,2)*nz(ret[2])+4*pow(1-alfa,3)*nz(ret[3])-pow(1-alfa,4)*nz(ret[4])
ret2 = pow(alfa,4)*ret+4*(1-alfa)*nz(ret2[1])-6*pow(1-alfa,2)*nz(ret2[2])+4*pow(1-alfa,3)*nz(ret2[3])-pow(1-alfa,4)*nz(ret2[4])
ret3 = pow(alfa,4)*ret2+4*(1-alfa)*nz(ret3[1])-6*pow(1-alfa,2)*nz(ret3[2])+4*pow(1-alfa,3)*nz(ret3[3])-pow(1-alfa,4)*nz(ret3[4])
ret4 = 3*ret-3*ret2+ret3


diff2 = nz(ret[1]) - nz(ret[2]) - (nz(ret[2]) - nz(ret[3]) )  
diff22 = nz(ret2[1]) - nz(ret2[2]) - (nz(ret2[2]) - nz(ret2[3]) ) 
diff23 = nz(ret3[1]) - nz(ret3[2]) - (nz(ret3[2]) - nz(ret3[3]) )  
diff24 = nz(ret4[1]) - nz(ret4[2]) - (nz(ret4[2]) - nz(ret4[3]) )  


longCondition =    price[0] - ret4[1]  > 0
shortCondition =  price[0] - ret4[1] < 0

if(longCondition and shortCondition)
    longCondition = longCondition[1]
    shortCondition = shortCondition[1]
if(longCondition==false and shortCondition==false)
    longCondition = longCondition[1]
    shortCondition = shortCondition[1]



if (longCondition==true and shortCondition == false) 
    strategy.entry("Gaussbot Long", strategy.long )
if (longCondition==false and shortCondition == true)
    strategy.entry("Gaussbot Short", strategy.short)