Backtesting-Analyse der Momentum-Arbitrage-Strategie


Erstellungsdatum: 2023-10-25 11:10:59 zuletzt geändert: 2023-10-25 11:10:59
Kopie: 0 Klicks: 728
1
konzentrieren Sie sich auf
1617
Anhänger

Backtesting-Analyse der Momentum-Arbitrage-Strategie

1. Strategiebezeichnung

Ich nenne diese Strategie nach ihren Hauptmerkmalen die Dynamik-Arbitrage-Strategie.

2. Strategieübersicht

Die Strategie erzeugt einen Mehrraumsignal, um eine Arbitrage-Chance zu erzeugen und einen Gewinn zu erzielen, indem sie den Chande-Dynamik-Schwankungs-Indikator berechnet und die obere und untere Schwelle festlegt.

Drei, die Strategie

Der Code setzt zunächst die Parameter Length, TopBand und LowBand ein, wobei Length die Tageszyklen der berechneten Dynamik darstellt und TopBand und LowBand die oben oder unten eingestellten Schwellungen darstellen.

Dann berechnen wir die absolute Bewegungsmenge xMom für die letzten Length-Tage und den einfachen Moving Average xSMA_mom für die Length-Tage xMom.

Dann berechnen wir die kumulierte Bewegung von Length xMomLength innerhalb von Tagen.

Dann berechnen wir den Dynamomschwingungsindex nRes, der gleich xMomLength dividiert durch xSMA_mom und multipliziert mit Length und vergrößert um das 100-fache.

Die polyfosische Richtung wird nach der Größenbeziehung von nRes zu den oberen und unteren Schwellenwerten beurteilt und in Pos eingelagert.

Schließlich wird ein Possig-Trading-Signal erzeugt, das Multi-Blank-Einträge erzeugt, je nachdem, ob die Possig-Funktion für den Umkehrhandel aktiviert ist.

Viertens: Strategische Vorteile

  1. Nutzung von Dynamikindikatoren zur Identifizierung von potenziellen Trendwendepunkten, um Trends zu erfassen
  2. Kombination von Threshold-Filterung zu einem eindeutigen Multi-Block-Signal, um falsche Transaktionen zu vermeiden
  3. Umgekehrte Handelsideen und Chancen auf Umkehr
  4. Die Parameter sind räumlich anpassbar und können für verschiedene Sorten und Perioden optimiert werden.
  5. Die visualisierten Parameter sind intuitiv und erleichtern das Verständnis der Handelslogik.

Fünftens: Strategische Risiken

  1. Wenn Sie nur die Dynamik berücksichtigen, können Sie die Handelschancen, die andere technische Indikatoren bieten, verpassen
  2. Ein Dynamikbruch bedeutet nicht unbedingt eine Trendwende, es besteht die Gefahr eines Fehlverhaltens
  3. Reverse-Trading kann Gewinne bringen, aber auch Verluste vergrößern
  4. Unzureichende Parameteroptimierung kann zu häufigen Geschäften führen oder die besten Punkte verpassen
  5. Kurzfristige dynamische Verzerrungen, die durch Überraschungen verursacht werden, die angemessen gefiltert werden müssen

Das Risiko kann kontrolliert werden, indem die Zuverlässigkeit der Dynamiksignale in Kombination mit anderen technischen Indikatoren wie Trends und Volatilität bestimmt wird. Die Parameter können so angepasst werden, dass die Handelsfrequenz verringert wird.

6. Strategische Optimierung

  1. Filter für andere technische Indikatoren, um die Genauigkeit von Handelssignalen zu verbessern

Bevor ein Momentumsignal ausgelöst wird, kann beurteilt werden, ob der Schlusskurs über dem Mittelliniensystem liegt oder ob die Schwankungen im Normalbereich liegen, um eine Fehleinschätzung zu vermeiden.

  1. Optimierungsparameter nach Sortencharakteristiken

Für Sorten mit hoher Volatilität kann der normale Schwellenwertbereich für die Volatilität entsprechend erweitert werden, um die Handelsfrequenz zu verringern.

  1. Optimierung von mehreren Zeiträumen für verschiedene Zeiträume

In der Tageszeit können Sie mit einer kleineren Periodenspanne über die kurze Linie handeln. Anpassen Sie die Parameter nach der Kreislinie oder der Mondlinie und konzentrieren Sie sich auf die mittleren und langen Trends.

  1. Setzen von den Bedingungen abweichend

Wenn ein bullishes Signal ausgelöst wird, muss ein höherer Preis als die vorherige Wellenlinie hinzugefügt werden, um ein falsches Signal für eine Trendwende zu vermeiden.

VII. Fazit

Die Strategie identifiziert kurzfristige Trendwendechancen hauptsächlich durch dynamische Indikatoren, generiert Handelssignale in Kombination mit Parameter-Filterung, kombiniert mit Trendverfolgung und Umkehrung, Risiken sind kontrollierbar. Durch die Optimierung mehrerer Zeiträume und die Kombination anderer technischer Indikatoren kann die Effektivität der Strategie verbessert werden.

Strategiequellcode
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/02/2017
//    This indicator plots Chande Momentum Oscillator. This indicator was 
//    developed by Tushar Chande. A scientist, an inventor, and a respected 
//    trading system developer, Mr. Chande developed the CMO to capture what 
//    he calls "pure momentum". For more definitive information on the CMO and 
//    other indicators we recommend the book The New Technical Trader by Tushar 
//    Chande and Stanley Kroll.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder`s RSI, yet it differs 
//    in several ways:
//        - It uses data for both up days and down days in the numerator, thereby 
//          directly measuring momentum;
//        - The calculations are applied on unsmoothed data. Therefore, short-term 
//          extreme movements in price are not hidden. Once calculated, smoothing 
//          can be applied to the CMO, if desired;
//        - The scale is bounded between +100 and -100, thereby allowing you to 
//          clearly see changes in net momentum using the 0 level. The bounded scale 
//          also allows you to conveniently compare values across different securities.
////////////////////////////////////////////////////////////
strategy(title="CMO (Chande Momentum Oscillator)", shorttitle="CMO")
Length = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
pos = iff(nRes > TopBand, 1,
	   iff(nRes <= LowBand, -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(nRes, color=blue, title="CMO")