Quant-Strategie auf Basis von linearer Regressions-Interception

Schriftsteller:ChaoZhang, Datum: 29.12.2023 Uhr 11:45:20 Uhr
Tags:

img

Übersicht

Diese Strategie verwendet lineare Regressionstechniken zur Berechnung des linearen Regressionsinterzepts und verwendet es als Handelssignal, um eine quantitative Handelsstrategie zu konstruieren.

Strategieprinzip

Der lineare Regressions-Abschnitt gibt den vorhergesagten Wert von Y (normalerweise den Preis) an, wenn der Zeitreihenwert X 0 ist. Diese Strategie setzt den Parameter Length vor, nimmt den Schlusskurs als Quellsequenz und berechnet den linearen Regressions-Abschnitt (xLRI) der letzten Längetage. Wenn der Schlusskurs höher als xLRI ist, gehen Sie lang; wenn der Schlusskurs niedriger als xLRI ist, gehen Sie kurz.

Die spezifische Berechnungsformel lautet wie folgt:

xX = Length *(Length - 1)* 0.5
xDivisor = xX *xX - Length* Length *(Length - 1) *(2 * Length - 1) / 6  
xXY = Σ(i *Closing Price[i]), i from 0 to Length-1
xSlope = (Length *xXY - xX* Σ(Closing Price, Length))/ xDivisor 
xLRI = (Σ(Closing Price, Length) - xSlope * xX) / Length

Durch solche Berechnungen kann der lineare Regressions-Intercept xLRI für die letzten Längetage erhalten werden.

Vorteile

Diese Strategie hat folgende Vorteile:

  1. Mit Hilfe von linearen Regressionstechniken verfügt es über bestimmte Fähigkeiten zur Vorhersage und Trendbeurteilung von Preisen.
  2. Weniger Parameter, einfaches Modell, leicht zu verstehen und umzusetzen.
  3. Anpassbarer Parameter Länge zur Anpassung der Strategieflexibilität.

Risiken und Lösungen

Diese Strategie birgt auch einige Risiken:

  1. Eine lineare Regressionsanpassung ist lediglich eine statistische Anpassung, die auf historischen Daten basiert und eine begrenzte Fähigkeit zur Vorhersage zukünftiger Preisentwicklungen aufweist.
  2. Wenn sich die Fundamentaldaten des Unternehmens erheblich verändern, können die Ergebnisse der linearen Regressionsanpassung ungültig werden.
  3. Eine unsachgemäße Einstellung des Parameters Länge kann zu einer Überanpassung führen.

Gegenmaßnahmen:

  1. Der Parameter Längen ist entsprechend zu verkürzen, um eine Überanpassung zu vermeiden.
  2. Achten Sie auf Veränderungen in den Grundlagen des Unternehmens und greifen Sie bei Bedarf manuell ein, um Positionen zu schließen.
  3. Annahme des anpassungsfähigen Parameters Länge zur dynamischen Anpassung an die Marktbedingungen.

Optimierungsrichtlinien

Diese Strategie kann auch in folgenden Aspekten optimiert werden:

  1. Hinzufügen eines Stop-Loss-Mechanismus zur Steuerung von Einzelverlusten.
  2. Kombination mit anderen Indikatoren zur Bildung einer Kombinationsstrategie zur Verbesserung der Stabilität.
  3. Hinzufügen von Parametern selbstadaptiver Optimierungsmodul, um die Längenparameter dynamisch zu ändern.
  4. Hinzufügen eines Positionssteuerungsmoduls, um Überhandelungen zu verhindern.

Zusammenfassung

Diese Strategie konstruiert eine einfache quantitative Handelsstrategie, die auf dem linearen Regressions-Intercept basiert. Insgesamt hat die Strategie einen gewissen wirtschaftlichen Wert, aber es gibt auch einige Risiken zu beachten. Durch kontinuierliche Optimierung wird erwartet, dass die Stabilität und Rentabilität der Strategie weiter verbessert werden.


/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/03/2018
// 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.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Line Regression Intercept Backtest", overlay = true)
Length = input(14, minval=1)
xSeria = input(title="Source", defval=close)
reverse = input(false, title="Trade reverse")
xX = Length * (Length - 1) * 0.5
xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
xXY = 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))) 
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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xLRI, color=blue, title="LRI")

Mehr