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

Estrategia de suspensión lineal basada en funciones de reproducción de datos

El autor: , Creado: 2019-12-13 17:13:07, Actualizado: 2023-10-17 21:21:36

img

Prólogo

Se dice que el comercio es un arte y el arte es una fuente de inspiración. Así que hoy quiero compartir con ustedes cómo utilizar la capacidad de reproducción de datos cuantificados de los inventores para encontrar su propia inspiración comercial.

La inspiración y el sentido de la transacción

Por lo general, cuando hablamos de inspiración, nos referimos a un estado creativo instantáneo en el proceso de pensamiento. Para los operadores, el hemisferio izquierdo de nuestro cerebro realiza la redacción de una serie de reglas, como la redacción de estrategias, la asignación de fondos, la configuración de parámetros.

Muchas personas han escuchado el término "sentimiento de panza", que es una sensación de confusión, como si lo que está sucediendo en el momento actual fuera algo conocido. En el comercio, esta intuición similar a un sexto sentido, aunque sin razonamiento y análisis lógicos, prevé el futuro de la tendencia del mercado y impulsa al operador a tomar decisiones de compra o venta.

Cómo obtener inspiración

A los ojos de los extranjeros, el sentido del juego es un talento misterioso y inalcanzable, con el que se puede establecer en el mercado. En realidad, el sentido del juego es un resumen de la experiencia de negociación subjetiva del cerebro, es una sensación prejuiciosa que se percibe a través de años de juego.

Aunque, en términos estrictos, la inspiración no es lo mismo que el sentido, pero creo que después de mil y cientos de ejercicios en el mercado, todos tienen un conocimiento más profundo del mercado, y se pondrán a prueba en el desarrollo de estrategias. Por lo tanto, si desea adquirir este talento, si desea desarrollar más estrategias de negociación, nadie más que el maestro.

Sin embargo, los futuros de productos domésticos y las acciones tienen solo unas pocas horas de tiempo de negociación al día, y si solo mejoran su experiencia de negociación desde la negociación en vivo, forman sus propios modelos de ganancia y reglas de negociación, y entrenan sus propios reflejos de condiciones en el subconsciente, es evidente que no son conscientes. Además de pagar un costo de tiempo más largo, la mayoría de los operadores también asumen el costo de perder dinero. Para resolver este problema, los inventores desarrollaron una función de reproducción de datos cuantitativa.

Cómo usar el juego de datos

La función de reproducción de datos se puede entrenar sin restricciones de tiempo de negociación en los intercambios, soporta una variedad de futuros de productos y monedas digitales, el mercado puede ser reproducido manualmente o automáticamente, también se puede establecer libremente el tiempo de inicio y velocidad de reproducción del mercado histórico. En comparación con otros programas que utilizan generalmente el modo de reproducción de datos de línea K, los inventores cuantifican el modo de reproducción de datos a nivel de Tick, que se acerca realmente al entorno de medición de retorno de las transacciones reales, reproduciendo los datos de precios de la plataforma, lo que permite a los operadores estar en la realidad.

El sitio web cuantificado de los desarrolladores.fmz.comEn el centro de control se muestra la página de funciones de reproducción de datos. Hay cuatro casillas de opción y un botón de selección, primero se selecciona la opción que muestra solo las variedades que soportan la reproducción de disco físico, luego se selecciona la variedad que se desea reproducir en la parte superior izquierda, luego se selecciona la hora de inicio de los datos en las dos casillas posteriores, luego se selecciona el ciclo de tiempo de los datos para reproducir el disco físico, y finalmente se selecciona el botón Go en el extremo derecho para activar la función de reproducción de datos.

img

Bajo las etiquetas de datos, se dividen en tres bloques. A la izquierda está el historial de transacciones, que muestra todos los pedidos realizados en orden cronológico. En el medio están los datos de la lista de compras y ventas de cada profundidad de 20 archivos. A la derecha está el área de control de reproducción de datos, donde se puede elegir entre reproducción manual y automática de datos, que es tan simple como usar un reproductor multimedia.

img

Los índices de posición pueden arrastrar las marcas de ida y vuelta, lo que permite seleccionar rápidamente la hora de inicio de la reproducción de datos.

img

También se puede controlar la velocidad de reproducción de los datos en milisegundos de tiempo a través de un marcador móvil de derecha a izquierda en la parte inferior, lo que permite acelerar o disminuir la velocidad al reproducir los datos.

img

Construyendo la lógica estratégica

A pesar de que hay muchos factores que influyen en la caída de los precios, incluyendo: el entorno económico mundial, las políticas macroeconómicas nacionales, las políticas industriales relacionadas, las relaciones de oferta y demanda, los eventos internacionales, los tipos de interés y los tipos de cambio, la inflación y la contracción, la psicología del mercado, los factores desconocidos, etc., los precios en el plato final son el resultado de la competencia entre las partes y el espacio. Si hay más compradores, los precios aumentan; por el contrario, si hay más compradores, los precios caen. Entonces solo necesitamos analizar los precios y podemos hacer una estrategia de negociación.

Mediante la cuantificación de los inventores de las transacciones btc_usdt de los últimos meses, encontramos que el volumen de las órdenes de ticks es claramente asimetrico en los mercados altos y bajos. Cuando el mercado es alto, el volumen de los pedidos de ticks es significativamente mayor que el volumen de los pedidos de ticks; cuando el mercado es alto, el volumen de los pedidos de ticks es significativamente menor que el volumen de los pedidos de ticks. ¿Podemos predecir la caída de los precios en el corto plazo según el volumen de los pedidos de ticks?

La respuesta es afirmativa.

img img

Podemos calcular y comparar el volumen de los anuncios publicados por ambas partes si la diferencia entre los anuncios publicados es grande. Por ejemplo, cuando el volumen de anuncios publicados por varias partes es N veces el volumen de anuncios publicados por varias partes, podemos pensar que la mayoría de la gente en el mercado está viendo más, y la probabilidad de que los precios suban en el futuro corto aumenta; cuando el volumen de anuncios publicados por varias partes es N veces el volumen de anuncios publicados por varias partes, podemos pensar que la mayoría de la gente en el mercado está viendo menos, y la probabilidad de que los precios caigan en el futuro corto aumenta.

Escribir una estrategia de transacción

Siguiendo la lógica de la estrategia anterior, comience a implementarla con el código. A continuación, abra: fmz.com sitio web > inicio de sesión > Centro de control > Biblioteca de políticas > Crear políticas > Haga clic en el menú de arrastre en la esquina superior derecha, seleccione el lenguaje de Python y comience a escribir la política. Esta política se usa como una enseñanza para tirar guiones, por lo que he tratado de simplificar la política.

El primer paso: elaborar un marco estratégico

# 策略主函数
def onTick():
    pass


# 程序入口
def main():
    while True:  # 进入无限循环模式
        onTick()  # 执行策略主函数
        Sleep(1000)  # 休眠1秒

Cuando escribimos la política, debemos escribirla en mayúsculas y minúsculas, como si fuéramos una casa, antes de cubrir el marco y cubrir la pared. En este marco, usamos dos funciones: la función principal y la función onTick. La función principal es la entrada del programa, es decir, el programa se ejecuta desde aquí, y luego entra en modo de ciclo infinito, ejecutando la función onTick una y otra vez.

Paso 2: Escribir las variables globales

vol_ratio_arr = []  # 多空挂单比率数组
mp = 0  # 虚拟持仓

La razón por la que definimos vol_ratio_arr como una variable global es porque mi estrategia requiere recopilar la proporción de un solo elemento de un segmento de datos de Tick, si ponemos la variable vol_ratio_arr en la función onTick, ya que el funcionamiento del ciclo es obviamente irrazonable, lo que necesitamos es cambiar el valor de la variable en el modo de ciclo cuando se alcanzan ciertas condiciones, el método más razonable es poner esta variable en la parte exterior del ciclo.

La gestión de la tenencia es muy necesaria porque se relaciona con la lógica de compra y venta, en general, en las transacciones al contado, se calcula la pareja de divisas que se mantiene mediante la obtención de cuentas. Aquí, para simplificar el código, se define directamente una variable de tenencia virtual global para controlar la lógica de compra y venta.

Paso 3: Calcule el porcentaje de espacio libre actual

depth = exchange.GetDepth()  # 获取深度数据
asks = depth['Asks']  # 获取卖价数组
bids = depth['Bids']  # 获取买价数组
asks_vol = 0  # 所有卖价挂单
bids_vol = 0  # 所有买价挂单
for index, ask in enumerate(asks):  # 遍历卖价数组
    # 线性计算所有卖价挂单
    asks_vol = asks_vol + ask['Amount'] * (20 - index)
for index, bid in enumerate(bids):  # 遍历买价数组
    # 线性计算所有买价挂单
    bids_vol = bids_vol + bid['Amount'] * (20 - index)
bidask_ratio = bids_vol / asks_vol  # 计算多空比率

Como se sabe, las monedas digitales son generalmente 20 grados de datos de profundidad, por lo que podemos sumar la cantidad de mensajes colgados de múltiples y blancos para calcular la proporción de múltiples y blancos. Cuando este valor es mayor que 1, indica que hay más personas que ven más que las que no ven, lo que predice que el precio aumentará en el futuro corto; cuando este valor es menor que 1, indica que las personas que ven más que las que no ven, lo que predice que el precio caerá en el futuro corto.

Sin embargo, hay un punto que debe ser distinguido, cuando la distancia de los listados de suspensión de la lista es más cercana, esto indica que la voluntad de leer más o menos es más fuerte, por ejemplo, el pago que se cuelga en un grupo es más intenso que el pago que se cuelga en 20.

Paso 4: Computación lineal de la proporción de espacios múltiples en el tiempo

global vol_ratio_arr, mp  # 引入全局变量
vol_ratio_arr.insert(0, bidask_ratio)  # 把多空比率放到全局变量数组里面
if len(vol_ratio_arr) > 20:  # 如果数组超过指定长度
    vol_ratio_arr.pop()  # 删除最旧的元素
all_ratio = 0  # 临时变量,所有多空挂单比率
all_num = 0  # 临时变量,所有线性乘数
for index, vol_ratio in enumerate(vol_ratio_arr):  # 变量全局变量数组
    num = 20 - index  # 线性乘数
    all_num = all_num + num  # 线性乘数累加
    all_ratio = all_ratio + vol_ratio * num  # 所有多空挂单比率累加
ratio = all_ratio / all_num  # 线性多空挂单比率

Se obtiene un coeficiente de espacio múltiple al dividir el encabezado por el encabezado en blanco, pero esto es solo cuando hay un dato de Tick, y si solo se usa un dato de Tick, decidir si comprar o vender una transacción puede no ser una opción sensata, ya que en un mercado instantáneo, un dato de Tick no es convincente. Por lo tanto, necesitamos recopilar un dato de Tick fijo y finalmente calcular un valor justo por vía lineal.

Paso cinco: hacer el pedido.

last_ask_price = asks[0]['Price']  # 最新卖一价,用于买入的价格
last_bid_price = bids[0]['Price']  # 最新买一价,用于卖出的价格
if mp == 0 and ratio > buy_threshold:  # 如果当前无持币,并且比率大于指定值
    exchange.Buy(last_ask_price, 0.01)  # 买入
    mp = 1  # 设置虚拟持仓的值
if mp == 1 and ratio < sell_threshold:  # 如果当前持币,并且比率小于指定值
    exchange.Sell(last_bid_price, 0.01)  # 卖出
    mp = 0  # 重置虚拟持仓的值

Debido a que se necesita especificar un precio al momento de realizar el pedido, podemos usar directamente el último precio de venta al momento de comprar; al momento de vender, podemos usar directamente el último precio de compra. Finalmente, al finalizar el pedido, restablecemos el valor del depósito virtual.

El final

Si usted es un principiante de la negociación, la función de retroceso de datos puede aprender a operar a costo cero, reducir el tiempo de aprendizaje de la negociación, el comercio en vivo o simulado generalmente toma años para obtener resultados iniciales, y las semanas en función de la función de retroceso de datos pueden lograr el mismo efecto, sin perder tiempo. Para los comerciantes avanzados, el retroceso dinámico puede ayudarlo a analizar sus problemas anteriores, verificar y perfeccionar la estrategia de negociación, aumentar la confianza de los comerciantes en la estrategia y ayudar a generar nueva inspiración estratégica.


Relacionados

Más.

- ¿ Qué es eso?¿Está apagada la función de reproducción de disco real?

Esto es sólo una simple introducción de lo que funciona, hay muchos detalles que necesitan ser optimizados, y ahora estoy revisando los resultados, que a veces se pierden, haha.