Introducción a las transacciones cuantificadas por los inventores - desde lo básico hasta la vida real

El autor:La bondad, Creado: 2019-06-25 15:48:58, Actualizado: 2023-10-31 21:01:08

Cuando el precio se rompe de arriba hacia abajo, es decir, cuando se rompe la línea de soporte, creemos que la fuerza aérea se está fortaleciendo, se ha formado una ola de tendencia bajista y se produce una señal de venta.imgFigura 4-20

Si después de comprar una posición abierta, el precio vuelve a caer a la línea de equilibrio, creemos que la fuerza multilateral se está debilitando, o la fuerza aérea se está fortaleciendo, y se produce una señal de equilibrio; si después de vender una posición abierta, el precio vuelve a caer a la línea de equilibrio, creemos que la fuerza aérea se está debilitando, o la fuerza multilateral se está fortaleciendo, y se produce una señal de equilibrio.

Condiciones de compra y venta

Las opciones abiertas:如果无持仓,并且收盘价大于上轨,并且时间非14:45 Empezar el negocio sin dinero:如果无持仓,并且收盘价小于下轨,并且时间非14:45 Posicionamiento múltiple:如果持多单,并且收盘价小于中轨,或者时间是14:45 Posicionamiento en blanco:如果持空单,并且收盘价大于中轨,或者时间是14:45

Implementación del código de la estrategia

Para implementar la estrategia, primero tenemos que considerar qué datos necesitamos, a través de qué API vamos a obtenerlos, luego cómo calcular la lógica de transacción, y finalmente, ¿por qué manera vamos a realizar el pedido?

El primer paso: usar el marco estratégico de la CTA

El marco de estrategia CTA es un conjunto de estándares introducidos oficialmente por los inventores de la cuantificación, que permite no tener que tener en cuenta los problemas triviales del desarrollo de estrategias de negociación cuantificadas, sino centrarse directamente en la lógica de programación de transacciones. Por ejemplo, si no se usa el marco, se deben considerar problemas como el cambio de mes, el precio de compra y venta de la orden, la retirada o el seguimiento de la orden cuando no se realiza la transacción, etc.imgDiagrama 4-21.

El gráfico anterior es el marco de la estrategia de CTA que utiliza las herramientas de cuantificación de los inventores. Es un formato de código fijo en el que todos los códigos de lógica de transacción se escriben desde la línea 3.

Es importante tener en cuenta que el código de variedad en el gráfico anterior es rb000/rb888. Esto significa que los datos de la señal utilizan rb000, los datos de transacción utilizan rb888, y se desplazan automáticamente.

FMZ tiene una biblioteca de clases de comercio de futuros de productos con JavaScript incorporada, que se puede usar directamente en la interfaz de edición de estrategias para hacer clic en las referencias:img

Paso 2: Obtener datos de todo tipo

Piense en qué datos se necesitan. Descubra de nuestra lógica de negociación estratégica: primero se necesita obtener el estado actual de las tenencias, luego comparar la relación entre el precio de cierre y la trayectoria media en el índice de la banda de Bryn, y finalmente determinar si el mercado está a punto de cerrar.

Obtener datos de la línea K

Primero, se obtiene la matriz de K y el precio de cierre de la raíz superior de K, ya que con la matriz de K, se puede calcular el indicador de la banda de Bryn.imgDiagrama 4-22.

La imagen de arriba muestra: Línea 4: Obtener el conjunto de K líneas, que es un formato fijo. Línea 5: Filtrar la longitud de la K-línea, ya que el parámetro para calcular el indicador de la cinta de Bryn es 20, no se puede calcular el indicador de la cinta de Bryn cuando la K-línea es menor a 20. Línea 6: Primero se obtiene el objeto de la raíz superior de la línea K de la matriz obtenida, y luego se obtiene el precio de cierre de ese objeto. Se obtiene el segundo elemento de la integral de una matriz, es decir, la longitud de la matriz menos 2 ((r [r.length - 2]); Los elementos de la matriz de la línea K son un objeto, el objeto contiene el precio de apertura, el precio máximo, el precio mínimo, el precio de cierre, la cantidad de transacciones, el tiempo, para obtener el precio de cierre se suma directamente a él.

Obtener datos de tiempo de línea K

Debido a que somos una estrategia diaria, necesitamos nivelar las posiciones antes del cierre, así que para determinar si la línea K actual está cerca del cierre, si es la línea K cercana al cierre, se puede nivelar la posición, si no es la línea K cercana al cierre, se puede abrir la posición.imgDiagrama 4 y 23

En la imagen de arriba: Línea 8: Obtener la propiedad de la barra de tiempo de la raíz de la línea K y luego crear un objeto de tiempo ((new Date)). Línea 9: Según el objeto de tiempo, se calcula el número de horas y minutos respectivamente y se determina si la hora de la línea de la raíz K es 14:45.

Obtención de datos de almacenamiento

La información de la posición es una condición muy importante en la estrategia de negociación de cuantificación, cuando las condiciones de negociación se establecen, también se necesita para determinar si se realiza una orden por el estado de la posición y el número de posiciones. Por ejemplo: cuando se establecen las condiciones de negociación de compra y venta, si hay una posición, no es necesario que se realice una orden repetida; si no hay una posición, se puede realizar una orden.imgDiagrama 4 y 24 La imagen de arriba muestra: Línea 11: Obtener el estado actual de la reserva. Si hay varios pedidos, el valor es 1; si hay pedidos vacíos, el valor es 1; si no hay reservas, el valor es 0.

Obtención de datos de la cinta de browning

Luego se necesita calcular los valores de los indicadores de la banda de Bryn en órbita, en órbita media y en órbita baja. Primero se obtiene el conjunto de la banda de Bryn, y se obtiene el número de la banda de Bryn desde el conjunto. En la herramienta de cuantificación de los inventores, obtener una matriz de la banda de Bryn es muy simple, se puede llamar directamente a la API de la banda de Bryn, pero es difícil obtener el valor de la banda de Bryn en órbita media y baja, ya que la matriz de la banda de Bryn es un conjunto de números en dos dimensiones.

La matriz bidimensional es una matriz en la que se obtiene el orden siguiente: primero se obtiene la matriz indicada en la matriz, y luego se obtiene el elemento indicado de la matriz indicada, como se muestra en el siguiente gráfico:imgDiagrama 4 y 25

Como se muestra a continuación, las líneas 13 a 19 son las que utilizan el código para obtener los valores de los trayectos, trayectos intermedios y trayectos inferiores de la cinta de Bryn. Las líneas 13 son las que utilizan directamente la API de la herramienta de cuantificación de los inventores para obtener directamente los conjuntos de cinta de Bryn; las líneas 14 a 16 son las que obtienen primero los conjuntos de trayectos superiores, medianos y inferiores de los conjuntos de trayectos bidimensionales; las líneas 17 a 19 son los valores de los trayectos superiores, medios y trayectos inferiores de la cinta de Bryn de la raíz K de los conjuntos de trayectos superiores, medios y inferiores de los conjuntos de trayectos superiores, respectivamente.imgDiagrama 4 a 26

El tercer paso: hacer el pedido

Con los datos anteriores, se puede escribir la lógica de transacción y el código para la transacción de pedido. El formato también es muy simple, el más común es el de la frase de pedido, que se puede describir como: si se cumplen las condiciones 1 y 2, se cumple; si se cumplen las condiciones 3 o 4, se cumple.imgDiagrama 4 a 27

En el gráfico anterior, las líneas 21 a 24 son la lógica de la transacción y el código de la transacción a realizar. De arriba a abajo, se dice: plano, plano, claro, abierto.

Tomando como ejemplo el plural ((línea 23), se trata de una oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración de la oración.

Si te fijas, puedes ver que estas líneas tienen un retorno de 1 y un retorno de -1, que es un formato fijo, es decir: si se compra, se escribe retorno de 1; si se vende, se escribe retorno de -1.

Código completo de la estrategia

Una estrategia completa está escrita, y si se escribe separadamente el marco de transacción, los datos de transacción, la lógica de transacción, la compra y venta de pedidos, ¿no es simple?imgDiagrama 4 a 28

Hay dos puntos a tener en cuenta: se debe escribir la lógica de la estrategia cuando se establecen las condiciones de la línea K de la raíz y se emite la línea K inferior, o cuando se emite la condición de la línea K de la raíz, los resultados de la revisión no son muy diferentes de los resultados del disco real. También se puede escribir de otra manera, pero hay que tener en cuenta si la lógica de la estrategia es correcta. En general, se escribe la lógica de la posición plana delante de la lógica de la posición abierta, con el objetivo de hacer esto, se trata de que la lógica de la estrategia sea lo más adecuada posible a sus expectativas.

Resumen

A continuación, aprendemos cada paso para desarrollar una estrategia de comercio cuantificada completa en el día, incluyendo: estrategia de presentación, método de cálculo de indicadores de la cinta de brin, lógica de la estrategia, condiciones de compra y venta, implementación del código de la estrategia, etc. A través de este caso de estrategia, no solo se conoce el método de programación de la herramienta de cuantificación del inventor, sino que también se pueden adaptar diferentes estrategias según esta plantilla.

La estrategia de negociación cuantitativa no es más que un resumen de la experiencia de negociación subjetiva o del sistema, y encontrarás que escribir estrategias es mucho más fácil si tomamos la experiencia o el sistema utilizado en la negociación subjetiva, lo escribimos por separado antes de escribir la estrategia, y luego lo traducimos en código uno por uno.

Siguiente sección

En el desarrollo de estrategias de transacción cuantitativa, si solo se puede elegir un lenguaje de programación, no dude en elegir Python, desde la obtención de datos hasta la recuperación de estrategias y las transacciones, Python ha cubierto toda la cadena de negocios.

Trabajo después de clase

En este capítulo, se trata de una estrategia de dos líneas uniformes. 2. Intentar implementar el algoritmo de puntuación de KDJ con el lenguaje JavaScript de las herramientas de cuantificación de los inventores.

4.3 Una introducción rápida al lenguaje Python

Resumen

En el desarrollo de estrategias de transacción cuantitativa, si solo se puede elegir un lenguaje de programación, no dude en elegir Python, desde la obtención de datos hasta la recuperación de estrategias y las transacciones, Python ya cubre toda la cadena de negocios.

¿Por qué aprender tantos lenguajes?

Repasando las clases anteriores, en el camino, aprendimos juntos: Macrolanguages, Visualization Languages, JavaScript Languages, incluido Python, el lenguaje que se va a aprender en este capítulo.

De hecho, cada lenguaje de programación tiene sus propias características lingüísticas, y estos lenguajes no tienen ventajas o desventajas, más bien es para ver la estrategia más adecuada para qué lenguaje de programación, y si este lenguaje de programación se ajusta a ti mismo. Por lo tanto, hay un dicho que sólo se puede probar personalmente.

Al mismo tiempo, estamos comprometidos a abrir las puertas de la cuantificación a todos, a difundir el conocimiento de todos los lenguajes de programación, a la cuantificación que no es tan profunda y inaccesible como imaginamos, y creemos que la cuantificación futura será generalizada y popular.

¿Por qué elegir Python para transacciones cuantitativas?

El proceso de cuantificación de transacciones no es más que la obtención de datos, el análisis de datos de cálculo, el procesamiento de datos, etc. En términos de análisis de datos, no hay otro lenguaje que pueda calcular y mantener el rendimiento de Python. Especialmente en el procesamiento de datos de análisis de secuencias de tiempo (la línea K es datos de secuencias de tiempo), Python tiene la ventaja de ser más simple y fácil. Además, Python es más sencillo y fácil de aprender que otros lenguajes de programación.

5 razones para elegir Python

1. Cuantificación de uso amplio:

Tanto el estadounidense Quantipian como los inventores locales pueden cuantificar con Python.

2. Es fácil de aprender:

La filosofía de diseño de Python es centrada en el usuario y pertenece a un lenguaje interpretativo fácil de depurar.

3. Fuente abierta y gratuita:

Sin costos de uso, código abierto compartido, mejorando el aprendizaje y la eficiencia de uso.

4. Una rica biblioteca:

El proceso de procesamiento de datos, el cálculo de datos, la visualización, el análisis estadístico, el análisis técnico, el aprendizaje automático...

5. Interfaz de aplicación:

Los datos de las plataformas obtienen una interfaz para almacenar las llamadas con enlaces de transacción en tiempo real.

La estrategia completa

Para ayudar a los lectores a comprender rápidamente los conceptos clave de este capítulo, antes de introducir una introducción rápida a los inventores del lenguaje JavaScript cuantificado, primero hay que tener un conocimiento preliminar de los conceptos de los nombres de este capítulo.

Las opciones abiertas: si no hay posición actual y la media de 5 ciclos es mayor que la media de 20 ciclos.Empezar el negocio sin dinero: si no hay posición actual y la línea media de 5 ciclos es menor que la línea media de 20 ciclos.Posicionamiento múltiple: si se mantiene actualmente varios pedidos, y la media de 5 ciclos es menor que la media de 20 ciclos.Posicionamiento en blanco: si el orden está vacío y la línea media de 5 ciclos es mayor que la línea media de 20 ciclos.

Si se escribe en el lenguaje Python, esto es lo que se ve:imgDiagrama 4 a 29

El código de la imagen anterior es una completa estrategia de transacción cuantitativa escrita en Python. Puede ejecutarse en el disco real y realizar transacciones automáticamente. En términos de código, Python es más que JavaScript, porque no usamos el marco de transacción CTA.

Pero el proceso de diseño de toda la estrategia es casi el mismo: configurar la variedad de mercado, obtener datos de la línea K, obtener información de almacenamiento, calcular la lógica de transacción, comprar y vender. Es decir, aunque la gramática de programación es diferente, la lógica de la estrategia escrita es la misma, entonces ahora vamos a aprender la gramática básica de Python.

Selección de versiones

Hay dos versiones de Python: Python 2 y Python 3. Había un pasaje que decía que Python es como una pistola de doble tubo, pero que se puede lanzar una bala con un solo tubo a la vez, pero nunca se sabe cuál es más exacto. Así que si eres nuevo en Python, es recomendable aprender Python 3 directamente, ya que es el último y la comunidad de Python lo mantiene todo el tiempo.

Identificador

El identificador es el nombre de la variable, como en el siguiente gráfico, test, test10, test10 y test10.Todo en Python (variables, nombres de funciones y operadores) se escribe en mayúsculas, es decir, el nombre de la variable test y el nombre de la variable test son dos variables diferentes. El primer carácter del identificador (nombres de variables, funciones, propiedades, parámetros de funciones) debe ser una letra, un guión.El siguiente gráfico muestra cómo los caracteres pueden ser números.imgDiagrama 4-30

Comentarios

Una anotación es una traducción o interpretación de una línea de código, cuyas reglas son muy simples y incluyen anotaciones de una sola línea y anotaciones a nivel de bloques. Una anotación de una sola línea comienza con un punto ((#), una anotación de bloques comienza con tres comillas (() o tres comillas ((""") y termina con tres comillas (()) o tres comillas ((""")), como se muestra a continuación:imgDiagrama 4-31

La línea y la contracción

La característica principal de Python es el uso de encogimiento para representar bloques de código, sin necesidad de usar paréntesis mayúsculas {}. El número de espacios encogidos es variable, pero las declaraciones del mismo bloque de código deben contener el mismo número de espacios encogidos. Como se muestra a continuación: en este caso, el programa se equivocará. Incluso si la condición es válida, no se emitirá el valor de "true", ya que Python comprobará automáticamente si la sintaxis del código es correcta antes de que el código se ejecute, y si el formato del código es incorrecto, el programa no se ejecutará.imgDiagrama 4-32

Variables

Las variables pueden almacenar cualquier tipo de datos, escribir directamente el nombre de la variable es crear una variable, pero cuando se crea una variable se requiere configurar el valor de la variable al mismo tiempo, de lo contrario, el programa devuelve un error. El operador a la izquierda es un nombre de variable, y el operador a la derecha es un valor almacenado en la variable.imgDiagrama 4-33

Datos

Python tiene seis tipos de datos, de los cuales hay tres datos invariantes y tres datos variables. Una vez que se ha creado un dato invariante, su valor no puede cambiarse y su dirección en memoria es única; los datos variables son referencias a direcciones en memoria que no cambian su dirección en memoria si su valor cambia. Datos invariables (tres): Número (número), String (cuadrícula), Tuple (grupo). Los datos variables (tres): Lista (una lista), Diccionario (un diccionario), Conjunto (una colección).imgDiagrama 4-34

Las cifras

Los tipos numéricos de Python soportan el tipo int ((integral), float (flotado), boolean (bool), complejo (plural) y tipo construido (type) para consultar el tipo de objeto al que se refiere la variable.imgDiagrama 4 a 35

Operador

Como la mayoría de los lenguajes, las operaciones matemáticas en Python son muy intuitivas. Tanto los operadores aritméticos, comparadores como los operadores lógicos son lo que conocemos en la escuela. Los operadores aritméticos son operaciones matemáticas de suma y subtracción, donde los operadores de comparación pueden comparar dos valores menores o menores.imgDiagrama 4-36

Hay que tener en cuenta que: and es lógico con, que significa y . or es lógico o, que significa o . ! es no lógico, que significa o : El androma es cuando todas las condiciones son fortrue y el final es fortrue y el final es fortrue. Si el valor de un valor es el valor del valor de un valor, entonces el valor de un valor es el valor del valor del valor de un valor.

Las prioridades

Si hay una expresión de 100* ((10-1) / ((10+5), ¿qué paso toma el programa para calcular primero? Las matemáticas de secundaria nos dicen: 1 Si es una operación del mismo nivel, generalmente se calcula de izquierda a derecha. 2 Si hay suma y suma y suma, primero se multiplica y luego se calcula suma y suma. 3 Si hay paréntesis, se precede por el paréntesis.imgDiagrama 4-37

El valor de Bull

El tipo de boolean representa verdadero y falso, y se usa generalmente en la determinación de condiciones y en las declaraciones de ciclo. Python define dos constantes que representan el valor de True y el valor de Flase. De hecho, cualquier objeto puede ser convertido a un tipo de boolean, o puede ser utilizado directamente para la determinación de condiciones, como se muestra en la siguiente figura:imgDiagrama 4-38

Las cadenas

Las cadenas son letras, que a menudo se utilizan para configurar el código de variedad. Por ejemplo, las cadenas en Python se enlazan con comillas simples o dobles.imgDiagrama 4-39

Las listas

Las listas son los tipos de datos más usados en Python, y puedes imaginarlas como un contenedor, pero los elementos del contenedor están ordenados de izquierda a derecha, el primer elemento es 0, el segundo elemento es 1, y así sucesivamente. Además, las listas en Python pueden almacenar cualquier tipo de datos, como se muestra en el siguiente gráfico:imgDiagrama 4-40

Función

Las funciones en Python no tienen una diferencia esencial con las funciones de nuestra escuela secundaria, y puedes entender lo que se pasa, lo que se produce a través de la computación de las funciones, como se muestra en el siguiente gráfico:imgDiagrama 44-41

La oración de si

Las declaraciones de if aparecen a menudo en nuestras vidas, por ejemplo: "Si hoy llueve, apuesto"; es decir, la declaración solo ejecutará el código si se especifica la condición como True.imgDiagrama 44-42

Si... y otras frases

Las frases if...else también son frases comunes, como: si hoy llueve, apuesto; de lo contrario, no apuesto. Las frases if...else son una extensión de las frases if, es decir, cuando la condición especificada es Falsa, la fraseelse después de ella ejecuta el código.imgDiagrama 44-43

Las palabras elif

Dado que Python no admite las declaraciones de switch, Python solo puede implementar declaraciones de elif cuando se juzga varias condiciones. Por ejemplo: si es una línea de sol, veo más; de lo contrario, si es una línea de cintillo, veo en blanco; de lo contrario, veo; como se muestra en la siguiente figura:imgDiagrama 44-44

para el ciclo

A veces necesitamos obtener datos de K-línea de los últimos días, necesitamos obtener datos de K-línea de la matriz de K-línea, según la ubicación de los datos de K-línea, entonces es muy conveniente usar el bucle for, como se muestra en el siguiente gráfico:imgDiagrama 4 a 45

ciclo de mientras

Todos sabemos que el mercado está cambiando constantemente, y si quieres obtener el último conjunto de K-direcciones, tienes que seguir ejecutando el mismo código una y otra vez, entonces usa el ciclo de whilx, el ciclo puede obtener el último conjunto de K-direcciones siempre que se especifique la condición de verdad.imgDiagrama 44-46

Las frases de break y continuue

El ciclo tiene un requisito precondicionado, el cual es que el ciclo comienza a hacer algo repetidamente sólo cuando el requisito es "true" y el ciclo termina cuando el requisito es "false". Sin embargo, las declaraciones de break pueden saltar el ciclo inmediatamente durante la ejecución del ciclo; las declaraciones de continue pueden interrumpir un ciclo y continuar el siguiente ciclo, como se muestra a continuación:imgDiagrama 44-47

Las frases de retorno

La instrucción return termina la ejecución de la función y devuelve el valor de la misma. La instrucción return sólo aparece dentro del cuerpo de la función y cualquier otra parte del código puede causar errores de sintaxis.imgDiagrama 44-48

La estructura estratégica

La arquitectura de estrategias puede entenderse como un formato fijo de estrategias, las herramientas de cuantificación de los inventores utilizan un modelo de consulta, a continuación se muestra la arquitectura de estrategias de futuros de productos clásicos.

La línea 4 - 7 es la función de entrada principal del programa, es decir, la computadora ejecuta el código desde la línea 4, y luego ejecuta directamente la línea 5 para entrar en un ciclo infinito; luego ejecuta la función de lógica táctica (onTick) y la función de reposo (Sleep) en un ciclo infinito; la función onTick es la primera línea de código, y puedes escribir la lógica táctica en la segunda línea; sabemos que en el ciclo, la velocidad de ejecución del programa es muy rápida, por lo que el uso de la función de reposo (Sleep) puede detener la sesión, mientras que la siguiente generación de código Sleep (Sleep) es 500 milisegundos cada vez que se ejecuta un ciclo y se reposa.imgDiagrama 44-49

Resumen

Esto es una rápida introducción al lenguaje Python, aunque es sólo un simple conocimiento básico, es bueno para escribir una estrategia de transacción cuantitativa simple. Si necesita escribir una estrategia más compleja, puede consultar la documentación de la API de la lengua de Python, la herramienta de cuantificación de los inventores.

Siguiente sección

En el campo del análisis técnico, las estrategias de tendencia son, sin duda, las dos principales. Aunque el objetivo es capturar las tendencias de los precios, la filosofía de negociación y las características de riesgo de las dos estrategias son muy diferentes. Después de aprender una introducción al lenguaje Python, en la siguiente sección le llevaremos a escribir una estrategia de negociación cuantitativa para romper el canal.

Trabajo después de clase

1. Intentar obtener datos históricos de líneas K en el lenguaje Python de la herramienta de cuantificación de los inventores. 2, Intenta escribir el código estratégico al principio de este apartado y escribe un comentario.

4.4 Cómo implementar transacciones estratégicas en Python

Resumen

En el artículo anterior, aprendimos un resumen del lenguaje Python, gramática básica, marco de estrategia, etc. Aunque el contenido es aburrido, es una habilidad necesaria para implementar estrategias de negociación, que también debe aprender. Entonces, en este artículo, aprovecharemos el calor y continuaremos con los fundamentos de Python del artículo anterior, comenzando con una estrategia simple, aprendiendo de lado, y ayudando a todos a implementar una estrategia de negociación cuantitativa viable paso a paso.

Descripción de la estrategia

De las muchas estrategias de negociación, la estrategia del canal de Dongjian es probablemente una de las estrategias de ruptura más clásicas, ya que se hizo famosa en 1970, cuando las empresas extranjeras realizaron pruebas y estudios de simulación de estrategias de negociación programadas tradicionales, y los resultados mostraron que la estrategia del canal de Dongjian fue la más exitosa de todas las estrategias probadas.

Más tarde, en los Estados Unidos, se produjo el entrenamiento de los más famosos comerciantes de tortugas, que tuvo un gran éxito. Los métodos de negociación de las tortugas eran confidenciales, pero más de una década después, cuando las leyes de comercio de tortugas se hicieron públicas, se descubrió que las tortugas usaban una versión mejorada de la estrategia de Don Quixote.

La estrategia de ruptura es adecuada para las variedades de operaciones con movimiento más fluido. La forma más común de ruptura es utilizar la relación entre el precio y la posición relativa de los soportes y resistencias para determinar el punto de venta de un determinado comercio.

Las reglas estratégicas para el paso de Dongjian

El canal de Dongqian es un indicador de tendencia, que tiene un aspecto y una señal un poco similares a los indicadores de la cinta de Bryn. Pero el canal de Dongqian está construido en función de los precios más altos y más bajos en un período de tiempo. Por ejemplo, en el cálculo del máximo valor de los últimos 50 precios más altos de la línea K, se forma una trayectoria; en el cálculo del mínimo de los últimos 50 precios más bajos de la línea K, se forma una trayectoria. El indicador se compone de tres curvas de diferentes colores, los precios máximos y mínimos por defecto en 20 ciclos para mostrar la volatilidad de los precios del mercado. Cuando su canal es estrecho, indica una menor volatilidad del mercado, mientras que el canal opuesto es más ancho.

Si el precio sube a través de la vía, es una señal de compra; por el contrario, si el precio cae a través de la vía, es una señal de venta. Como su subida y subida se calculan con el precio más alto y el precio más bajo, en general, los precios rara vez suben y caen simultáneamente en la línea del canal. En la mayoría de los casos, el precio se mueve a lo largo de la vía ascendente o descendente, o entre la vía ascendente y la vía descendente.

El método de cálculo del túnel de Dongjian

En la herramienta de cuantificación de los inventores, el método de cálculo del canal de Dongjian es muy simple y puede usarse directamente para obtener el precio más alto o el precio más bajo en un ciclo especificado, como se muestra en el siguiente gráfico: la línea 5 es el valor máximo del precio más alto de 50 ciclos y la línea 6 es el valor mínimo del precio más bajo de 50 ciclos.imgDiagrama 4-50

La lógica estratégica

Hay muchos métodos de uso del canal de Dongguan, que se pueden utilizar por separado o en combinación con otros indicadores. En este curso, vamos a utilizar el método de uso más simple. Es decir, cuando el precio se rompe la trayectoria de arriba hacia abajo, es decir, rompe la línea de presión superior, pensamos que la fuerza multilateral se está fortaleciendo, una ola de crecimiento se ha formado y se ha generado una señal de compra y apertura de posición; cuando el precio se rompe la trayectoria desde arriba hacia abajo, es decir, rompe la línea de soporte, pensamos que la fuerza superior se está fortaleciendo, una ola de tendencia bajista se ha formado y se ha producido una señal de venta.imgDiagrama 4-51

Si después de comprar una posición abierta, el precio vuelve a caer a la trayectoria media del corredor de Dongguan, creemos que la fuerza multilateral se está debilitando, o la fuerza aérea se está fortaleciendo, y se produce una señal de liquidación; si después de vender una posición abierta, el precio vuelve a caer a la trayectoria media del corredor de Dongguan, creemos que la fuerza aérea se está debilitando, o la fuerza multilateral se está fortaleciendo, y se produce una señal de liquidación.

Condiciones de compra y venta Las opciones abiertas: Si no hay existencias y el precio de cierre es mayor que el precio de ventaEmpezar el negocio sin dineroSi no hay existencias y el precio de cierre es inferior a la delantera:Posicionamiento múltiple: si tiene más pedidos y el precio de cierre es menor que el precio medioPosicionamiento en blanco: Si tiene un billete vacío y el precio de cierre es mayor que el precio medio

Implementación del código de la estrategia

El primer paso para implementar la estrategia es obtener datos, ya que los datos son parte de la estrategia de negociación, imagine qué datos necesitamos y cómo obtenerlos. Luego, el diseño de la lógica de negociación se basa en estos datos.

El primer paso: usar el catálogo de transacciones

Puedes imaginar la librería de operaciones como un módulo funcional, y la ventaja de usar una librería de operaciones es que te permite poner tu energía en la escritura de la lógica de la estrategia. Por ejemplo: cuando usamos la librería de operaciones, cuando abrimos una operación, se puede usar directamente la API de la librería de operaciones; pero si no usamos la librería de operaciones, cuando abrimos una operación, se necesita acceder a los precios de la operación, se necesita considerar los problemas de los boletos de facturación pero no se realizan transacciones, se necesita considerar los problemas de retirada de pedidos, etc.imgDiagrama 4-52

El gráfico anterior es el marco de la estrategia de CTA que utiliza las herramientas de cuantificación de los inventores. Es un formato de código fijo en el que todos los códigos de lógica de transacción se escriben desde la línea 4.

La librería de clases de plantillas de JavaScript está incorporada, Python necesita copiar y guardar esta plantilla:https://www.fmz.com/strategy/24288También puede realizar la política sin usar la librería de modelos.

img

Paso 2: Obtener datos de todo tipo

Piense en qué datos se necesitan. Descubra de nuestra lógica de negociación estratégica: primero se necesita obtener el estado actual de las tenencias, luego comparar la relación entre el precio de cierre y la trayectoria media en el índice de la banda de Bryn, y finalmente determinar si el mercado está a punto de cerrar.

Obtener datos de la línea K

Primero, se obtiene un conjunto de K líneas y el precio de cierre actual de K líneas, ya que con un conjunto de K líneas, se puede llamar a una API para obtener el precio más alto o el precio más bajo de N ciclos.imgLas imágenes 4-53 En la imagen de arriba: Línea 4: Obtener el conjunto de K líneas, que es un formato fijo. Línea 5: Filtrar la longitud de la K-línea, porque hemos calculado el precio máximo o mínimo de N ciclos, el parámetro es 50, cuando la K-línea es menor a 50, no se puede calcular. Por lo tanto, aquí se filtra la longitud de la K-línea, si la K-línea es menor a 50, se salta este ciclo y continúa esperando la siguiente K-línea. Línea 6: Utilizamos el código len (records - 1) para obtener el último dato de la matriz de K, es decir, el último dato de la línea K. Este dato es un objeto que contiene: el precio de apertura, el precio máximo, el precio mínimo, el precio de cierre, el volumen de transacción, el tiempo, etc.

Obtención de datos de almacenamiento

La información de tenencia es una condición muy importante en la estrategia de negociación cuantitativa. Cuando se establecen las condiciones de negociación, también se necesita determinar si se realiza un pedido mediante el estado de tenencia y el número de tenencias. Por ejemplo: cuando se establecen las condiciones de negociación de compra y venta, si hay tenencia, no es necesario realizar un pedido repetido; si no hay tenencia, se puede realizar un pedido.imgLas imágenes 4-54

La imagen de arriba muestra: Esta es una función que obtiene información de almacenamiento, y devuelve 0 si el almacenamiento está vacío; 1 si tiene varios pedidos; y -1 si tiene pedidos vacíos. Línea 2: Crear una función llamada mp, que no tiene parámetros. Línea 3: Obtención de la matriz de almacenamiento, que es un formato fijo. Línea 4: Determine la longitud de la matriz de almacenamiento, si su longitud es igual, que debe ser un espacio libre, por lo que devuelve 0. Línea 6: Usando el bucle for, comienza a recorrer el conjunto, la siguiente lógica es muy simple, si se mantiene una lista múltiple, se devuelve 1; si se mantiene una lista vacía, se devuelve −1. Línea 18: Llama a la función de obtener información de almacenamiento que acabas de escribir.

Obtenga los precios más altos y más bajos de las 50 líneas K más recientes

En las herramientas de cuantificación de los inventores, se puede obtener directamente la función TA.Highest TA.Lowest TA.Lowest TA.Lowest sin tener que escribir la lógica del cálculo. Y la función TA.Highest TA.Lowest TA.Highest TA.Lowest TA.Lowest TA.Lowest regresa el resultado de valores específicos en lugar de una matriz.imgDiagrama 4-55

La imagen de arriba muestra: Línea 19: Llama a la función TA.Highest para obtener el valor máximo del precio máximo de 50 ciclos Línea 20: Llama a la función TA.Lowest para obtener el valor mínimo del precio mínimo de 50 ciclos Línea 21: Se calcula la media basándose en el valor máximo del precio más alto de 50 ciclos y el valor mínimo del precio más bajo de 50 ciclos

El tercer paso: hacer el pedido

Con los datos anteriores, se puede escribir la lógica de transacción y el código para realizar la transacción. El formato también es muy simple, y el más común es el de la oración de la oración, que se puede describir como: si se cumplen las condiciones 1 y 2, se cumple; si se cumplen las condiciones 3 o 4, se cumple.imgDiagrama 4-56

La imagen de arriba muestra: Línea 22: Utiliza una biblioteca de clases de transacciones, que es un formato fijo Líneas 23 y 24: Esta es una frase simple, en la que se usan las funciones de comparación de cuentas y las funciones de lógica de cuentas que hemos aprendido anteriormente, lo que significa que si se mantiene una cantidad de cuentas y el precio de cierre es menor que el trayecto medio, se nivelarán todas las posiciones. Líneas 25 y 26: Esta es una frase de la lista vacía, que utiliza el operador de comparación y el operador de lógica de la hoja de cálculo que hemos aprendido anteriormente, lo que significa que si se tiene una lista vacía y el precio de cierre es mayor que la línea media, se nivelarán todas las posiciones. Línea 27: Determine el estado actual de la reserva, y si la reserva está vacía, el siguiente paso. Líneas 28 y 29: para determinar si el precio de cierre es mayor que el de salida, si el precio de cierre se eleva a través de la salida, comprar la posición abierta. Líneas 30 y 31: para determinar si el precio de cierre es menor que el bajista, si el precio de cierre cae por debajo del bajista, se vende la posición abierta.

Resumen

En este artículo, aprendemos cada paso para desarrollar una estrategia de negociación cuantitativa completa en Python, incluyendo: estrategias de descripción, métodos de cálculo de canales de Dongjian, lógica de estrategias, condiciones de compra y venta, implementación de código de estrategias, etc. Este capítulo es solo una estrategia simple, como un juego de cartas, no hay más de una manera, puedes superponer diferentes métodos de negociación según tu sistema de negociación, formando así tu propia estrategia de negociación cuantitativa.

Siguiente sección

En el desarrollo de estrategias de transacción cuantitativa, desde el punto de vista de la velocidad de ejecución de los lenguajes de programación, solo puede ser C ++ el lenguaje más rápido. Especialmente en el área de derivados y transacciones de alta frecuencia, C ++ es un lenguaje específico y único, C ++ tiene ventajas en el cálculo numérico, lo que mejora la velocidad en comparación con JavaScript y Python, y este será un curso que no debe perderse si desea avanzar en el futuro en el área de derivados y transacciones de alta frecuencia.

Trabajo después de clase

En este sentido, el Gobierno de la República de China ha adoptado una estrategia para la implementación de esta sección, que comienza desde el inicio. 2.Intente añadir un indicador uniforme a la estrategia de esta sección y reducir la frecuencia de transacción.

Capítulo V: Revisión, desactivación y mejora estratégica

5.1 Significado y trampas de la reevaluación

Resumen

La retrospección es el punto en el que las transacciones cuantitativas son muy diferentes de las transacciones tradicionales, basadas en datos reales de mercado que han ocurrido históricamente, el desencadenamiento y captura de señales estratégicas de simulación rápida, la generación de informes de rendimiento durante un período de tiempo, etc. Los mercados nacionales y extranjeros de acciones, futuros de productos y divisas son uno de los componentes más importantes del desarrollo estratégico.

Significado de las revisiones

En los capítulos anteriores hemos aprendido las partes básicas de los lenguajes de programación principales, y enseñamos a los usuarios a utilizar estas bases de programación para escribir algunas estrategias de transacción simples. Se puede decir que el viaje de miles de kilómetros ha recorrido la mitad. Sin embargo, una estrategia escrita definitivamente no puede ser puesta en marcha directamente, sino que también requiere una serie de retoques, retoques, retoques, retoques, retoques, etc., hasta que la política pueda implementar completamente el contenido del modelo y pueda funcionar sin problemas.

Desde el punto de vista de la lógica de negociación cuantitativa, la estrategia se basa en una serie de percepciones y hipótesis sobre el mercado, y la retrospección puede determinar de manera eficiente si estas hipótesis son válidas y estables.

Además, desde el punto de vista de la operación de operaciones cuantificadas, la retrospección puede ayudar a detectar errores en la lógica de la estrategia, como funciones futuras, precios robados, ajustes múltiples, etc.; proporciona evidencia confiable de que la estrategia se puede utilizar para operaciones en vivo.

  • La verificación de la exactitud de las señales de transacción.
  • En el caso de las empresas, el objetivo es que las empresas tengan una mejor relación con los clientes.
  • En la actualidad, la mayoría de las empresas de comercio electrónico están desarrollando estrategias de intercambio de datos.

Por lo tanto, el significado de retrospectiva es recuperar el proceso de negociación real lo más real posible con datos históricos, verificar la efectividad de la estrategia, evitar el precio costoso de las estrategias equivocadas y ayudarnos a filtrar, mejorar y optimizar las estrategias de negociación.

La trampa de la retrospección

La señal de detección de la trampa parpadea:

La estrategia de negociación se basa en datos históricos estáticos cuando se retrasa; mientras que los datos de las transacciones reales son dinámicos. Por ejemplo, si el precio máximo es mayor que el precio de cierre del día anterior, se compra una posición abierta. Esta condición de apertura de la posición es que, en el disco real, si la línea K no ha terminado, el precio máximo es dinámico y las señales comerciales pueden parpadear.

La función futura de las trampas:

Las funciones futuras se utilizan a precios futuros, es decir, las condiciones actuales pueden ser modificadas en el futuro, y las funciones futuras también pueden causar un parpadeo de la señal.

Como se muestra a continuación: la función de conversión de palabras indica los puntos de inflexión de los picos de onda y los valles de onda, y puede ajustar su valoración en función del último precio en tiempo real, pero si el precio actual cambia, el resultado del cálculo de la función de conversión de palabras también cambiará.imgFigura 5-1

El precio de las trampas de detección

El robo de precios se refiere a la utilización de precios pasados para negociar. Por ejemplo: si el precio más alto es mayor que un precio fijo, se compra al precio de apertura. Esta condición es el robo de precios, ya que en el mercado real, cuando el precio más alto es mayor que un precio, el precio ya está a cierta distancia del precio de apertura, en este momento no se puede comprar con el precio de apertura.

También hay un caso en el que si el precio se eleva a un precio fijo establecido por la estrategia, se puede negociar a un precio fijo en la revisión, pero en el mercado real este precio fijo es obviamente inalcanzable.

El precio imposible de la trampa

Los precios no negociables se dividen en varias situaciones: La primera: en el mercado real, el parón no se puede comprar en general, y al revés, el descenso también.

El segundo tipo: el mecanismo de toma de fotos de los intercambios es: prioridad de precio, prioridad de tiempo. Algunas variedades de ofertas a menudo tienen grandes pedidos, en el mercado real, si el listado de compras y ventas, es necesario esperar el espesor del listado, para negociar o incluso no negociar. Pero en la revisión, el listado de compras y ventas es posible negociar.

Tercero: si la estrategia de interés, entonces la rentabilidad de retroceso es muy alta, ya que en el retroceso cada vez se ha asumido que se han agarrado a estos diferenciales de precios. En la realidad, muchos diferenciales de precios no se pueden agarrar, o sólo se agarra una pierna, en general, sin duda es perjudicial para su dirección, la primera transacción, entonces es necesario inmediatamente para complementar la otra pierna, en este momento el punto de deslizamiento ya no es de 1 o 2 puntos, y la estrategia de interés en sí se agarra a los precios de los puntos de diferencia, esta situación no se puede simular en el retroceso.

El cuarto tipo: el evento del cisne negro. En el círculo rojo, en el evento del cisne negro del cambio suizo, aunque aparentemente se ve el precio de apertura, el precio más alto, el precio más bajo y el precio de cierre, en realidad, en el mercado extremo del día, el precio intermedio es un vacío, una gran cantidad de órdenes de suspensión de pérdidas, lo que causa un incidente de pisado, la liquidez es cero, la dificultad de la transacción es muy grande, pero se puede detener el pérdida en la revisión.imgFigura 5 y 5

Re-detecta el exceso de ajuste de las trampas

Cada vez que veo el siguiente gráfico, mi pensamiento es: hahahahahaha... Como se puede ver en el siguiente gráfico, un modelo absurdo, siempre y cuando sea lo suficientemente complejo, puede adaptarse perfectamente a los datos.imgFigura 5 y 5.

Para las transacciones cuantificadas, la retrospección se basa en datos históricos, pero la muestra de datos históricos es limitada si la estrategia de transacción tiene demasiados parámetros o la lógica de transacción es demasiado compleja, lo que resulta en que la estrategia de transacción se adapte demasiado a los datos históricos.

El proceso de modelado de estrategias de cuantificación es esencialmente un proceso de búsqueda de datos no aleatorios locales de una gran cantidad de datos aparentemente aleatorios, que pueden caer fácilmente en la trampa del exceso de ajuste si no se utiliza el conocimiento de la estadística.

Por lo tanto, no se engañe. Si descubre que los datos de la muestra externa no funcionan bien, y siente que es demasiado triste perder el modelo o no quiere admitir que su modelo no funciona, y continúa optimizando el modelo con los datos de la muestra externa hasta que se muestren tan bien en los datos de la muestra externa, la última herida será su verdadera plata.

Los supervivientes de la trampa se han desviado

Hay un chiste muy popular en Wall Street: supongamos que hay 1.000 monos en el mercado, eliminamos 500 monos que pierden en el primer año; eliminamos la mitad en el segundo año y quedamos con 250 monos; y al final del tercer año quedamos con 125 monos.imgFigura 5 a 5

En el noveno año, con el último mono. Y luego ves, mira, mira, mira a la izquierda y a la derecha, y te sientes bien. Y al ver la última portada de la revista Financial, de repente pienso, ¡oh, oh, no es Buffett!

Por supuesto, es una broma, pero ¿ha pensado que si hay 1000 gestores de fondos, después de 10 años, unos 10 gestores de fondos estarán ganando y ganando el mercado durante 10 años consecutivos?

Como el resultado de la revisión a la izquierda del siguiente gráfico, creo que la mayoría de los inversionistas van a estar contentos. La estrategia de inversión ha tenido un rendimiento muy sólido y casi no ha retrocedido significativamente.imgFigura 5 y 5.

Y lento, como se muestra en el gráfico a la derecha, la verdadera situación está dentro. La curva de retrospección de la izquierda es solo la que mejor se desempeña entre muchas retrospecciones. Es decir, hay muchas situaciones de peor desempeño detrás de la retrospección de la izquierda.

Los costos de impacto de las trampas

En un entorno de negociación real, el precio siempre fluctúa, y el momento en que usted espera una oportunidad de negociación, el momento en que se realiza el pedido, el precio puede haber cambiado. Por lo tanto, los problemas de punto de deslizamiento son inevitables, ya sea en la negociación subjetiva o en la negociación cuantitativa.

Sin embargo, la retroalimentación se basa en datos estáticos, y es difícil simular el entorno de negociación real. Por ejemplo: el precio de la orden es de 1050 compras, pero el precio de la transacción real puede ser de 1051. Hay muchos principios que causan este fenómeno, como: vacío de liquidez en el mercado extremo, retraso de la red, hardware del sistema de software, respuesta del servidor, etc.

Retrospección sin puntos de deslizamiento

imgDiagrama 5 y 6

Como se muestra en el gráfico anterior, es una revisión sin puntos de deslizamiento, la curva de capital es bastante buena, pero en el mercado real hay una diferencia entre el precio de la transacción real y el precio de la transacción ideal de la revisión estratégica. Por lo tanto, para reducir este error, se pueden establecer dos puntos de deslizamiento para aumentar el precio de compra o reducir el precio de venta cuando se realiza la revisión estratégica.

Además de la revisión del punto de deslizamiento

imgFigura 5 y 7.

Como se muestra en la imagen anterior, la misma estrategia, si se añade 2 saltos de deslizamiento después, los resultados de la retrospección son muy diferentes de los resultados de la retrospección sin saltos de deslizamiento, entonces también significa que la estrategia necesita ser mejorada o eliminada. En particular, las estrategias con una frecuencia de transacción más alta, que se añaden 1-2 saltos de deslizamiento en la retrospección, pueden hacer que la retrospección se acerque más al entorno comercial real.

Resumen

Algunos pueden preguntarse, ¿cómo puedo demostrar que mi estrategia no tiene problemas, ya que puede haber tantos problemas con la cuantificación de las transacciones? La respuesta es simple: primero hay que simular las transacciones durante un tiempo antes de que la estrategia se realice. Si el precio de transacción de la imitación de la transacción es similar al precio de transacción al volver a medir, entonces la estrategia no tiene problemas, al menos la lógica estratégica no tiene problemas.

De todos modos, para un desarrollador de sistemas de negociación con experiencia, la retroevaluación es una necesidad; porque te dice si una idea estratégica puede ser probada en el comercio histórico; pero muchas veces la retroevaluación no significa que sea rentable en el futuro; porque hay demasiados agujeros dentro de la retroevaluación y no puedes entender las lecciones sin comprar dinero; y estas lecciones están hechas de oro y plata de verdad.

Trabajo después de clase

1 ¿Qué es el exceso de adecuación y cómo evitarlo? 2 ¿Cuáles son las perversiones de los supervivientes en la vida real?

5.2 Cómo hacer una revisión de transacciones cuantitativa

Resumen

El significado y la importancia de la retroalimentación están en duda, y cuando se realiza la retroalimentación cuantitativa, la estrategia debe estar lo más posible en el contexto real de la historia, ya que si se ignoran los detalles del contexto histórico, puede resultar que la totalidad de la retroalimentación cuantitativa no sea válida.

La retrospección es equivalente a la reproducción de datos, mediante la reproducción de datos históricos de la línea K y la simulación de reglas reales de negociación, para agregar datos sobre el índice de Sharpe, la tasa de retraso máxima, la rentabilidad anual, la curva de capital y otros datos en un período de tiempo. Actualmente, hay muchos programas que pueden realizar retrospecciones, como la finanza cultural china, la VNPY que se puede personalizar con flexibilidad, etc.

Los inventores de la cuantificación como un software comercial de transacción de cuantificación, que viene con un motor de retorno de alto rendimiento, que utiliza un marco de retorno de for-loop, para realizar el cálculo de la cuantificación vectorial, más rápido. Y unificar la retorno y el código de la placa real, en parte para resolver la dificultad de la prueba de retorno fácil y la placa real.

Interfaz de prueba de resonancia

En la página web de los desarrolladores de herramientas de transacción cuantificadas, utilizamos la estrategia de la lengua de Mac cuantificada por los inventores.www.fmz.comEn este caso, haga clic en el Centro de control, librería de políticas, seleccione una estrategia, analógica de retrospección, para acceder a las siguientes páginas:imgGráfico 5 y 8

En la interfaz de configuración de la revisión, se puede personalizar según sus necesidades reales. Por ejemplo, puede establecer el tiempo de revisión, el ciclo de la línea K, el tipo de datos (datos de nivel analógico o datos de nivel de disco real). En comparación, la revisión de datos de nivel analógico es más rápida y la revisión de datos de nivel de disco real es más precisa).

La estrategia de la lengua de Mac en la herramienta de negociación cuantificada del inventor tiene dos modos de ejecución de retrospección: el modelo de precio de cierre y el modelo de precio real. El modelo de precio de cierre indica que el modelo se ejecuta al final de la línea K actual y se ejecuta al comienzo de la línea K inferior. El modelo de precio real indica que se ejecuta un modelo cada vez que cambia el precio y se negocia inmediatamente cuando se crea la señal de negociación.imgFigura 5 y 9

El número de posiciones abiertas por defecto se refiere al número de posiciones abiertas en el momento de la retroevaluación, y el número máximo de posiciones abiertas en una sola operación es el número máximo de posiciones abiertas en una sola operación que se encarga al motor de retroevaluación. El nivel de transacción en el disco real se desvía entre el nivel de transacción y el nivel de transacción predeterminado. Este desvío generalmente se mueve en una dirección desfavorable para el operador, lo que provoca pérdidas adicionales en la transacción, por lo que es necesario agregar puntos de deslizamiento.

Las opciones de futuros contienen la variedad de contratos que se reanudarán, como rb000 o rb888. Las opciones de disco real se utilizan principalmente para operaciones en disco real y se mantienen por defecto en la reanálisis. Si el progreso de recuperación automática se hace clic en verdad, cuando la política detiene el robot en el disco real, el bot se reinicia automáticamente y recupera la posición de la señal antes, sin necesidad de volver a calcular la señal.imgFigura 5 y 10

Las opciones de negociación al contado están dirigidas principalmente a las transacciones de divisas digitales, y pueden mantenerse por defecto en la retroalimentación. Se puede especificar el volumen de transacción, el volumen mínimo de transacción, la precisión de la moneda fijada, la precisión de la variedad de transacciones, las tarifas de tramitación, el tiempo de sincronización de cuentas, el intervalo de estadísticas de ganancias y pérdidas, etc., además de establecer el multiplicador de apalancamiento y otros ajustes relacionados para los intercambios de divisas digitales individuales.imgDiagrama 5-11

Retrospectiva estratégica

Antes de volver a evaluar, primero define tu estrategia de negociación, aquí tenemos el ejemplo de la estrategia del termostato del termostato, que se basa en el estado del mercado, en la estrategia de tendencia en un mercado de tendencia y en la estrategia de conmoción en un mercado de conmoción. El código fuente se muestra a continuación (también se puede descargar directamente en la plaza de estrategias de la página web del inventor):imgFigura 5 a 12 En la interfaz de revisión analógica, después de configurar la configuración de revisión, haga clic directamente en el botón de inicio de revisión, y después de decenas de segundos, los resultados de la revisión se mostrarán inmediatamente. En el registro de revisión, se registra la cantidad de segundos en que se utiliza la revisión, el total de registros y el número de transacciones. En él, la información de la cuenta se imprime para revisar los resultados finales de la estrategia: ganancias promedio, pérdidas de almacenamiento, pérdidas de garantía, tarifas de tramitación y ganancias estimadas, etc.imgFigura 5 a 13

En la barra de información de estado se registra la variedad de transacciones, el volumen de tenencia, el precio de tenencia, el precio más reciente, el tipo de señal anterior, el precio más alto y el precio más bajo después de la tenencia, el número de actualizaciones y el tiempo, así como la información de fondos. Además, en la etiqueta de ganancias y pérdidas flotantes, se muestra la curva de fondos detallada de la cuenta, y también incluye indicadores de rendimiento de uso común: rendimiento, rendimiento anualizado, tasa de Sharpe, máxima volatilidad anual, tasa de retiro, lo que satisface básicamente las necesidades de la gran mayoría de los usuarios.

El indicador de rendimiento más importante es el índice de Sharpe. Es un indicador integral que considera tanto los beneficios como los riesgos, y también es un indicador de referencia importante para medir el producto de un fondo.

La volatilidad anual, como su nombre lo indica, es la volatilidad diaria x el número de días de negociación por año, que mide el riesgo del fondo, pero no todo el riesgo. Por ejemplo, la estrategia A tiene una gran volatilidad, pero siempre oscila hacia arriba, un buen rendimiento, la estrategia B tiene una pequeña volatilidad, pero siempre está inmóvil, ¿podemos decir que la estrategia B es mejor que la estrategia A?imgFigura 5 a 14

Por último, en la barra de información del registro, se registra en detalle la toma de cada transacción en el momento de la retrospección, incluida la hora en que se realizó la transacción, el mercado, las compras y ventas y el tipo de posición abierta, el precio de finalización de la transacción tomada por el motor de retrospección, el número de transacciones y la información de impresión, entre otros.imgFigura 5-15

Después de las revisiones

Muchas veces, incluso en la mayoría de los casos, los resultados de la retrospección son muy diferentes de lo que se espera. Después de todo, una estrategia de rentabilidad estable y duradera no es tan fácil de obtener, requiere que tengas una gran capacidad de percepción del mercado.

Si su estrategia de reevaluación es un resultado de pérdida, no se desanime, esto es normal. Primero, vea si la lógica estratégica está mal escrita, si se han adoptado parámetros extremos, si se han abierto demasiadas condiciones de liquidación, etc., y si es necesario, puede revisar su estrategia de negociación y su idea de negociación desde otro punto de vista.

Si tu estrategia de retrospección es muy buena, la curva de capital es muy perfecta, el índice de Sharpe es superior a 1 o incluso más. No te apresures a alegrarte, en la mayoría de los casos, estas situaciones se eliminan utilizando funciones futuras, o precios robados, o exceso de ajuste, o sin establecer puntos de deslizamiento, etc.

Resumen

Lo anterior es una introducción de todo el proceso de retrospección de la estrategia de negociación, que se puede decir que ha sido concretado en cada detalle. Es necesario tener en cuenta que, después de todo, el retrospección de datos históricos es un entorno ideal en el que se conocen todos los riesgos. Por lo tanto, el tiempo de retrospección de la estrategia es mejor experimentar una ronda de mercado bajista, el número de operaciones efectivas no debe ser inferior a 100 veces, para evitar el desvío de algunos sobrevivientes.

Los mercados siempre están cambiando y evolucionando, las buenas estrategias de retrospección histórica no significan que sean buenas en el futuro, y no se puede hacer que las estrategias solo se adapten a los riesgos conocidos en el entorno de retrospección, sino más bien a los riesgos desconocidos en el futuro. Por lo tanto, es muy necesario aumentar la resistencia al riesgo y la universalidad de las estrategias.

Trabajo después de clase

1. Intenta copiar las políticas de esta sección y revisa el informe de rendimiento. 2. Intentar mejorar y optimizar las estrategias de esta sección en base a su experiencia comercial.

5.3 Cómo leer los informes de rendimiento de las revisiones estratégicas

Resumen

Una vez que nuestra estrategia de revisión completa, el inventor de la herramienta de comercio cuantitativo de salida en la página web que contiene una variedad de indicadores de rendimiento, gráficos de curvas de ganancias. Pero tal vez debido a que no estamos muy familiarizados con la definición y el contenido de estos indicadores, lo que hace que la estrategia de evaluación de grupos no sea buena, este artículo comenzará con los principales conceptos de indicadores para ayudar a entender la estrategia de revisión de la estrategia de rendimiento de informes, distinguir las ventajas y desventajas de la estrategia.

Una evaluación objetiva y completa

Ya sea que se trate de un registro de datos de transacciones en vivo o de un reporte de pruebas que utilice datos históricos de retroceso (back-testing), las ventajas y desventajas de los modelos se evalúan a través de estadísticas sobre las transacciones.

La pregunta es, ¿con qué estadísticas se debe comparar? Primero, vamos a ver un ejemplo: si tomamos dos conjuntos de datos en el mismo período de tiempo, como se muestra en el gráfico, ¿podemos determinar cuál modelo funciona mejor?imgFigura 5 y 16

La respuesta es que no. La unilateralidad del sistema de valoración llevará al sistema de transacciones cuantitativas a la inestabilidad.

El sistema de negociación debe ser capaz de entrar en funcionamiento a través de la retroalimentación histórica. Un sistema de negociación que no pueda pasar por la retroalimentación histórica no puede obtener ganancias a largo plazo en las transacciones reales. La retroalimentación histórica es un elemento previo necesario para que el sistema de negociación entre en funcionamiento.

Un sistema de negociación que puede ser revisado históricamente no es necesariamente un sistema de negociación útil, pero no lo es. En general, necesitamos analizar los informes de rendimiento desde el punto de vista de la estabilidad, la sostenibilidad, el juicio de si se está esperando.imgFigura 5 a 17

Como se muestra en la imagen anterior, los traders que han estado en contacto con la cuantificación pueden haber encontrado una serie de términos de datos repetitivos y difíciles de entender, incluso en los datos de rendimiento, muchos de los datos son contradictorios.

Los indicadores de rendimiento en el gráfico anterior, en general, se pueden dividir en varias categorías: índices de rendimiento, análisis de ciclo, curvas diversas, análisis de operaciones extremas, etc. Incluso desde el punto de vista estricto de los productos de los fondos, la mayor parte es solo la presentación de los resultados de los cálculos de retrospección, que en realidad no tienen mucho sentido, como por ejemplo: necesidades de fondos en la cuenta, ganancias mantenidas, límites de confianza, etc. Incluso, solo necesita centrarse en algunos importantes. A continuación, seleccioné algunos de los indicadores de rendimiento de retrospección, los más importantes para una explicación detallada.

Indicadores de rendimiento importantes

Maximación de la tasa de retirada de activos (Max Drawdown)

La fórmula para calcular la máxima regresión es la siguiente, para


Relacionados

Más.

Hailhydra2¡Qué buen artículo!

Cuantificación del espacio librela marca