Stratégie de backtesting de l'indice de volatilité relative


Date de création: 2023-09-26 16:15:44 Dernière modification: 2023-09-26 16:15:44
Copier: 0 Nombre de clics: 878
1
Suivre
1617
Abonnés

Aperçu

L’indice de volatilité relative (RVI) est un indicateur technique amélioré de l’indice de force relative (RSI). Il mesure la direction de la volatilité en calculant l’écart-type de clôture de 10 jours, ce qui permet de juger de la tendance et de la force du marché.

Principe de stratégie

La logique de cette stratégie est la suivante:

  1. Calculer le décalage de la norme de clôture de 10 jours StdDev。

  2. Calculer la part de la hausse du cours de clôture de 10 jours par rapport au cours de la journée précédente.

  3. Calculer la partie d de la baisse de la clôture de 10 jours par rapport à la journée précédente.

  4. La méthode de l’aplatissement des indices permet de calculer la moyenne des déplacements indiciels de 14 jours de u et d, soit nU et nd.

  5. Calculez le rapport entre nU et nD, puis multipliez par 100 pour obtenir l’indice de fluctuation nRes。

  6. Le résultat est négatif lorsque le nRes est inférieur à la zone d’achat et positif lorsque le résultat est supérieur à la zone de vente.

  7. Le code permet de définir des paramètres de zone d’achat et de zone de vente, ainsi que des transactions inverses.

Cette stratégie consiste à comparer les variations de la volatilité des cours de clôture sur une période de 10 jours afin de déterminer la prochaine étape du marché.

Analyse des avantages

Les stratégies de réévaluation de l’indice de volatilité relative présentent les avantages suivants:

  1. La volatilité est calculée en utilisant la différence standard de prix de clôture, qui reflète mieux les fluctuations du marché que le prix lui-même.

  2. Les méthodes de calcul sont simples, claires et faciles à comprendre.

  3. Les signaux d’achat et de vente sont générés de manière claire, sans qu’il soit nécessaire de les juger.

  4. Il est possible de définir avec souplesse les paramètres des zones d’achat et de vente et d’ajuster la sensibilité de la stratégie.

  5. Il prend en charge les transactions inverses et peut être utilisé sur différents types de marchés.

  6. Les lignes d’indicateurs et les zones d’achat et de vente sont affichées visuellement, ce qui crée un signal de transaction intuitif.

  7. Les tests ont confirmé l’efficacité de cette stratégie.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les signaux d’achat et de vente peuvent être trompeurs et doivent être évalués en fonction de la tendance et de la résistance au support.

  2. La volatilité des prix de clôture ne peut pas refléter la situation des prix à la clôture.

  3. Une mauvaise configuration des paramètres peut entraîner des transactions trop fréquentes ou une baisse des bénéfices.

  4. Le coût de la transaction sur le marché physique affecte le rendement final.

  5. Le risque de perte est accru avec le trading inversé.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. En combinaison avec d’autres indicateurs techniques, les signaux d’alerte à l’erreur sont filtrés.

  2. Modification dynamique du ratio des positions ouvertes.

  3. Optimiser la portée des zones d’achat et de vente pour une meilleure précision des signaux.

  4. Le système de couverture des pertes est renforcé pour limiter les pertes individuelles.

  5. Réduire la taille de la position en période de forte volatilité.

  6. Testez différents paramètres de l’indicateur, tels que le nombre de jours de calcul, le paramètre de lissage de l’indicateur, etc.

Résumer

La stratégie de rétrospective de l’indice de volatilité relative permet de juger de la direction du marché en comparant la volatilité de l’indice de volatilité relative. Elle permet de suivre la tendance de manière simple et intuitive. La stratégie est logiquement claire, facile à mettre en œuvre, son effet de rétrospective est bon et sa performance de négociation peut être améliorée par une optimisation appropriée.

Code source de la stratégie
/*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")