0
Seguir
14
Seguidores

Serie de cursos de inversión cuantitativa en blockchain (3) - Arbitraje entre períodos

Creado el: 2018-08-10 14:38:50, Actualizado el:
comments   1
hits   2995

Leer el texto original:Serie de cursos de inversión cuantitativa en blockchain (3) - Arbitraje entre períodos

NO.1

Soros, en su libro de 1987 “Alquimistas de las finanzas”, hizo una afirmación importante: “Creo que los precios del mercado siempre están equivocados en el sentido de que presentan una visión sesgada del futuro”. La hipótesis de mercado efectivo es sólo una hipótesis teórica, en realidad los participantes en el mercado no son siempre racionales, y en cada punto de tiempo, los participantes no pueden obtener y interpretar objetivamente toda la información, incluso si se trata de la misma información, la respuesta de cada uno es diferente.

Es decir, el precio en sí mismo ya contiene las expectativas erróneas de los participantes del mercado, por lo que el precio de mercado es esencialmente erróneo. Esta puede ser la fuente de ganancias del arbitraje.

NO.2

De acuerdo con el principio anterior, también sabemos que en un mercado de futuros no efectivo, la influencia del mercado entre los contratos de tasa de cambio en diferentes períodos no siempre es sincronizada, y su valoración no es una razón completamente efectiva.

Entonces, basándose en el precio de los contratos de intercambio por períodos diferentes del mismo tipo de indicador de negociación, si los dos precios tienen una gran diferencia de precios, se puede comprar y vender contratos de futuros de diferentes períodos al mismo tiempo para realizar un arbitraje a largo plazo. Al igual que los futuros de mercancías, las monedas digitales también tienen una cartera de contratos de arbitraje a largo plazo asociados. En la bolsa OkEX hay: ETC de la semana, ETC de la próxima semana, ETC trimestral.

Por ejemplo, supongamos que la diferencia de precio entre ETC de la semana y el trimestre de ETC se mantiene alrededor de 5 durante mucho tiempo. Si la diferencia de precio de un día alcanza 7, esperamos que la diferencia de precio vuelva a 5 en algún momento en el futuro. Entonces se puede vender ETC de la semana y al mismo tiempo comprar ETC del trimestre para cancelar la diferencia de precio. Y viceversa.

NO.3

A pesar de la existencia de esta diferencia de precios, el arbitraje artificial suele tener muchas incertidumbres, como el tiempo de operación manual, la inexactitud y el impacto de los cambios en los precios.

El atractivo del arbitraje cuantitativo reside en la captura de oportunidades de arbitraje y la formulación de estrategias de negociación de arbitraje a través de modelos cuantitativos, así como en el envío automático de órdenes de negociación a la bolsa por parte de algoritmos programados, la captura rápida y precisa de oportunidades y la obtención de ganancias de manera eficiente y estable. Este artículo le enseñará cómo utilizar la plataforma de negociación cuantitativa Inventor y el contrato de futuros ETC en el intercambio OkEX en el comercio de divisas digitales, utilizando una estrategia de arbitraje simple para demostrar cómo capturar oportunidades de arbitraje instantáneas y aprovechar cada oportunidad para obtener ganancias mientras se cubre. Posibles riesgos.

NO.4

Creación de una estrategia de arbitraje de criptomonedas entre períodos Dificultad: Normal

El entorno estratégico:

  • Asunto de la transacción: Ethereum Classic (ETC)
  • Datos de diferencia de precios: ETC semanal - ETC trimestral (prueba de cointegración omitida)
  • Ciclo de negociación: 5 minutos
  • Coincidencia de posiciones: 1:1
  • Tipo de transacción: Mismo producto entre períodos

La lógica de la estrategia:

  • Condiciones de apertura de spread largo: si la cuenta actual no tiene posiciones y el spread es menor que el track de bolitas inferior, abra una posición larga en el spread. Es decir: comprar ETC para la semana y vender ETC para el trimestre.
  • Condiciones para abrir una posición corta de spread: Si la cuenta actual no tiene posiciones y el spread es mayor que el límite superior del activo, abra una posición corta en el spread. Es decir: vender ETC para la semana y comprar ETC para el trimestre.
  • Condiciones para cerrar un spread largo: Si la cuenta corriente tiene una posición larga semanal en ETC y una posición corta trimestral en ETC, y el spread es mayor que el track medio de boll, el spread largo se cerrará. Es decir: vender ETC para la semana y comprar ETC para el trimestre.
  • Condiciones para cerrar un spread corto: Si la cuenta corriente tiene una posición corta para ETC esta semana y una posición larga para ETC en el trimestre, y el spread es menor que la trayectoria media de Boll, el spread corto se cerrará. Es decir: comprar ETC para la semana y vender ETC para el trimestre.

NO.5

Lo anterior es una descripción simple de la lógica de la estrategia de arbitraje entre períodos de la moneda digital. Entonces, ¿cómo se implementan las ideas en el programa? Primero intentamos construir el marco en la plataforma de comercio cuantitativo Inventor. El marco estratégico: El inventor de la cantidad (www.fmz.cn) Al comparar las ideas estratégicas y los procesos comerciales, puede construir fácilmente un marco estratégico. La estrategia completa se puede simplificar en tres pasos: 1. Preprocesamiento de las transacciones. 2. Obtener y calcular datos 3. Pedido y seguimiento.

NO.6

A continuación, debemos completar el código de detalle necesario en el marco de la estrategia en función del proceso de transacción real y los detalles de la transacción.

1 Preprocesamiento antes de la transacción

Paso 1: En el entorno global, declare las variables globales necesarias.

  • Declarar un objeto gráfico para configurar el gráfico var chart = { }
  • Llamar a la función Chart para inicializar el gráfico var ObjChart = Chart ( chart )
  • Declarar una matriz vacía para almacenar la secuencia de diferencia de precio var bars = [ ]
  • Declarar una variable para registrar la marca de tiempo de datos históricos var oldTime = 0

Paso 2: Configurar los parámetros externos de la estrategia. El inventor de la cantidad (www.fmz.cn)

Paso 3: Definir funciones de procesamiento de datos Funciones de datos básicas:Data ( ) Crea un constructor Data y define sus propiedades internas. Incluye: datos de cuenta, datos de posición, marca de tiempo de datos de línea K, precio de oferta/demanda de contrato de arbitraje A/B y diferenciales de arbitraje forward/back. El inventor de la cantidad (www.fmz.cn) Obtener la función de la posición:mp ( ) Recorre toda la matriz de posiciones y devuelve el número de posiciones del contrato y la dirección especificados. Si no hay ninguno, devuelve falso Línea K y la función indicador:boll ( ) Sintetizar una nueva secuencia de línea K basada en los datos de propagación de arbitraje directo/inverso. Y devuelve los datos del riel superior, riel medio y riel inferior calculados por el indicador boll. Función de orden de baja:trade ( ) Pase el nombre del contrato de pedido y el tipo de pedido, luego realice un pedido al precio de consideración y devuelva el resultado después de realizar el pedido. Dado que es necesario colocar dos órdenes en diferentes direcciones al mismo tiempo, el precio de compra/venta se convierte dentro de la función de acuerdo con el nombre del contrato de la orden. Cancelar la función de orden:cancelOrders ( ) Obtenga un listado de todos los pedidos no cumplidos y cancélelos uno por uno. Y si hay algún pedido sin cumplir, devuelve falso, y si no hay ningún pedido sin cumplir, devuelve verdadero. Tratamiento de la tenencia de un solo contrato:isEven ( ) Cuando se trata de una situación de una sola pierna en el comercio de arbitraje, simplemente cerramos todas las posiciones para manejarla. Por supuesto, también puedes cambiar a un método de pedido de seguimiento. Función de dibujo:drawingChart ( ) Llame al método ObjChart.add() para dibujar los datos de mercado y los datos del indicador necesarios en el gráfico: pista superior, pista media, pista inferior y diferencial positivo/negativo. Paso 4: En la función de entrada main(), ejecute el código de preprocesamiento previo a la transacción. Este código solo se ejecuta una vez después de que se inicia el programa. incluir:

  • Filtrar mensajes menos importantes en la consola SetErrorFilter()
  • Establezca la moneda digital que se comercializará en exchange.IO ( )
  • Borre el gráfico dibujado previamente antes de que se inicie el programa ObjChart.reset ( )
  • Borre la información de la barra de estado anterior antes de que se inicie el programa LogProfitReset ( )

NO.7

Después de definir el procesamiento previo de la transacción mencionada anteriormente, se pasa al siguiente paso, entrar en el modo de encuesta y ejecutar repetidamente la función onTick (). También se puede configurar el tiempo de inactividad de la encuesta Sleep (), ya que algunas API de las plataformas de criptomonedas tienen un límite de visitas en el tiempo.

Obtención y cálculo de datos

Paso 1: Obtenga objetos de datos básicos, saldos de cuentas y datos del indicador boll para usar en la lógica comercial.

3. Pedidos y seguimiento

Paso 1: Ejecutar operaciones de compra y venta de acuerdo con la lógica de estrategia anterior. En primer lugar, determina si se cumplen las condiciones del precio y del indicador, luego determina si se cumplen las condiciones de la posición y, finalmente, ejecuta la función de orden de operación ( ). Paso 2: Una vez realizado el pedido, es necesario gestionar situaciones anormales como pedidos no cumplidos y retención de un solo contrato. y dibujar gráficos.

NO.8

En lo anterior, hemos creado una sencilla estrategia de arbitraje entre períodos de moneda digital en poco más de 200 líneas. El código completo es el siguiente:

NO.9

Esta estrategia es solo un ejemplo, pero la realidad no es tan sencilla, pero puedes usar tu imaginación con ejemplos.

Es necesario recordar que, en mi limitada experiencia, en la situación actual del mercado de las monedas digitales, las estrategias de arbitraje puramente a plazo no valen la pena en absoluto, ya sea el arbitraje triangular sin riesgo o el arbitraje entre mercados. La razón es que en el mercado de futuros de cualquier bolsa de divisas, la garantía no es una moneda legal. Hoy en día, casi todas las monedas digitales han caído alrededor del 70% desde el comienzo del año. Es decir, la estrategia es siempre la de mantener la moneda, pero el precio de la moneda está cayendo.

A primera vista, el mercado de las monedas digitales se ha desprendido de la blockchain, y al igual que el tulipán de ese año, el precio siempre proviene de la expectativa y la confianza de la gente, y la confianza proviene del precio …

Leer más: Curso de la serie de inversiones cuantitativas en la cadena de bloques (1) - Descripción Curso de la serie de inversiones cuantitativas en la cadena de bloques (2) - Conocer la moneda digital Serie de cursos de inversión cuantitativa en blockchain (4): estrategia de equilibrio dinámico