Relative Volatility Index Backtesting-Strategie


Erstellungsdatum: 2023-09-26 16:15:44 zuletzt geändert: 2023-09-26 16:15:44
Kopie: 0 Klicks: 878
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Der Relative Volatility Index (RVI) ist ein technischer Indikator, der sich von dem Relative Strength Index (RSI) verbessert hat. Er misst die Richtung der Volatilität, indem er die Standarddifferenz für den Schlusskurs innerhalb von 10 Tagen berechnet, um die Marktentwicklung und -stärke zu beurteilen.

Strategieprinzip

Die Kernlogik der Strategie lautet:

  1. Berechnung der 10-Tage-Schlusskurs-Standarddifferenz StdDev。

  2. Der Teil u, der innerhalb der letzten 10 Tage über dem Vortag liegt.

  3. Berechnen Sie den Teil d, in dem der Schlusskurs innerhalb von 10 Tagen niedriger war als am Vortag.

  4. Berechnen Sie den 14-Tage-Indexbewegungsdurchschnitt nU und nd für u und d mit Hilfe der Indexglättung.

  5. Berechnen Sie die Anteile von nU und nd und multiplizieren Sie sie mit 100 und erhalten Sie den Schwankungsindex nRes.

  6. Wenn die nRes unter der Kaufzone leer ist, dann ist es leer, wenn sie über der Verkaufszone liegt, dann ist es hoch.

  7. Der Code bietet die Möglichkeit, Kauf- und Verkaufszonen sowie Reverse-Trading-Parameter einzurichten.

Die Strategie bewertet den nächsten Schritt des Marktes, indem sie die Differenz zwischen den Schwankungen der Schließungspreise innerhalb von 10 Tagen vergleicht. Bei großer Schwankung der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen der Schwankungen.

Analyse der Stärken

Die Relative Volatility Index Rückmessung hat folgende Vorteile:

  1. Die Schwankungen der Schließungspreise werden mit der Schwankungen der Schließungspreise berechnet, die die Marktfluktuation besser widerspiegeln als die Preise selbst.

  2. Die Berechnungsmethode ist einfach, klar und verständlich.

  3. Es gibt keine Zweifel, dass die Kauf- und Verkaufssignale eindeutig erzeugt werden.

  4. Flexible Einstellungen für Kauf- und Verkaufszonen, Anpassung der Strategieempfindlichkeit.

  5. Es unterstützt Reverse-Trading und ist für verschiedene Arten von Märkten verfügbar.

  6. Die visuelle Darstellung von Indicator-Linien und Kauf- und Verkaufszonen bildet ein intuitives Handelssignal.

  7. Die Rückmeldung bestätigte die Wirksamkeit der Strategie.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Bei einem Kauf- oder Verkaufssignal kann es zu Fehlmeldungen kommen, die in Kombination mit Trends und Unterstützungswiderstandsbeurteilungen herangezogen werden sollten.

  2. Die Schwankungen der Schlusskosten sind nicht auf die Kursentwicklung in der Börse zurückzuführen.

  3. Die falsche Einstellung der Parameter kann zu zu häufigen Transaktionen oder zu rückläufigen Erträgen führen.

  4. Die Transaktionskosten in der virtuellen Welt beeinflussen die endgültige Rendite.

  5. Die Gefahr von Verlusten wird durch die Umkehrung des Handelsmodells erhöht.

Optimierungsrichtung

Diese Strategie kann optimiert werden durch:

  1. In Kombination mit anderen technischen Indikatoren filtern Sie die Falschmeldungen. Zum Beispiel MACD, KD usw.

  2. Dynamische Anpassung der offenen Positionsquote.

  3. Optimierung der Reichweite der Kauf- und Verkaufszonen, um die Signale genauer zu machen.

  4. Ein zusätzlicher Stop-Loss-Mechanismus zur Kontrolle von Einzelschäden.

  5. Die Größe der Positionen bei hoher Volatilität zu reduzieren.

  6. Verschiedene Parameter-Einstellungen für die Indikatoren werden getestet, z. B. die Anzahl der Tage, die Index-Gleichungsparameter usw.

Zusammenfassen

Die Relative Volatility Index-Retrospektive-Strategie beurteilt die Marktrichtung anhand von kontrastierender Volatilität und ermöglicht eine relativ einfache und intuitive Trendverfolgungsstrategie. Die Strategie hat die Vorteile, dass sie logisch klar und leicht umzusetzen ist, eine gute Retrospektivwirkung hat und ihre Handelsleistung durch angemessene Optimierung verbessern kann.

Strategiequellcode
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/10/2017
// The RVI is a modified form of the relative strength index (RSI). 
// The original RSI calculation separates one-day net changes into 
// positive closes and negative closes, then smoothes the data and 
// normalizes the ratio on a scale of zero to 100 as the basis for the 
// formula. The RVI uses the same basic formula but substitutes the 
// 10-day standard deviation of the closing prices for either the up 
// close or the down close. The goal is to create an indicator that 
// measures the general direction of volatility. The volatility is 
// being measured by the 10-days standard deviation of the closing prices. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Relative Volatility Index", shorttitle="RVI")
Period = input(10, minval=1)
BuyZone = input(30, minval=1)
SellZone = input(70, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=purple, linestyle=hline.style_dashed)
hline(BuyZone, color=red, linestyle=hline.style_solid)
hline(SellZone, color=green, linestyle=hline.style_solid)
xPrice = close
StdDev = stdev(xPrice, Period)
d = iff(close > close[1], 0, StdDev)
u = iff(close > close[1], StdDev, 0)
nU = (13 * nz(nU[1],0) + u) / 14
nD = (13 * nz(nD[1],0) + d) / 14
nRes = 100 * nU / (nU + nD)
pos = iff(nRes < BuyZone, -1,
	   iff(nRes > SellZone, 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=red, title="RVI")