Para poder ejecutar la aplicación es necesario:
- Windows
- Microsoft .Net Framework 4.7.2
- Acceso a Primary API provisto por ALyC (Matriz)
Nota: No funciona en iOS, MacOS, Android o Linux.
Los releases se encuentran en la sección Releases
- Ir a la sección Releases
- Descargar el archivo zip (Ejemplo:
ChuchoBot2023-10-06.zip
) - Descomprimir en una carpeta
- Ejecutar
ChuchoBot.exe
En la ventana de Primary Login, reemplazar la Primary API Basi URL
por la provista por ALyC. Ejemplo: Si tenés Bull Market Brokers usa https://api.bull.xoms.com.ar
- Cocos Capital (requiere plan 🥥 Cocos Pro):
https://api.cocos.xoms.com.ar
- Eco Valores:
https://api.eco.xoms.com.ar
- Veta Capital:
https://api.veta.xoms.com.ar
- Bull Market Brokers:
https://api.bull.xoms.com.ar
- Cohen:
https://api.cohen.xoms.com.ar
- Adcap:
https://api.adcap.xoms.com.ar
- BCCH:
https://api.bcch.xoms.com.ar
Listado de agentes ofrecen acceso a Matriz: https://www.matbarofex.com.ar/agentes-dma
El usuario y contraseña a utilizar es el mismo que se utiliza para ingresar en Matriz.
La aplicación tiene configurado algunos instrumentos (no todos) que son utilizados para calcular automáticamente los Derechos de Mercado:
- Acciones y CEDEARs 0,08% (Instrumentos en setting
AccionesCEDEARs
) - Letras 0,001% (Instrumentos en setting
Letras
) - Bonos 0,01% (resto de instrumentos)
Además de los derechos de mercado, la comisión configurada por cada operación es de 0,10% (por defecto). Este porcentaje puede modificarse en la ventana de Arbitrajes de Plazos
Derechos de Mercado BYMA: https://www.byma.com.ar/wp-content/uploads/dlm_uploads/2019/11/BYMA-Derechos-Mercado-sobre-Operaciones-2022-12-01.pdf
La aplicación tiene configurado valores arbitrarios para la comisión que cobra el broker al momento de colocar o tomar caución.
Para obtener un P&L correcto, es necesario configurar estos valores en los campos Comisión Tomadora (TNA)
y Comisión Colocadora (TNA)
. Estos valores se configuran en la ventana del scanner de arbitrajes de plazos
-
Ir a
Configuración
=>Instrumentos a monitorear
-
Agregar o quitar instrumentos a la lista (1 instrumento por linea). Ejemplo: Agregar
GGAL
para monitorear la acción de Galicia.
No, la aplicación necesita tener acceso a Primary API (Matriz).
El scanner de arbitraje de plazos permite detectar oportunidades para arbitrar plazos de distintos activos.
Opciones:
- Ver sólo arbitrajes de según instrumentos en cartera: Muestra sólo los arbitrajes que son posibles evaluando los instrumentos que se tienen en cartera.
- Ver sólo arbitrajes con profit: Muestra sólo los arbitrajes donde la ganancia (columna P&L) sea positiva
Haciendo doble clic en cualquier de las filas de la grilla se accede una ventana con el detalle del arbitraje. En dicha ventana se pueden cambiar los nominales, precios de compra/venta y comisión para poder obtener un cálculo aproximado de la ganancia/pérdida que se obtendría.
Cuando el plazo de liquidación de la 1 Venta
es menor al de 2 Compra
es necesario contar con los títulos en cartera (Ejemplo: 1 Venta NVDA - CI
/ 2 Compra NVDA - 24hs
).
La operación consiste en realizar las siguientes operaciones:
- Vender el título en el plazo visualizado
CI
- Comprar el título en el plazo visualizado
24hs
- Colocar en caución el resultado de la venta del paso 1
Cuando el plazo de liquidación de la 1 Venta
es mayor al de 2 Compra
será necesario contar con el dinero o poder tomar caución para cubrir el descubierto de lo comprado (Ejemplo: 1 Venta SPY - 24hs
/ 2 Compra SPY - CI
).
La operación consiste en realizar las siguientes operaciones:
- Comprar el título en el plazo visualizado
CI
- Vender el título en el plazo visualizado
24hs
- Tomar caución por el total de la compra del paso 1
Es posible abrir la ventana de arbitraje para un determinado instrumento y plazos de liquidación haciendo click en el menu Arbitrajes de Plazos
> Seleccionar intrumento y Plazos
.
En esta ventana es necesario seleccionar:
- Instrumento
- Plazo de liquidación de compra
- Plazo de liquidación de venta
La rotación de activos consiste en vender el caro y comprar el activo barato. Ejemplo: Vender GD30 y comprar AL30 o viceversa.
Para poder determinar cuando un activo está caro o barato en comparación a otro podemos visualizar la relación (ratio) de los mismos a lo largo del tiempo. Esta relación es surge simplemente dividiendo Activo 1/Activo 2.
Es imposible estar seguros de que un activo está más barato o caro que el otro, solo podemos suponer o asumir sobre esto mirando dicha relación.
En TradingView esto se puede lograr utilizando el Indicador Ratio. Ejemplo:
- Ingresamos al grafico de GD30
- Click en Indicadores
- Click Ratio
- Ingresamos AL30 y click en el botón Aplicar
La operatoria de rotación de activo (ratio) consiste en:
- Comprar el activo "barato"
- Vender el activo "caro" por el mismo monto total
Ejemplo:
- El precio de GD30 es $60.000 y el de AL30 es $55.000, el ratio de GD30/AL30 es de 9,09% y nuestra hipotesis es que AL30 esta más barato que GD30 (es decir, AL30 tendría que subir más o bajar menos que GD30)
- Abrimos posición:
- Compramos 10.909 nominales de AL30 (Total -$5.999.950)
- Vendemos 10.000 nominales de GD30 (Total +$6.000.000)
- Importante: No vendemos la misma cantidad de nominales, vendemos los nominales en función al ratio. Es decir, utilizamos el mismo monto total del activo que compramos del que vendemos.
- Pasa el tiempo y el precio de GD30 es $59.000 y el de AL30 es de $54.500, lo que ahora da un ratiode GD30/AL30 de 8,25%
- Cerramos posición:
- Vendemos 10.909 nominales de AL30 (Total +$5.945.405)
- Compramos 10.000 nominales de GD30 (Total -$5.900.000)
- Obtuvimos una ganancia de $45.405
IMPORTANTE: Para simplificar la operatoria y c{alculo no se incluyeron comisiones ni derechos de mercado.
La aplicación permite visualizar en tiempo real en que instrumentos conviene Comprar o Vender dolar MEP/CCL.
Es posible abrir abrir la ventana de dolar MEP/CCL para Compra/Venta haciendo click en el menú Dolar
:
Video: https://www.youtube.com/watch?v=i0xQ3_KqdHI
Cuando la aplicación deja de recibir datos por WebSocket, el icono de WiFi pasa de verde a rojo para avisar que puede existir algún problema con la conexión. Esto también ocurre antes de la apertura y luego de la finalización de la rueda.
Si esto ocurre mientras el mercado está abierto, se recomienda cerrar la apliación y volver a ejecutarla.
Sí, la aplicación se conecta por WebSocket a Primary API y la misma recibe los datos de los instrumentos en tiempo real.
No, la aplicación no emite o envía ninguna orden de compra y venta al mercado. Solamente permite visualizar las oportunidades de arbitraje que existen en tiempo real.
Existen instrumentos donde el ticker para D
y C
no sigue la convención {Ticker}D
o {Ticker}C
. Por ejemplo: Para la letra del tesoro X20Y4
el ticker para D
(dolar MEP) es XY4D
y para C
es XY4C
.
Estas excepciones se pueden configurar haciendo click en el menú Configuración
> Excepciones de instrumentos $;D;C
.
Ingresar la excepción separando con ;
cada ticker usando el formato {Ticker $ Pesos};{Ticker D MEP};{Ticker C CCL}
.
Ejemplo: X20Y4;XY4D;XY4D
Para deshabilitar la telemetría de la aplicación:
- Editar el archivo de configuración
ChuchoBot.exe.config
- Eliminar sección de `...``
<connectionStrings>
<add name="Primary.WinFormsApp.Properties.Settings.AppInsightsConnectionString"
connectionString="..." />
</connectionStrings>