Un arbitraje difícil: ¿hay vida en Marte? - página 9

 

Para mayor claridad, tenemos que escribir un indicador simple, que mostraría en un gráfico en forma de líneas horizontales coloreadas Aska y Bids de pares preestablecidos en su configuración y sus sintéticos (por ejemplo, en el anteriormente mencionado Euribucks y 2 Yen)...


¡y verás todo de una vez y con claridad !

 

Qué pena... Las oportunidades aparecen con bastante frecuencia, pero mi API no tiene tiempo para iniciar la sesión a pesar de que estoy sentado en 8ms ping al sitio

Probablemente debería poner el robot API directamente en la almohadilla...

Eso sería un beneficio de 2 pips - el costo de alrededor de 1 pip en tres pares que es 0,1 lote puede ganar una libra

El tiempo de ejecución de la demo es de unos 16 ms(GetTickCount), o al menos así parece para 1 orden (esto ya tiene en cuenta el tráfico)

... Intentaré paralelizar los pedidos, es decir, enviarlos de forma asíncrona puede ganar algo

Y sólo son unos minutos ....

 
¿Tiene sentido tratar de atrapar una situación de arbitraje con el mínimo deslizamiento posible y hacer ping en microsegundos? Por supuesto que es la mejor opción PERO... Creo que alguien lo ha hecho por nosotros con toda seguridad ( los que pagan miles y decenas de miles mensuales por la interconexión en la óptica...) y casi seguro que nos ha quitado la máxima liquidez disponible en el momento de la situación de arbitraje... Pero además "PERO" ... Las posiciones están "bloqueadas", es decir, ¡se abren en una cobertura multidivisa! Así que pueden aguantar todo el tiempo que quieran sin aumentar el drawdown debido al importe de su spread en la apertura... ¡y seguramente se mantendrá ahí hasta que se produzca una situación de inversión (cuando la oferta y la demanda se conviertan en inversas y la posición total se cierre en negro incluso teniendo en cuenta el deslizamiento, los swaps, las comisiones y otros gastos...! ¡! )
 
SLAWIK:
¿Tiene sentido tratar de atrapar una situación de arbitraje con el mínimo deslizamiento posible y hacer ping en microsegundos? Por supuesto que es la mejor opción PERO... Creo que alguien lo ha hecho por nosotros con toda seguridad ( los que pagan miles y decenas de miles mensuales por la interconexión en la óptica...) y casi seguro que nos ha quitado la máxima liquidez disponible en el momento de la situación de arbitraje... Pero, de nuevo, "pero"... Las posiciones están "bloqueadas", es decir, ¡se abren en una cobertura multidivisa! Así que pueden aguantar todo el tiempo que quieran sin aumentar el drawdown debido al importe de su spread en la apertura... ¡y seguramente se mantendrá ahí hasta que se produzca una situación de inversión (cuando la oferta y la demanda se conviertan en inversas y la posición total se cierre en negro incluso teniendo en cuenta el deslizamiento, los swaps, las comisiones y otros gastos...! ¡! )
Si vamos a pescar lucios en lugar de plancton (pepitas sueltas), que sea por kilos. Y los kilos / por hora no se observan. Los riesgos de no ejecución (ejecución inoportuna) reducen todos los esfuerzos a cero, si no a cero. Lo mejor que puede hacer el sistema es minimizar el diferencial debido a la selección inteligente de pares de divisas específicos para abrir posiciones multidivisas en un momento determinado. Pero, por regla general, la estúpida prioridad del spread para las "Majors" más el ahorro de los costes de conversión del depósito en el par de divisas (¡hay que pagarlo!) lleva a una victoria primitiva del esquema "abrir siempre en Majors y mantener el depósito en dólares". No merece la pena la molestia de atrapar pips en un "arbitraje complejo". Mejor crear un agregador para operar con varios brokers simultáneamente (con selección dinámica del "mejor" broker para cada operación) - no mucho más trabajo, pero muchas veces más peces de arbitraje. Pero hay otro problema: la compensación de lotes entre corredores, pero es solucionable, aunque no sea fácil y tenga costes.
 
El plancton se mide en kilogramos ... No por hora, sino por día - estable.13
 
SLAWIK:
El plancton se mide exactamente en kilogramos ... aunque no por hora, sino por día... constantemente.

¿Plancton ha cobrado? ¿O es un probador/demo?

--

"No es realmente lo que parece..." ;)

 

¡Bueno, el comercio entre diferentes proveedores que implican la compensación es wooooo! (se necesita mucho dinero)...

.... necesita una cuenta en un banco de compensación con proveedores de liquidez (por ejemplo, RaboBank)... .... hacer un acuerdo personal con cada uno de ellos ... ....write API multinivel ( común a todos los proveedores ) ...

....suppliers will occasionally drop out and need to find new ones... etc... etc...

 
SLAWIK:

La única manera de hacerlo es crear una cuenta en un banco de compensación donde también haya cuentas de proveedores... ....hacer un contrato personal con cada uno de ellos ... escribir una API multinivel ( común a todos los proveedores ) ...

...los proveedores abandonarán ocasionalmente y habrá que buscar otros nuevos... etc...

Nada de esto es necesario. Todo debería estar ahí en el agregador, y en piloto automático. La esencia es la misma. Mostraré un ejemplo elemental (único) y lo utilizaré para explicarlo.

Supongamos que nosotros (nuestro TS) abrimos una operación de COMPRA en EURJPY a través del agregador. El agregador recibe una solicitud, busca/encuentra el mejor corredor en el momento actual y ordena al terminal apropiado (corredor A) que envíe esta solicitud. La orden se satisface en consecuencia (si tiene éxito). Cuando esta operación se cierra (orden de contraventa) en el caso general un corredor completamente diferente(B) podría ser "mejor". Surge una LOC interbroker: el operador tiene todas las operaciones cerradas, no hay problema, pero el agregador tiene dos órdenes opuestas en diferentes brokers(A-bay, B-sell). Esto es un problema: hay que cerrarlos de alguna manera. La solución es crear la lista de todos esos lotes y monitorizar constantemente las cotizaciones de todos los brokers bloqueados para encontrar momentos de "cuasi-arbitraje" (idealmente realmente de arbitraje, es decir, con beneficio) para el contra-cierre de esas órdenes (respetando la igualdad de volúmenes, por supuesto). Todo está despejado.

Con un gran número de corredores en el agregador y el comercio intensivo de multidivisas no hay nada que hacer, todo debe ser automatizado, y la velocidad es una prioridad.

No es fácil programar todo esto correctamente en el mundo real, pero es muy posible.

 

Así que abrimos posiciones en diferentes casas de bolsa... (Si abrimos lotes y una de las subastas decide anular los que tenía (por ejemplo lotes supuestamente "no de mercado"...) y entonces ¿qué hacer? negociamos sin compensación... es decir, virtualmente - sin cobertura de efectivo de las operaciones (como sería el caso de negociar con compensación - el garante de la liquidez)


¡o en una de las cocinas con un deslizamiento de unos 70 pips! (como a JTX por ejemplo le gusta incluso con api... y muchos otros hacen lo mismo...)

es decir, no hay tanta oferta entre los vendedores con buena ejecución ( y menos con api abierta )

 
SLAWIK:

Así que abrimos posiciones en diferentes docs... ( Loki ) y una de las subastas decide anular las que tiene ( por ejemplo los Gatos supuestamente "no de mercado"...) y entonces ¿qué...? negociamos sin compensación... es decir, virtualmente - sin cobertura de efectivo de las operaciones (como sería el caso en la negociación con compensación - el garante de la liquidez)


¡o en una de las cocinas con un deslizamiento de unos 70 pips! (como lo hacen por ejemplo en el JTX incluso según la api)


Entonces no hagas un agregador. Eso es todo. ;) Mona piensa que uno de los hombros del "complejo arbitraje" que su cocina no puede deshacer. O bien, deslizar 70 pips. Fácil.