El desarrollo de la estrategia de CTA y la biblioteca de clases estándar de la plataforma FMZ Quant

El autor:- ¿ Por qué?, Creado: 2023-01-11 14:47:52, Actualizado: 2023-09-20 11:03:03

img

El desarrollo de la estrategia de CTA y la biblioteca de clases estándar de la plataforma FMZ Quant

Sistema y estrategia de negociación de la CTA de primera generación

La primera generación del sistema de comercio CTA surgió en los años 1960 y 1970. Debido a la fuerte tendencia del mercado de materias primas en ese momento, la estrategia CTA obtuvo ganancias considerables en ese momento. La fuerte tendencia del mercado de materias primas durante este período se puede atribuir al crecimiento económico sostenido y al aumento de la inflación económica después de la Segunda Guerra Mundial. El poderoso mercado de tendencias permite un sistema de seguimiento de tendencias simple para lograr mejores rendimientos. El sistema CTA de primera generación se ocupa de menos mercados y variedades básicas, y el sistema de comercio es relativamente simple, generalmente un sistema de comercio que rastrea múltiples objetivos comerciales. Debido a la tendencia del mercado de materias primas en ese momento, esta estrategia funcionó bien.

Las estrategias utilizadas en el sistema de negociación de primera generación son las que están familiarizadas con la estrategia de seguimiento de tendencias ahora, como el sistema de promedios móviles (con algunas condiciones de filtrado simples, como cuando el promedio móvil a corto plazo excede el promedio móvil a largo plazo o viceversa). Una estrategia de seguimiento de tendencias simple puede jugar una tendencia continua de los fundamentos del objetivo de negociación de manera efectiva. El crecimiento económico sostenido, la inflación y la crisis petrolera son las razones detrás de esta persistencia. Sin embargo, cuando muchos operadores usan la misma estrategia y los fundamentos continúan existiendo, la primera generación de estrategias de negociación debe desarrollarse para adaptarse al nuevo entorno.

El sistema y la estrategia de comercio de la CTA de segunda generación

Debido al desacoplamiento del USD y el oro, el mercado de futuros financieros se desarrolló rápidamente de 1970 a 1980, lo que permitió que el fondo de gestión de futuros participara en muchos mercados de futuros, incluidos el mercado monetario, el mercado de bonos, los futuros del índice de valores y los derivados financieros de valores. Además, el desarrollo de la tecnología de la información y el bajo costo facilitan la obtención de datos durante el día.

Basándose en las características del mercado anteriores, el sistema de negociación y la estrategia CTA de segunda generación presentan las siguientes características en comparación con la estrategia CTA de primera generación:

  • La entrada del mercado de futuros financieros ha hecho que la variedad de operaciones y el mercado sean más diversificados.

  • En términos de estrategia de negociación, la estrategia del sistema de negociación CTA de segunda generación no se limita al seguimiento de tendencias puras y el avance de precios. Aplica más modelos matemáticos para monitorear múltiples mercados. Ya sea para usar el seguimiento de tendencias de acuerdo con diferentes condiciones del mercado o estrategias de respuesta promedio. Debido a que muchas instituciones participan en la liquidez del mercado de futuros, también ha surgido el período de baja volatilidad continua del mercado de futuros. En este caso, el sistema CTA tradicional de primera generación es difícil de obtener ganancias y adaptarse a los cambios del mercado. Esta estrategia se vuelve importante.

  • La estrategia CTA de segunda generación puede llevar a cabo operaciones a corto plazo en la ventana de negociación y el tiempo de retención. A diferencia de la estrategia CTA de primera generación, la estrategia de segunda generación ha comenzado a monitorear los patrones de negociación intradía de operaciones a corto plazo y de alta frecuencia. Esta característica se deriva del desarrollo de la tecnología informática, que hace que el suministro de datos financieros sea más oportuno y frecuente.

El sistema de comercio y la estrategia de la tercera generación de CTA

La tercera generación del sistema de negociación CTA es la mayor diversificación, descentralización y adaptabilidad del sistema de negociación de segunda generación. La tercera generación del CTA utiliza más sistemas de negociación para negociar más mercados y variedades. En términos de estrategia, utiliza un modelo de mercado más rentable. Todos estos se basan en la combinación de múltiples modelos que funcionan en múltiples mercados.

En vista de la amplia aplicación de la estrategia CTA y la madurez de la estrategia CTA con el tiempo, es un modelo de estrategia clásico ampliamente contactado y querido por un gran número de operadores cuantitativos (especialmente para principiantes).

La extensibilidad también es muy conveniente. Los comentarios del código son muy claros y fáciles de entender. Si desea hacer una personalización o extensión en profundidad, solo necesita hacerlo directamente bajo el marco existente.

Parte del código fuente (versión JavaScript):

function main() {
    $.CTA(exchanges[0], 0.01, function(r, mp, pair){  // The first parameter is the exchange object to be done, the second parameter 0.01 is the minimum order quantity required by the exchange, the third anonymous function function() {...} is the callback function, and the trading logic is written in the function. The first parameter r of the callback function receives the latest K-line data, the second parameter receives the number of positions, and the third parameter receives the name of the trading pair.

        if (r.length < 20) {   // Determine the number of K-line bars 
            return
        }
        var emaSlow = TA.EMA(r, 20)
        var emaFast = TA.EMA(r, 5)
        var cross = _Cross(emaFast, emaSlow); // To determine the intersection status of indicators, for _Cross, please refer to: https://www.fmz.com/bbs-topic/9116
        if (mp <= 0 && cross > 1) {
            Log(pair, "Buy, Golden Cross period", cross, "mp:", mp);
            return 0.1 * (mp < 0 ? 2 : 1)  // The value returned is the number of positions to be opened, a positive number is to open a long position, a negative number is to open a short position, and 0 is to close all positions.
        } else if (mp >= 0 && cross < -1) {
            Log(pair, "Sell, Bearish Crossover period", cross, "mp:", mp);
            return -0.1 * (mp > 0 ? 2 : 1)
        }
    })
}

img

Para obtener más información sobre el código fuente y la biblioteca de clases, consulte:https://www.fmz.com/strategy/57267.


Relacionados

Más.