En la carga de los recursos... Cargando...

Introducción de la media móvil adaptativa KAMA

El autor:La bondad, Creado: 2019-07-24 14:09:06, Actualizado: 2023-11-08 20:42:23

img

Como su nombre indica, el promedio móvil (KAMA) pertenece a la categoría de promedio móvil, pero a diferencia del promedio móvil tradicional, es mucho más inteligente que el MA normal. Sabemos que el MA tiene muchas deficiencias. Por ejemplo, el promedio móvil a corto plazo está cerca de la tendencia del precio, que es muy sensible, pero es fácil producir señales falsas. El promedio móvil a largo plazo es muy preciso en la captura de la tendencia, pero a menudo reacciona muy lentamente cuando el precio del mercado se ha movido durante un tiempo.

La "inteligencia" de KAMA se refleja en el hecho de que puede basarse en el estado actual del mercado, es decir, la volatilidad, para ajustar la sensibilidad.

Los beneficios son: puede reducir los costos de transacción causados por los movimientos del precio dentro del día, y puede entrar en la tendencia a tiempo cuando el mercado despegue.

KAMA en el gráfico

img

Método de cálculo KAMA

  • Dirección (DIR) = precio de cierre - precio de cierre antes de n días
  • Variabilidad (VIR) = suma ((abs (precio de cierre - precio de cierre del día de negociación anterior), n)
  • Eficiencia (ER) = dirección / volatilidad
  • Rápido = 2 / (n1 + 1)
  • Lento = 2 / (n2 + 1)
  • La velocidad de la corriente es la velocidad máxima de la corriente.
  • Coeficiente (CQ) = suave * suave
  • KAMA = promedio ponderado exponencialmente (promedio móvil dinámico (precio de cierre, coeficiente), 2)

Entre ellos, n, n1 y n2 son parámetros periódicos. Por defecto, el número de ciclos n es 10, n1 es el número de ciclos a corto plazo es 2, y n2 es el número de ciclos a largo plazo es 30. Este es también un conjunto de parámetros acordados por el autor de KAMA Perry Kaufman, n se utiliza para la dirección y la eficiencia del cálculo de volatilidad, n1 y n2 son el número de períodos de media móvil rápida y media móvil lenta. Teóricamente, cuanto mayor sea el parámetro de n1, más suave será KAMA.

KAMA se calcula calculando primero la dirección (DIR) y la volatilidad (VIR), luego calculando la eficiencia en proporción de acuerdo con estos dos. La eficiencia (ER) es una medida del grado de cambio de precio y se calcula de una manera simple: dirección / volatilidad. El resultado del cálculo está entre 0 y 1. Cuando el valor de ER está más cerca de 0, el mercado está en un estado de oscilación. Cuando el valor de ER está más cerca de 1, el mercado está en un estado de tendencia.

Al calcular la eficiencia (ER), la constante de suavizado (CS) se puede derivar combinando la media móvil rápida y la media móvil lenta:

eficiencia * (rápida - lenta) + lenta

La velocidad de la operación de la tendencia es la velocidad de la operación de la tendencia.

Luego, el coeficiente (CQ) se calcula de acuerdo con la potencia suavizada, y el propósito es hacer que el parámetro de ciclo lento desempeñe un papel más importante en el cálculo, que también es un enfoque más conservador.

En el cálculo de KAMA, el coeficiente (CQ) determina los parámetros periódicos de los dos últimos media móvil de suavizado, a saber: media ponderada exponencial (media móvil dinámica (precio de cierre, coeficiente), 2).

Cómo utilizar KAMA

Aunque el método de cálculo de KAMA es muy complicado, el método de uso es similar al promedio móvil ordinario. En aplicaciones prácticas, no solo puede juzgar la tendencia del mercado, sino que también se puede usar para puntos de negociación precisos.

  • Cuando el precio es mayor que KAMA y KAMA está arriba, se abre la posición larga.
  • Cuando el precio es inferior a KAMA y KAMA está abajo, se abre la posición corta.
  • Cuando el precio es inferior a KAMA, o KAMA está abajo, la posición larga se cierra.
  • Cuando el precio es mayor que KAMA, o KAMA está arriba, la posición corta se cierra.

Construir una estrategia comercial basada en el KAMA

Paso 1: calcular el KAMA

Tenga en cuenta que en la esquina superior izquierda, seleccione el lenguaje de programación: Mi lenguaje. Ya hay un KAMA listo en la biblioteca talib, pero solo tiene un ciclo de parámetros externos (n), y n1 y n2 son por defecto 2 y 30.

Las estrategias en este artículo sólo se utilizan como referencias. Los lectores con fuertes habilidades de programación pueden escribir su propia. Durante el proceso de programación de mi lenguaje, también podemos mezclar con el lenguaje JavaScript, preste atención al siguiente código:

%% // Standard format for JavaScript within My language
scope.KAMA = function() {
    var r = _C(exchange.GetRecords); // Get the K line array
    if (r.length > 140) { // filter the length of the K line
        var kama = talib.KAMA(r, 140); // Call talib library to calculate KAMA
        Return kama[kama.length - 2]; // return the specific value of KAMA
    }
    Return;
}
%% // Standard format for JavaScript within My language

Paso 2: Calcular las condiciones de negociación y realizar una orden

%%
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);
    if (r.length > 140) {
        var kama = talib.KAMA(r, 140);
        Return kama[kama.length - 2];
    }
    Return;
}
%%

K^^KAMA; // Print KAMA on the chart
A:CLOSE; // print the closing price on the chart

K > REF(K, 1) && CLOSE > K,BK; // Open long position
K < REF(K, 1) && CLOSE < K,SK; // Open short position
K < REF(K, 1) || CLOSE < K,SP; // close long position
K > REF(K, 1) || CLOSE > K,BP; // close short position

Paso 3: Configurar el método de filtrado de señales de estrategia

%%
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);
    if (r.length > 140) {
        var kama = talib.KAMA(r, 140);
        Return kama[kama.length - 2];
    }
    Return;
}
%%

K^^KAMA;
A:CLOSE;

K > REF(K, 1) && CLOSE > K,BK;
K < REF(K, 1) && CLOSE < K,SK;
K < REF(K, 1) || CLOSE < K,SP;
K > REF(K, 1) || CLOSE > K,BP;

AUTOFILTER; // Enable one open and one close signal filtering mechanism

Prueba posterior de la estrategia

Con el fin de acercarse al entorno de negociación real, utilizamos los 2 pips de deslizamiento para probar la presión en la negociación real.

  • Intercambio: BitMEX
  • Variedad de operaciones: XBTUSD
  • Tiempo: 01 de julio de 2017 ~ 01 de julio de 2019
  • Ciclo de línea K: línea diaria
  • Deslizamiento: 2 pips para las posiciones de apertura y cierre

Entorno de pruebas de retroceso

img

Detalles de las ganancias

img

Curva de los fondos

img

A partir de los resultados de las pruebas de retroceso anteriores, esta sencilla estrategia KAMA realmente cumple con las expectativas. Incluso en el mercado oso súper grande de la criptomoneda en 2018, la curva de capital no mostró un gran retroceso, y no hubo una posición abierta y cerrada repetidamente en el período de choque a largo plazo en el mercado que causara pérdidas innecesarias.

Código fuente de la estrategia

Para obtener más información, póngase en contacto con nosotros en:https://www.fmz.com/strategy/155663

Resumen de las actividades

Una estrategia excelente que puede ser una estrategia firme debe ser pulida. Las estrategias en este artículo tienen mucho espacio para optimizar y mejorar, como agregar ciertas condiciones de filtrado, condiciones activas de stop-loss y stop-loss. Como una especie de promedio móvil, KAMA hereda las ventajas y desventajas de los promedios móviles ordinarios y al mismo tiempo sublima. En un mercado impredecible, incluso si fijas un parámetro best, es difícil adaptarse al mercado futuro. Por lo tanto, este método de cambiar con la tendencia y cambiar con el mercado puede ser una mejor opción.


Más.