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.
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.
En primer lugar, los ingresos totales de clasificación y desbloqueo son:
¿Dónde está?i
representa una de las posiciones, y hay 30 posiciones en ambos lados,a
es el importe de las órdenes pendientes,R
es el importe de la restitución desbloqueado, yV
es el importe total de los pedidos existentes.
A diferencia del desbloqueo de transacciones, no hay costo por las órdenes pendientes.R
Si determinamos la cantidad total de órdenes pendientes, la cuestión se convierte en cómo asignar las órdenes a diferentes posiciones para maximizar la gananciaG
Por ejemplo, las órdenes pendientes existentes en tres posiciones son todas 10, y susR
Si 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.
Al final, nuestros objetivos y limitaciones de optimización son:
¿Dónde está?M
es 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.
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.75R
Esta 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:
Trae el redondeo para encontrara=15
El 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.
Por último, la operación real factible comenzó, o para simplificar el problema mediante la asignación de 1 yuan cada vez.a
En elG
Esta 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.
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.
V=0
Entonces...a=1
, no asignará más fondos en exceso.N
Las acciones, y seleccione una capa de precios para asignar a la vez.RV/pow(a+V, 2)
, a
representa los fondos acumulados asignados en esta posición + los fondos asignados en este momento.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.R
Hay partes que se superponen para ordenar desbloqueo y orden pendiente desbloqueo, que pueden ser considerados juntos, y así sucesivamente.