Estrategia de selección de índices de materias primas con impulso


Fecha de creación: 2023-11-28 16:27:55 Última modificación: 2023-11-28 16:27:55
Copiar: 0 Número de Visitas: 724
1
Seguir
1619
Seguidores

Estrategia de selección de índices de materias primas con impulso

Descripción general

La estrategia del Índice de Selección de Productos Dinámicos (CSI) es una estrategia de negociación de línea corta que sigue la dinámica del mercado. Se trata de identificar productos con un fuerte impulso mediante el cálculo de la tendencia y la volatilidad de los productos. La estrategia fue presentada por Welles Wilder en su libro New Technology Analysis Trading System Concepts.

Principio de estrategia

El indicador central de la estrategia es el índice CSI, que tiene en cuenta la tendencia y la volatilidad de los productos.

CSI = K × ATR × (ADX + n línea promedio diaria de ADX) / 2)

K es el coeficiente de escala, ATR es el promedio de la amplitud de fluctuación real, que mide la volatilidad del mercado. ADX es el promedio del índice de dirección, que refleja la tendencia del mercado.

Calculando el valor del índice CSI de cada producto y comparándolo con su media móvil simple de n días, se genera una señal de compra cuando el CSI está por encima de su media móvil y una señal de venta cuando el CSI está por debajo de su media móvil.

Esta estrategia selecciona los productos con un índice CSI más alto para operar. Debido a que estos productos tienen una fuerte tendencia y volatilidad, se puede obtener un mayor potencial de ganancias en el corto plazo.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Capturar la dinámica del mercado y aprovechar las características de tendencia y volatilidad de los productos.
  2. El uso de un doble indicador hace que las señales de comercio sean más fiables.
  3. Reglas de transacción claras y sencillas para el comercio automatizado.
  4. Diseñado para operaciones de corto plazo, permite aprovechar rápidamente las oportunidades de corto plazo.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. El uso excesivo de indicadores técnicos puede dar lugar a señales erróneas.
  2. Las características de seguimiento de la potencia hacen que solo sea adecuado para operaciones de línea corta.
  3. Una fluctuación excesiva puede desencadenar un stop loss y causar pérdidas en las operaciones.
  4. El riesgo de la inversión es mayor si se tiene en cuenta el nivel de apalancamiento.

Para controlar el riesgo, se debe establecer razonablemente la posición de stop loss, controlar el tamaño de la posición individual y ajustar adecuadamente los parámetros para adaptarse a las diferentes condiciones del mercado.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Prueba más combinaciones de parámetros para encontrar el mejor.
  2. Para filtrar la señal se añaden otros indicadores auxiliares.
  3. Combinado con otras estrategias como la reversión de la volatilidad.
  4. El uso de modelos de entrenamiento de aprendizaje automático para generar señales comerciales más confiables.

Resumir

La estrategia del índice de selección de productos dinámicos permite una negociación sencilla y rápida de líneas cortas mediante la captura de productos con tendencias fuertes y volátiles en el mercado. Este método especializado para rastrear la dinámica hace que su señal sea clara y fácil de automatizar. Por supuesto, también se debe tener en cuenta el control del riesgo y la mejora continua de la actualización para adaptarse a los cambios en el entorno del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-28 00:00:00
end: 2023-11-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/03/2019
// The Commodity Selection Index ("CSI") is a momentum indicator. It was 
// developed by Welles Wilder and is presented in his book New Concepts in 
// Technical Trading Systems. The name of the index reflects its primary purpose. 
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility 
// characteristics. The trending characteristics are brought out by the Directional 
// Movement factor in the calculation--the volatility characteristic by the Average 
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other 
// commodities). Because these commodities are highly volatile, they have the potential 
// to make the "most money in the shortest period of time." High CSI values imply 
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle 
// the risks associated with highly volatile markets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

strategy(title="Commodity Selection Index Backtest", shorttitle="CSI Backtest")
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
Length = input(14)
reverse = input(false, title="Trade reverse")
K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
xATR = atr(Length)
xADX = fADX(Length)
nADXR = (xADX + xADX[Length]) * 0.5
xCSI = K * xATR * nADXR
xMACSI = sma(xCSI, Length)
pos = 0.0
pos := iff(xCSI < xMACSI, 1,
	   iff(xCSI > xMACSI, -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(xCSI, color=green, title="CSI")
plot(xMACSI, color=red, title="CSI SMA")