Esta estrategia utiliza el método de valor extremo para calcular la volatilidad estadística, también conocida como volatilidad histórica. Mide la volatilidad en función de los valores extremos del precio más alto, el precio más bajo y el precio de cierre, combinados con el factor de tiempo. La volatilidad refleja la fluctuación del precio del activo. La estrategia realizará operaciones largas o cortas correspondientes cuando la volatilidad sea superior o inferior al umbral.
SqrTime = sqrt(253 / Length)
Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
Las principales ventajas de esta estrategia son las siguientes:
Los principales riesgos de esta estrategia son:
Contramedidas y soluciones:
Las direcciones de optimización para esta estrategia:
Esta estrategia utiliza el método de valor extremo para calcular la volatilidad estadística, y genera señales de negociación al capturar anomalías de volatilidad. En comparación con indicadores simples como líneas de promedio móvil, refleja mejor la volatilidad del mercado y captura reversiones. Mientras tanto, el algoritmo del método de valor extremo también hace que los resultados sean más estables y confiables. A través del ajuste y optimización de parámetros, esta estrategia puede adaptarse a diferentes condiciones del mercado, y su lógica de negociación y indicador de volatilidad estadística merecen más investigación y aplicación.
/*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")