Visual lenguaje de programación implementación de estrategias comerciales
En la sección anterior, aprendimos sobre la introducción y las características de la herramienta de programación visual, el ejemplo de "hello world", y la estrategia de escritura en la plataforma de trading FMZ Quant para explicar la premisa de la implementación de la estrategia de trading.
Incremento de las etapas
1, el porcentaje de rasado de etapa K-línea se calcula por el precio de cierre de la línea actual K con la diferencia del precio de cierre anterior de N períodos.
En el código anterior, la forma en que una computadora para ejecutar la estrategia requiere un ciclo completo, por ejemplo, para calcular el último incremento de la etapa de línea 10 k, usted necesita ser dividido en los siguientes pasos:
Por ejemplo, establecer el código del contrato en
2, Después de establecer el código del contrato, puede obtener los datos de la línea K del contrato.
3, con los datos de la línea K, puede obtener datos detallados de cualquier línea K específica de él.
4, Para obtener los datos estadísticos del incremento de etapa, primero debe obtener dos precios de cierre de la línea K, por ejemplo: los datos del precio de cierre de la línea k anterior y los datos del precio de cierre de la línea k anterior.
5, por último, calcular el incremento de la etapa a partir de estos 2 K-línea precio de cierre.
Cada una de las siguientes estrategias tendrá una declaración lógica tan clara como la anterior, una vez que entiendas la declaración lógica, la programación visual se vuelve mucho más fácil.
Por ejemplo: Si el precio de cierre de la línea K actual es 1,5 veces el precio de cierre de las 10 líneas K anteriores, lo que significa que en 10 días, el precio ha aumentado un 50%; y el volumen de negociación también aumentó más de 5 veces las 10 líneas K anteriores. se puede escribir:
La brecha de precios es el caso en que los precios más altos y más bajos de las dos líneas K no están conectados. Consiste en dos líneas K, y la brecha de precios es el precio de referencia de los puntos de apoyo y presión en el movimiento de precios futuro. Cuando ocurre una brecha de precios, se puede asumir que ha comenzado una aceleración a lo largo de la tendencia con la dirección original. se puede escribir:
Desde un punto de vista estadístico, el promedio móvil es el promedio aritmético del precio diario, que es una trayectoria de precios de tendencia. El sistema de promedio móvil es una herramienta técnica común utilizada por la mayoría de los analistas. Desde un punto de vista técnico, es un factor que afecta el precio psicológico de los analistas técnicos.
El indicador MACD es una operación de doble suavizado que utiliza promedios móviles rápidos (a corto plazo) y lentos (a largo plazo) y su agregación y separación. El MACD desarrollado de acuerdo con el principio de promedios móviles elimina el defecto de que el promedio móvil emite frecuentemente señales falsas, y también retiene el efecto del otro aspecto bueno. Por lo tanto, el indicador MACD tiene la tendencia y la estabilidad del promedio móvil.
El indicador KDJ es un indicador técnico utilizado para analizar y predecir los cambios en las tendencias de las acciones y los patrones de precios en un activo negociado.
KDJ es una forma derivada del indicador del oscilador estocástico con la única diferencia de tener una línea adicional llamada línea J. Los valores de las líneas %K y %D muestran si el valor es sobrecomprado (más de 80) o sobrevendido (por debajo de 20).
El mentor de Warren Buffett, Benjamin Graham, una vez mencionó en el libro <
El 50% de los fondos en manos se invierten en fondos de capital, y el 50% restante se invierten en fondos de bonos.
Un reequilibrio de la posición de activos basado en intervalos fijos o cambios de mercado restablece la relación entre los activos de acciones y los activos de bonos a un nivel inicial de 1:1.
Esta es toda la lógica de toda la estrategia, incluyendo cuándo comprar y vender, y cuánto comprar y vender.
No. 2
En este método, la volatilidad de los fondos de bonos es en realidad muy pequeña, muy por debajo de la volatilidad de las acciones, por lo que los bonos se utilizan aquí como "anclajes de referencia", es decir, utilizando bonos para medir si las acciones están aumentando demasiado o demasiado poco.
Si el precio de las acciones aumenta, el valor de mercado de las acciones será mayor que el valor de mercado del bono. Cuando la relación del valor de mercado de estos dos exceda el conjunto de un umbral, la posición total se reajustará, las acciones se venderán y el bono se comprará para que el valor de las acciones al valor del bono se restablezca a la relación inicial de 1: 1.
Por el contrario, si el precio de las acciones cae, el valor de mercado de las acciones será menor que el valor de mercado del bono. Cuando la relación del valor de mercado de estos dos excede el conjunto de un umbral, la posición total se reajustará, se comprará la acción y se venderá el bono para que la relación de capitalización de mercado del valor del bono al valor de las acciones se restablezca a la inicial de 1: 1.
De esta manera, la relación entre el equilibrio dinámico de las acciones y los bonos es suficiente para disfrutar de los beneficios del crecimiento de las acciones y reducir la volatilidad de los activos.
Ya que esta es una estrategia completa y mutua, ¿por qué no la usamos en el mercado de criptomonedas?
No. 3
La lógica de la estrategia
De acuerdo con el valor actual de BTC, el saldo de la cuenta se mantiene en $5000 en efectivo y 0.1 BTC, es decir, la relación inicial de efectivo al valor de mercado de BTC es 1:1.
Si el precio del BTC sube a $6000, es decir, el valor de mercado del BTC es mayor que el saldo de la cuenta, y la diferencia entre ellos excede el umbral establecido, entonces se venden (6000-5000)/6000/2 monedas.
Si el precio del BTC cae a $ 4000, es decir, el valor de mercado del BTC es menor que el saldo de la cuenta y la diferencia entre ellos excede el umbral establecido, compre (5000-4000) / 4000/2 monedas.
De esta manera, independientemente de si el BTC se aprecia o se deprecia, el saldo de la cuenta y el valor de mercado del BTC siempre se mantienen dinámicamente iguales.
Condiciones de compra: si el valor de mercado de la posición corriente menos el saldo disponible corriente es inferior al 5% del saldo disponible corriente, abrir la posición para comprar.
Condiciones de venta: si el valor de mercado de la posición corriente menos el saldo disponible corriente es superior al 5% del saldo disponible corriente, abrir la posición para vender.
Cotación de mercado actual
Activos corrientes
Valor de mercado total de las monedas
La diferencia de valor del dinero fiduciario y las monedas
Calculamos las cuatro condiciones premisas anteriores, y asignarlos a cada variable diferente. el bloque de código es así:
Observe que el valor total de las monedas es el valor total de mercado de las monedas que tiene actualmente. El método de cálculo es que el número total actual de posiciones se multiplica por el último precio. La diferencia en los activos es el valor total de mercado de las monedas menos el saldo disponible actual.
Después de completar la asignación condicional requerida, debe escribir la lógica de negociación. Esto no es tan complicado como parece. No es más que la lógica de estrategia anterior, expresada en forma de bloques de código.
Es decir, si el valor de mercado de la posición corriente menos el saldo disponible corriente es inferior al 5% del saldo disponible corriente, abrir la posición para comprar. Si el valor de mercado de la posición corriente menos el saldo disponible corriente es mayor que el 5% del saldo disponible corriente, abrir la posición para vender. como se muestra a continuación:
Toda la estrategia parece haber sido escrita, pero tenga en cuenta que el programa se ejecuta de arriba hacia abajo y se detiene después de la ejecución.
En otras palabras, el programa necesita comprobar constantemente si se han alcanzado las condiciones de la estrategia, y si es así, ejecutar la lógica, de lo contrario continuará comprobando.
La estrategia de programación visual no es fundamentalmente diferente de las estrategias escritas en otros lenguajes de programación. También admite pruebas de datos históricos de varios ciclos y precisión.
En este punto, una estrategia comercial completa se considera hecha. Para cuidar a las personas que todavía están confundidas, esta estrategia se ha compartido en la página de FMZ Quant Strategy Square y se puede copiar directamente en su panel de control.
La ley de las 10.000 horas (Para ser un profesional en cierto trabajo) siempre existe, pero para un comerciante basado en cero, es imposible pasar 10.000 horas para investigar un nuevo campo.
Con la programación visual, usted no tiene que recordar la escritura gramatical del lenguaje de programación tradicional cuando utiliza los módulos de función. La plataforma FMZ Quant está destinada a ayudar a más operadores cuantitativos a reducir la barrera de entrada y aumentar sus intereses.
Sin embargo, la programación visual como un trampolín para la entrada cuantitativa está completamente bien, pero también tiene sus propias limitaciones, como la incapacidad de desarrollar estrategias comerciales demasiado complejas y demasiado refinadas.
Desde la profesionalidad del comercio cuantitativo, ya sea el lenguaje M o la programación visual, todos son solo un lenguaje de transición que entra en el mundo del comercio cuantitativo. Sus características lingüísticas determinan las limitaciones en el desarrollo de estrategias comerciales, una serie de estrategias complejas son menos probables de lograr.
Intenta implementar los indicadores de Bandas de Bollinger en la programación visual.
Trate de completar una estrategia de negociación utilizando el módulo de negociación en esta sección.