Estrategia de beneficios del indicador KST

El autor:¿ Qué pasa?, Fecha: 2023-11-27 11:37:49
Las etiquetas:

img

Resumen general

La Estrategia de ganancias del indicador KST es una estrategia de selección de acciones aplicada al ciclo de 30 minutos de SPY.

Principio de la estrategia

Esta estrategia se basa principalmente en el indicador KST, que consta de las siguientes partes:

  1. Cuatro curvas ROC con longitudes de 11, 15, 20 y 33 respectivamente.
  2. Aplicar SMA con longitudes de 9, 14, 8 y 15 para suavizar las curvas ROC anteriores.
  3. Se tomará una suma ponderada de las cuatro curvas ROC suavizadas, con pesos de 1, 2, 3 y 4, respectivamente.
  4. Aplicar una longitud 9 SMA a la curva final de KST para derivar la línea de señal.

Las señales de compra y venta se determinan por cruces doradas y cruces de muerte entre la línea KST y la línea de señal:

  • El cruce de la línea KST por encima de la línea de señal es señal de compra.
  • El cruce de la línea KST por debajo de la línea de señal es una señal de venta.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. El indicador KST tiene en cuenta de manera exhaustiva los movimientos de precios en diferentes horizontes temporales, lo que hace que la estrategia sea más estable y fiable.

  2. El promedio ponderado de las curvas ROC en el indicador KST garantiza que las variaciones de precios a más largo plazo desempeñen un papel principal, lo que ayuda a captar las tendencias del mercado.

  3. Funciona bien en productos de alta liquidez como SPY.

Análisis de riesgos

Esta estrategia también presenta algunos riesgos:

  1. Al igual que los indicadores MA, el indicador KST puede producir señales falsas en los mercados laterales.

  2. Las entradas y salidas dependen completamente del indicador sin tener en cuenta los fundamentos o los regímenes de mercado, lo que conduce a grandes pérdidas durante eventos significativos.

  3. El universo de inversión contiene sólo SPY, por lo que el riesgo de un solo activo puede ser alto.

Direcciones de optimización

Posibles formas de optimizar la estrategia:

  1. Optimice los parámetros de KST para encontrar la mejor combinación.

  2. Incorporar un indicador de volatilidad para evitar señales falsas durante los mercados agitados.

  3. Añadir órdenes de stop loss para limitar el riesgo a la baja por operación.

  4. Ampliar el conjunto de existencias para incluir existencias individuales que cumplan determinados criterios para mejorar la solidez.

Conclusión

Esta estrategia identifica las tendencias a corto plazo en SPY utilizando el indicador KST, con buenos resultados de backtest. Podemos mejorar su estabilidad y rendimiento en el mundo real a través del ajuste de parámetros, los controles de riesgos y la ampliación de los criterios de selección de acciones. haciéndolo más universalmente aplicable.


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

//@version=5
strategy("KST Strategy", shorttitle="KST", overlay=true)

roclen1 = input.int(11, minval=1, title="ROC Length #1")
roclen2 = input.int(15, minval=1, title="ROC Length #2")
roclen3 = input.int(20, minval=1, title="ROC Length #3")
roclen4 = input.int(33, minval=1, title="ROC Length #4")
smalen1 = input.int(9, minval=1, title="SMA Length #1")
smalen2 = input.int(14, minval=1, title="SMA Length #2")
smalen3 = input.int(8, minval=1, title="SMA Length #3")
smalen4 = input.int(15, minval=1, title="SMA Length #4")
siglen = input.int(9, minval=1, title="Signal Line Length")

smaroc(roclen, smalen) =>
    ta.sma(ta.roc(close, roclen), smalen)

kst = smaroc(roclen1, smalen1) + 2 * smaroc(roclen2, smalen2) + 3 * smaroc(roclen3, smalen3) + 4 * smaroc(roclen4, smalen4)
sig = ta.sma(kst, siglen)

// Plot the KST and Signal Line
plot(kst, color=#009688, title="KST")
plot(sig, color=#F44336, title="Signal")
hline(0, title="Zero", color=#787B86)

// Strategy logic
longCondition = ta.crossover(kst, sig)
shortCondition = ta.crossunder(kst, sig)

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)


Más.