Kombinationsstrategie für Umkehr- und lineare Regressionsachsenabschnitte


Erstellungsdatum: 2023-09-26 15:56:48 zuletzt geändert: 2023-09-26 15:56:48
Kopie: 1 Klicks: 703
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie nutzt eine Kombination aus einer Multifaktor-getriebenen Trading-Strategie, die eine Kombination aus einer 123 Reversal-Strategie und einer Linear-Return-Cut-Strategie ermöglicht. Die 123 Reversal-Strategie beurteilt die Preisbeziehungen der letzten zwei Handelstage in Kombination mit dem Stoch-Indikator, um ein Reversal-Signal zu ermitteln. Die Linear-Return-Cut-Strategie nutzt eine Linear-Return-Analyse, um die Beziehung zwischen dem Preis und der Trendlinie zu ermitteln und einen Handel zu erzeugen.

Strategieprinzip

123 Umkehrung

Die Strategie basiert auf folgenden Prinzipien:

  1. Wenn die Relation zwischen den letzten beiden Handelstagen und dem heutigen Schlusskurs höher als der von gestern ist und die Stoch-Schnelllinie unter der Schnelllinie liegt, wird ein bullishes Umkehrsignal angenommen.

  2. Wenn die Relation zwischen den beiden letzten Handelstagen und dem heutigen Schlusskurs niedriger als der von gestern ist und die Stoch-Schnelllinie höher als die Schnelllinie ist, wird ein Rückschlagsignal für den Rückgang angenommen.

Die Regeln für die Beurteilung sind:

  • Wenn der heutige Schlusskurs > der gestrige Schlusskurs und die Stoch-Schnelllinie eingestellt sind, wird ein Kaufsignal erzeugt

  • Wenn der heutige Schlusskurs < der gestrige Schlusskurs und die Stoch-Schnelllinie > die Stoch-Schnelllinie und die Stoch-Schnelllinie < eingestellt sind, wird ein Verkaufssignal erzeugt

Die Strategie erfordert die Einstellung von Stoch-Indikatorparametern, darunter: Berechnung von Stochs K-Zykluslänge, Stochs Schnell-Zyklus KSmoothing, Stochs Langzeit-Zyklus DLength, Stochs Schnell-Durchschnitts-Level.

Lineare Regression und Abgrenzung

Die Strategie basiert auf einer linearen Regressionsanalyse, um die Beziehung zwischen dem Preis und der linearen Regressions-Trendlinie zu bestimmen.

  • Wenn der Schlusskurs größer ist als die lineare Rückkehrs-Schnittlinie, erzeugt es ein Kaufsignal

  • Wenn der Schlusskurs kleiner ist als die lineare Rückschlussschnittlinie, erzeugt dies ein Verkaufssignal.

Die Strategie erfordert die Einrichtung eines linearen Regressionszyklus LengthLRI sowie eine lineare Regressions-Eingabe der Datenquelle xSeria。

Kombinationsstrategien

Diese Kombinationsstrategie benötigt ein Buy/Sell-Signal, das sowohl die 123 Reversal-Strategie als auch die Linear-Return-Cut-Out-Strategie erfüllt, um einen tatsächlichen Handelsbefehl zu erzeugen, der die falschen Signale wirksam beseitigt und die Handelswirksamkeit verbessert.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Multi-Faktor-Antrieb, um falsche Signale effektiv zu filtern und die Signalqualität zu verbessern

Die Kombination von zwei verschiedenen Arten von Strategien, die beide Strategien gleichzeitig erzeugen müssen, um tatsächlich zu bestellen. Diese Multi-Factor-Verifizierung kann die falschen Signale, die eine Strategie gelegentlich erzeugt, filtern, unnötige Transaktionen reduzieren und die Signalqualität effektiv verbessern.

  1. Der Preis-Trend-Betrieb in Echtzeit überwachen, um nicht eingesperrt zu werden

Die lineare Regressionsschnittstelle kann die Beziehung zwischen dem Preis und der Trendlinie in Echtzeit widerspiegeln und die Strategie rechtzeitig auffordern, die Richtung der Position zu ändern, wenn der Preis stark von der Trendlinie abweicht. So können Verluste rechtzeitig gestoppt werden, um nicht in den historischen Trends gefangen zu sein.

  1. Trends und Umkehrmöglichkeiten

Die lineare Regression-Strategie ist besser in der Identifizierung von Trend-Kauf- und Verkaufspunkten. Die 123 Reversal-Strategie konzentriert sich auf die Identifizierung von Wendepunkten. Beide Strategien kombinieren die Vorteile von Trend-Handel und Wendehandel.

  1. Optimierungskombinationen mit individuell angepassten Strategieparametern

Beide Strategien bieten die Möglichkeit, bestimmte Parameter anzupassen, die für verschiedene Sorten und Trends optimiert werden können, um die Wirksamkeit der Kombinationsstrategie zu optimieren.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Multi-Faktor-Driven könnten einige Chancen verpassen

Wenn die Handelssignale für beide Strategien eingehalten werden müssen, wird die Möglichkeit verpasst, einen Teil des Gewinns aus einer einzigen Strategie zu erzielen. Wenn die Wirksamkeit einer Strategie geschwächt wird, wird die Effektivität des gesamten Handels beeinträchtigt.

  1. Lineare Regression ist rückständig.

Lineare Regression erfordert eine gewisse Anzahl von historischen Daten zur Berechnung und kann nicht in Echtzeit auf unvorhergesehene Ereignisse reagieren. Es gibt eine gewisse Verzögerung. Wenn der Preis stark springt, benötigt die lineare Regression eine gewisse Zeit, um die Trendlinie anzupassen.

  1. Die Optimierung der Parameter ist notwendig.

Beide Strategien erfordern die Auswahl geeigneter Parameter, die für bestimmte Arten unabhängig angepasst werden müssen. Wenn die Parameter nicht richtig ausgewählt werden, wird die Wirkung der Strategie stark reduziert.

Die Risiken können durch folgende Maßnahmen verringert werden:

  1. Um zu vermeiden, dass zu viele Chancen verpasst werden, sollten die Triggerbedingungen für die Kombinationssignale entsprechend gelockert werden.

  2. Alternative lineare Regression in Kombination mit Trendindikatoren, um eine Trendbeurteilung in Echtzeit zu erhalten

  3. Mit Hilfe von Methoden wie maschinellem Lernen unterstützt die Optimierung der Parameter und verbessert die Parameterwahl

Optimierungsrichtung

Die Strategie kann weiter optimiert werden, indem:

  1. Parameteroptimierung mit Hilfe von maschinellen Lernverfahren

Es ist möglich, historische Daten zu sammeln, Parameter-Optimierungsziele zu entwerfen und die optimale Parameterkombination mit maschinellen Lernalgorithmen wie genetischen Algorithmen, Bayesian Optimization usw. zu suchen.

  1. Erhöhung der Stop-Loss-Mechanismen

Es können Stop-Loss-Regeln in Kombination mit ATR, Trend Indicators usw. eingerichtet werden, um den maximalen Verlust eines einzelnen Handels zu kontrollieren.

  1. Optimierung der Markteintrittslogik

Auf der Grundlage von Handelssignalen können zusätzliche Bedingungen für die Markteintritt, wie z. B. ein Gleichgewichtfilter, Brin-Band-Urteil, hinzugefügt werden, um die Häufigkeit der Positionsanpassung zu verringern und eine Deckung zu vermeiden.

  1. Zusammen mit Sentiments Analysis

Mit Hilfe von Technologien zur natürlichen Sprache (Natural Language Processing) kann man die Stimmung von Marktteilnehmern beurteilen und dabei helfen, Entscheidungen zu treffen.

  1. Hinzufügen eines Moduls zur Vorhersage von maschinellem Lernen

Die Verwendung von Deep-Learning-Modellen wie LSTM, GRU und anderen, um Preise vorherzusagen und als wichtige Referenz für strategische Entscheidungen zu verwenden.

Zusammenfassen

Durch die Kombination von 123 Umkehrstrategie und Linear-Return-Cut-Out-Strategie ermöglicht die Strategie einen multifaktorgetriebenen, quantitativen Handel. Die Verifizierungsmechanismen können Falschsignale wirksam filtern und dabei Umkehr- und Trendhandelsmöglichkeiten erfassen. Die Strategie birgt jedoch auch ein gewisses Rückstandsrisiko.

Strategiequellcode
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-19 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/01/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Linear Regression Intercept is one of the indicators calculated by using the 
// Linear Regression technique. Linear regression indicates the value of the Y 
// (generally the price) when the value of X (the time series) is 0. Linear 
// Regression Intercept is used along with the Linear Regression Slope to create 
// the Linear Regression Line. The Linear Regression Intercept along with the Slope 
// creates the Regression line.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

LRI(Length,xSeria) =>
    pos = 0.0
    xX = Length * (Length - 1) * 0.5
    xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
    xXY = 0.0
    for i = 0 to Length-1
    	xXY := xXY + (i * xSeria[i])
    xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
    xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
    pos:= iff(close > xLRI, 1,
           iff(close < xLRI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Line Regression Intercept ----")
LengthLRI = input(14, minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLRI = LRI(LengthLRI,xSeria)
pos = iff(posReversal123 == 1 and posLRI == 1 , 1,
	   iff(posReversal123 == -1 and posLRI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )