2 votos

Comparación del patrimonio de la cuenta frente al margen de mantenimiento en un gran número de posiciones

Los corredores de divisas comenzarán a liquidar sus posiciones cuando el capital de su cuenta caiga por debajo del margen de mantenimiento establecido por el corredor.

account equity = deposits - withdrawals + realized pnl + unrealized pnl

Parece que tienen algún tipo de sistema que calcula el patrimonio de cada cuenta que tiene posiciones abiertas, en tiempo real, en cada tick, y luego lo compara con el requisito de margen de mantenimiento para decidir si se inicia una liquidación.

Aunque esto puede ser factible para un pequeño número de puestos, no parece que se pueda ampliar. A medida que el número de cuentas y los valores ofrecidos para la negociación aumentan, también lo hace la complejidad del método descrito anteriormente.

Así que debe haber algún otro tipo de estructura de datos o algoritmo o método para hacerlo. Sin embargo, no he encontrado nada al respecto en Internet.

¿Cómo hacen los corredores de operaciones con margen un seguimiento en tiempo real del capital de la cuenta del usuario para determinar cuándo cae por debajo del margen de mantenimiento y, por tanto, desencadenar un ajuste de márgenes?

Gracias.

2voto

dotnetcoder Puntos 1262

En realidad no sé la respuesta a esta pregunta, pero el problema que describes es un problema de álgebra lineal. Imagina una matriz X cuyas filas representan las posiciones ordenadas de cada cliente con respecto a todo y el vector de columnas P de los precios en tiempo real de todo instrumentos. Entonces el patrimonio de cada cliente es el valor de la fila de E :

$$E=XP$$ Sin tener en cuenta los depósitos y las retiradas, las operaciones intradía que también podrían considerarse como vectores y añadirse al resultado.

La clave es que X puede ser muy grande, por ejemplo, 1 millón de cuentas x 10.000 instrumentos, pero la matriz será muy dispersa (se espera que cada cuenta posea un pequeño subconjunto de instrumentos), por lo que la dispersión podría ser del 1%, y entonces, con las calculadoras de matrices dispersas adecuadas, el tiempo de cálculo será el que tarde 1mm x 10k x 1% = 100mm cálculos, lo que puede llevar un segundo. ( https://stackoverflow.com/questions/36969886/using-a-sparse-matrix-versus-numpy-array )

A continuación, se examinan los resultados de los clientes de 1 mm y se comparan los valores en relación con el margen y se marcan los que incumplen. Esto también sería rápido.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X