El comercio en FMEX desbloquea la optimización óptima del volumen de pedidos Parte 2

El autor:La bondad, Creado: 2020-07-07 10:47:04, Actualizado: 2023-10-28 15:31:38

img

El colapso de FMEX ha perjudicado a muchas personas, pero recientemente se le ocurrió un plan de reinicio y se formularon reglas similares a la minería original para desbloquear su deuda.https://www.fmz.com/bbs-topic/5834Al mismo tiempo, hay espacio para la optimización en la minería de clasificación. Aunque las personas no deben entrar en el mismo pozo dos veces, aquellos que tienen reclamos financieros en FMEX pueden querer probarlo, las estrategias específicas del mercado real también se lanzarán.

Reglas de desbloqueo de clasificación de FMEX

Definir cada 5 minutos en cada día como un ciclo de desbloqueo de clasificación, y cada ciclo asigna 1/288 de la cantidad de desbloqueo de clasificación del par de operaciones del día. Dentro de cada ciclo, se selecciona aleatoriamente un punto de tiempo para tomar una imagen instantánea de la transacción en las órdenes pendientes de las órdenes comerciales, en la que:

  • Comprar 1 De acuerdo con la proporción del importe de la orden pendiente del usuario, asignar 1/4 del importe de reembolso del ciclo de desbloqueo de clasificación

  • Vender 1 De acuerdo con la proporción del importe de la orden pendiente del usuario, asignar 1/4 del importe de la devolución del ciclo de desbloqueo de clasificación

  • Comprar 2 a Comprar 5 de estas cuatro capas de órdenes pendientes, de acuerdo con la proporción del monto de las órdenes del usuario en cada orden, la asignación del ciclo de desbloqueo de órdenes se divide en 1/40

  • Vender 2 a Vender 5 de estas cuatro capas de órdenes pendientes, de acuerdo con la proporción del importe de las órdenes del usuario en cada orden, la asignación del ciclo de desbloqueo de órdenes se divide en 1/40

  • Comprar 6 a Comprar 10 de estas cinco capas de órdenes pendientes, de acuerdo con la proporción del monto de las órdenes del usuario en cada orden, la asignación del ciclo de desbloqueo de órdenes se divide en 1/50

  • Vender 5 a Vender 10 de estas cinco capas de órdenes pendientes, de acuerdo con la proporción del importe de las órdenes del usuario en cada orden, la asignación del ciclo de desbloqueo de órdenes se divide en 1/50

  • Comprar 11 a Comprar 15 de estas cinco capas de órdenes pendientes, de acuerdo con la proporción del monto de las órdenes del usuario en cada orden, la asignación del ciclo de desbloqueo de órdenes se divide en 1/100

  • Vender 5 a Vender 15 de estas cinco capas de órdenes pendientes, de acuerdo con la proporción del importe de las órdenes del usuario en cada orden, la asignación del ciclo de desbloqueo de órdenes se divide en 1/100

El reembolso total de la orden de un usuario que se desbloquea en un determinado par de operaciones en el mismo día es la suma de la cantidad de créditos devueltos por la orden de un usuario que se desbloquea en cada ciclo de la transacción.

Selección de los ingresos desbloqueados

En primer lugar, los ingresos totales de clasificación y desbloqueo son:

img

¿Dónde está?irepresenta una de las posiciones, y hay 30 posiciones en ambos lados,aes el importe de las órdenes pendientes,Res el importe de la restitución desbloqueado, yVes el importe total de los pedidos existentes.

A diferencia del desbloqueo de transacciones, no hay costo por las órdenes pendientes.RSi determinamos la cantidad total de órdenes pendientes, la cuestión se convierte en cómo asignar las órdenes a diferentes posiciones para maximizar la gananciaGPor ejemplo, las órdenes pendientes existentes en tres posiciones son todas 10, y susRSi solo se selecciona una posición, el rendimiento total final es 0.75R. Si cada posición se coloca 10, el rendimiento final es 1.5R, lo que muestra que a veces el rendimiento del spread de órdenes pendientes es mejor.

Optimización del desbloqueo de clasificación

Al final, nuestros objetivos y limitaciones de optimización son:

img

¿Dónde está?Mes el número total de pedidos pendientes. Este es un problema de optimización convexa cuadrática que contiene desigualdades, satisface la condición KTT, y se resuelve como un número entero. Usando el paquete correspondiente y el solucionador de optimización convexa debe ser capaz de obtener directamente los resultados y devolver la cantidad óptima de pedidos pendientes para cada posición. Pero esto obviamente no es la respuesta que queremos, necesitamos simplificar el problema y obtener pasos de solución específicos.

Empieza con un ejemplo simple.

Sólo se consideran dos capas de precios. Las órdenes pendientes actuales son 10 y 20 (llamadas la primera y la segunda capas, respectivamente), y su cantidad desbloqueada esR¿Cómo asignar los fondos para alcanzar la cantidad máxima desbloqueada? Esta pregunta parece simple, pero es difícil sacar una conclusión correcta sin cálculo.

El primer plan:

Encuentra la posición de la orden pendiente más pequeña, colgar todos ellos, el retorno total seráG=30/(30+10)=0.75REsta es también la solución más fácil de pensar.

El segundo plan:

Cada vez que se asigna 1 yuan, y se asigna al lugar que puede generar el mayor beneficio, es decir, la posición con la menor cantidad de órdenes pendientes. Luego, el primer yuan se asignará a la primera capa de precio, la cantidad de órdenes pendientes en la primera capa de precio se convertirá en 10 + 1, y el segundo yuan también se asignará a la primera capa de precio... y así sucesivamente, hasta que el acumulado se asigne a la primera capa de precio de 10 yuanes, entonces puede elegir uno al azar. Cuando el total de órdenes pendientes en la primera capa de precio exceda de 20, la siguiente capa de precio se asignará a la segunda capa de precio. El resultado final es de 20 yuanes para la primera capa de precio y 10 yuanes para la segunda capa de precio. Sus órdenes pendientes finales son todos 30.

El plan 3:

Puede configurar la primera capa de precio para asignara, y la segunda capa de precios es30-a, entonces se puede enumerar directamente la ecuación y derivarlo como 0 (el proceso se omite, similar al artículo de desbloqueo de comercio), calcular el resultado final, la fórmula es:

img

Trae el redondeo para encontrara=15El rendimiento totalG=15/25+15/35=1.0286R, que es mejor que el Plan 2. ya que se deriva directamente de la fórmula, esta es la opción óptima, los lectores pueden comprobarlo.

El resultado puede ser diferente de las expectativas de todos. El plan 2 muestra claramente que la asignación de cada elemento es la solución óptima bajo la situación actual. ¿Por qué no la solución óptima general? Esta situación es muy común, y la optimización local no es necesariamente la optimización general, porque antes de la asignación, la cantidad de pedidos pendientes ya se ha invertido, y la eficiencia general necesita considerar el costo hundido.

Plan específico de optimización

Por último, la operación real factible comenzó, o para simplificar el problema mediante la asignación de 1 yuan cada vez.aEn elGEsta contribución tiene en cuenta el coste acumulado, más que el ingreso de una sola distribución.a=1, de la presencia a la ausencia, la eficiencia es la más alta, y luego disminuye gradualmente.

img

Del mismo modo, tomando como ejemplo el simple ejemplo anterior, calcule su eficiencia después de asignar los fondos por separado y enumere las tablas:

Los fondos 1 2
1 0.0826 0.0454
2 0.069 0.0413
3 0.0592 0.0378
4 0.051 0.0347
5 0.0444 0.032
12 0.0207 0.0195
13 0.0189 0.0184
14 0.0174 0.0173
15 0.016 0.0163
16 0.0148 0.0154
17 0.0137 0.0146
18 0.0128 0.0139

Según la tabla, el primer yuan se asigna a la primera capa de precio, el segundo yuan se asigna a la primera capa de precio... el quinto yuan se asigna a la segunda capa de precio... y así sucesivamente, y finalmente se asigna a la primera capa de precio 15 yuan, la segunda capa de precio 15 Yuan es exactamente la solución óptima que hemos calculado de acuerdo con la ecuación.

  1. Compruebe primero todas las capas de precios, siV=0Entonces...a=1, no asignará más fondos en exceso.
  2. Se asignarán los fondos totales enNLas acciones, y seleccione una capa de precios para asignar a la vez.
  3. Calcular la eficiencia de cada una de las capas de precios =RV/pow(a+V, 2), arepresenta los fondos acumulados asignados en esta posición + los fondos asignados en este momento.
  4. Asigne los fondos a las capas de precios más eficientes y elija una al azar con la misma eficiencia.
  5. Ciclo 3-4 hasta que se complete la asignación de los fondos.

Si nuestro total de pedidos pendientes es grande y la eficiencia de cada asignación de yuan es demasiado baja, podemos dividir los fondos en 100 y asignar uno cada vez. Dado que es solo una operación simple de clasificación, la eficiencia del algoritmo es muy alta. Específicamente para el nivel de ejecución, todavía hay espacio para la optimización, como dividir nuestros pedidos en 100, de modo que cada vez que ajuste, solo necesite reasignar el pedido y no necesite cancelarlo todo.RHay partes que se superponen para ordenar desbloqueo y orden pendiente desbloqueo, que pueden ser considerados juntos, y así sucesivamente.


Relacionados

Más.