Quantitative Strategie auf der Grundlage eines exponentiellen gleitenden Durchschnitts und einer Volumengewichtung

Schriftsteller:ChaoZhang, Datum: 2024-01-25 15:31:21
Tags:

img

Übersicht

Grundsätze

xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length) 
nRes = xMAVolPrice / xMAVol

Die Strategie bestimmt die Richtung der Long- und Short-Positionen, indem die Größenbeziehung zwischen nRes und dem letzten Schlusskurs verglichen wird:

if (nRes < close[1])  
    long
if (nRes > close[1]) 
    short

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Im Vergleich zu einfachen gleitenden Durchschnitten sind die exponentiellen gleitenden Durchschnitte in dieser Strategie empfindlicher auf die neuesten Daten und können die jüngsten Marktveränderungen schnell erfassen.

Risikoanalyse

  1. Volumeninformationen sind unzuverlässig. Volumenindikatoren sind anfällig für Manipulationen und fehlen an Stabilität, was irreführend sein kann.

  2. Schwierigkeiten bei der Parameterwahl. Die Wahl von Parametern wie der gleitenden durchschnittlichen Tageslänge hat einen großen Einfluss auf die Leistung der Strategie. Eine unsachgemäße Auswahl kann die Rendite erheblich reduzieren.

  3. Risiko heftiger Marktveränderungen: Auf einem sich schnell verändernden Markt kann die Indikatorberechnung möglicherweise nicht rechtzeitig auf die neuesten Preise reagieren und somit den besten Handelsplatz verpassen.

Optimierungsrichtlinien

Die wichtigsten Richtungen für die Optimierung dieser Strategie sind:

  1. Adaptive Parameteroptimierungsalgorithmen: Algorithmen können eingerichtet werden, um Parameter wie Länge automatisch zu optimieren, so dass sie sich an die Merkmale verschiedener Zyklusmärkte anpassen können.

  2. Verwenden Sie maschinelle Lernmodelle. RNN und andere Deep-Learning-Modelle können für die Multivariate-Funktionsmodellierung verwendet werden, um nichtlineare Strategien von Ende zu Ende zu erreichen.

Zusammenfassung


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/03/2017
// The related article is copyrighted material from Stocks & Commodities 2009 Oct 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Combining Exponential And Volume Weighting", overlay=true)
length = input(22, minval=1)
reverse = input(false, title="Trade reverse")
xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length)
nRes = xMAVolPrice / xMAVol
pos = iff(nRes < close[1], 1,
	     iff(nRes > close[1], -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)

Mehr