Stratégie de contre-test de volatilité statistique basée sur la méthode des valeurs extrêmes

Auteur:ChaoZhang est là., Date: le 26-12-2023 à 10h24
Les étiquettes:

img

Résumé

Cette stratégie utilise la méthode de valeur extrême pour calculer la volatilité statistique, également connue sous le nom de volatilité historique. Elle mesure la volatilité sur la base des valeurs extrêmes du prix le plus élevé, du prix le plus bas et du prix de clôture, combinées au facteur temps. La volatilité reflète la fluctuation du prix de l'actif. La stratégie effectuera des transactions longues ou courtes correspondantes lorsque la volatilité est supérieure ou inférieure au seuil.

Principe de stratégie

  1. Calculer les valeurs extrêmes du prix le plus élevé, du prix le plus bas et du prix de clôture dans une certaine période de temps
  2. Appliquer la formule de la méthode de valeur extrême pour calculer la volatilité statistique
    SqrTime = sqrt(253 / Length)
    Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
    
  3. Comparer la volatilité avec les seuils supérieur et inférieur pour générer des signaux de négociation
    pos = iff(nRes > TopBand, 1,  
              iff(nRes < LowBand, -1, nz(pos[1], 0)))
    
  4. Effectuer des transactions longues ou courtes en fonction des signaux de négociation

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. L'utilisation de l'indicateur statistique de volatilité permet de détecter efficacement les points chauds du marché et les opportunités d'inversion
  2. La méthode des valeurs extrêmes pour le calcul de la volatilité n'est pas sensible aux prix extrêmes, ce qui donne des résultats plus stables et fiables.
  3. Les paramètres peuvent être ajustés pour s'adapter à la négociation dans différents environnements de volatilité

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. La volatilité statistique elle-même a un certain retard et ne peut pas saisir avec précision les points tournants du marché.
  2. L'indicateur de volatilité réagit lentement à des événements soudains, éventuellement en manquant des opportunités de négociation à court terme
  3. Il y a des risques de mauvais échanges et de stop loss

Contre-mesures et solutions

  1. Réduire de manière appropriée le cycle statistique afin d'accroître la sensibilité aux changements du marché
  2. Utiliser d'autres indicateurs pour améliorer la précision du signal
  3. Définir des points de stop-loss pour contrôler les pertes uniques

Directions d'optimisation

Les orientations d'optimisation de cette stratégie:

  1. Tester différents paramètres de période statistique pour trouver les paramètres optimaux
  2. Ajout d'un module de gestion des positions pour ajuster les positions en fonction de la volatilité
  3. Ajoutez des conditions de filtrage comme des lignes moyennes mobiles pour réduire les mauvaises transactions

Résumé

Cette stratégie utilise la méthode de valeur extrême pour calculer la volatilité statistique et génère des signaux de trading en capturant les anomalies de volatilité. Par rapport à des indicateurs simples comme les lignes moyennes mobiles, elle reflète mieux la volatilité du marché et capte les renversements. Pendant ce temps, l'algorithme de la méthode de valeur extrême rend également les résultats plus stables et fiables. Grâce à l'ajustement et à l'optimisation des paramètres, cette stratégie peut s'adapter à différentes conditions du marché, et sa logique de trading et son indicateur de volatilité statistique valent la peine d'être étudiés et appliqués.


/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/11/2014
// This indicator used to calculate the statistical volatility, sometime 
// called historical volatility, based on the Extreme Value Method.
// Please use this link to get more information about Volatility. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Statistical Volatility - Extreme Value Method ", shorttitle="Statistical Volatility Backtest")
Length = input(30, minval=1)
TopBand = input(0.005, step=0.001)
LowBand = input(0.0016, step=0.001)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMaxC = highest(close, Length)
xMaxH = highest(high, Length)
xMinC = lowest(close, Length)
xMinL = lowest(low, Length)
SqrTime = sqrt(253 / Length)
Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
nRes = iff(Vol < 0,  0, iff(Vol > 2.99, 2.99, Vol))
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="Statistical Volatility")


Plus de