Quantitative Handelsstrategie basierend auf linearer Regression RSI


Erstellungsdatum: 2024-01-24 11:35:19 zuletzt geändert: 2024-01-24 11:35:19
Kopie: 0 Klicks: 770
1
konzentrieren Sie sich auf
1617
Anhänger

Quantitative Handelsstrategie basierend auf linearer Regression RSI

Überblick

Die Strategie basiert auf einer linearen Regression des RSI-Indikators. Die Strategie erzeugt ein Kauf- und Verkaufssignal durch die Berechnung der linearen Regression des RSI und der EMA. Die Strategie bietet gleichzeitig zwei logische Kaufoptionen, die je nach Bedarf ausgewählt werden können.

Strategieprinzip

Die Strategie berechnet zunächst eine lineare Regression mit einer Länge von 200 Zyklen und berechnet dann den RSI mit einer Länge von 21 Zyklen. Daraufhin berechnet sie einen EMA mit einer Länge von 50 Zyklen. Wenn der RSI über die EMA ein Kaufsignal erzeugt und wenn der RSI unter die EMA ein Verkaufssignal erzeugt, wird ein Gewinn erzielt.

Die Strategie bietet zwei Logiken für den Kauf:

  1. Kauf bei EMA auf dem RSI
  2. Kaufen Sie, wenn der RSI über der EMA liegt und über der Überkauflinie liegt

Es ist möglich, die Kauflogik zu wählen, je nachdem, wie sich der Markt entwickelt.

Analyse der Stärken

Diese Strategie kombiniert die Vorteile des linearen Rückgangs RSI und EMA, um den teilweisen Preisrauschen zu beseitigen und zu einem zuverlässigeren Handelssignal zu führen.

Der lineare Rückgang des RSI ist ein besserer Trender und die EMA hilft, Wendepunkte zu finden. Die Kombination der beiden kann in Trends nach Wendechancen suchen und eine Mean Reversion Strategie bilden.

Die Strategie bietet zwei Optionen für die Kauflogik, die flexibler an die Marktphase angepasst werden können. Zum Beispiel kann die erste Logik ausgewählt werden, wenn ein Trend sichtbar ist, und die zweite Logik kann ausgewählt werden, wenn ein Schock vorhanden ist.

Risikoanalyse

Die Strategie hängt hauptsächlich von der Beziehung zwischen dem RSI und der EMA ab, und wenn sich die Beziehung zwischen den beiden ändert, kann dies zu Fehlsignalen führen. Dies ist der Hauptrisikopunkt.

Darüber hinaus kann der RSI und die EMA als Indikator selbst eine gewisse Verzögerung aufweisen, was zu einer gewissen Verzögerung bei Kauf und Verkauf führen kann, die den Wendepunkt nicht perfekt erfassen kann. Dies birgt auch ein gewisses Maß an tatsächlichen Risiken.

Um das Risiko zu verringern, kann die Länge der RSI und EMA angepasst werden, um die Kombination zwischen den beiden zu optimieren. Diese Forex-Einheit muss auch angemessen kontrolliert werden, um zu große Einzelschäden zu vermeiden.

Optimierungsrichtung

Die Strategie kann in folgenden Richtungen optimiert werden:

  1. Optimieren Sie die Längenparameter der linearen Regression RSI und EMA, um die optimale Kombination zu finden
  2. Hinzufügen von Filtern für andere Indikatoren wie MACD, Brinband usw. zur Verbesserung der Signalqualität
  3. Anpassung der Positionsverwaltung in Verbindung mit Volatilitätsindikatoren
  4. Automatische Optimierung von Parametern mit Hilfe von maschinellen Lernverfahren

Zusammenfassen

Die Strategie basiert auf der linearen Rückkehr RSI und EMA und hat eine Mean Reversion Strategie entwickelt, um Reversionschancen innerhalb des Bremsbereichs durch die Kreuzung von RSI und EMA zu finden. Die Strategie bietet gleichzeitig zwei Kauflogikoptionen, die flexibel auf verschiedene Marktbedingungen reagieren können. Insgesamt kombiniert die Strategie die Vorteile mehrerer Indikatoren, um Reversionschancen effektiv zu finden.

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

//@version=4
strategy("Linear RSI")

startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() => true

//inputs
length = input(defval=200, minval=1, title="LR length")
length2 = input(defval=21, minval=1, title="RSI length")
ema_fast = input(defval=50, minval=1, title="EMA")
lag = 0

overBought = input(50)
overSold = input(50)


//rsi
src = close
Lr = linreg(src, length, lag)
rsi = rsi(Lr, length2)
ema = ema(rsi, ema_fast)

plot(rsi, color = rsi > overBought ? color.green : rsi < overSold ? color.red : color.silver)
plot(overBought, color=color.purple)
plot(overSold, color=color.purple)
plot(ema, color=color.blue)

first_type = input(true, title="Use first logic?")
second_type =  input(false, title="Use second logic?")

long_condition = (first_type ? crossover(rsi, ema) and _testPeriod() : false) or (second_type ? rsi > ema and rsi > overBought and _testPeriod() : false)
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition = crossunder(rsi, ema)
strategy.close('BUY', when=short_condition)