Giter Site home page Giter Site logo

chuchobot's Introduction

Chucho Bot 馃

Requerimientos

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.

驴C贸mo puedo ejecutar la aplicaci贸n?

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

驴Cu谩l es la Primary API Base URL de mi ALyC?

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

Login

  • 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

驴C煤al es mi usuario y contrase帽a para hacer Login?

El usuario y contrase帽a a utilizar es el mismo que se utiliza para ingresar en Matriz.

驴C贸mo configuro los Derechos de Mercado para los distintos instrumentos?

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

驴C贸mo configuro la comisi贸n de cauci贸n tomadora y colocadora?

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

驴C贸mo agregar/eliminar instrumentos a monitorear?

  1. Ir a Configuraci贸n => Instrumentos a monitorear

    Configuracion

  2. Agregar o quitar instrumentos a la lista (1 instrumento por linea). Ejemplo: Agregar GGAL para monitorear la acci贸n de Galicia.

    Instrumentos a Monitorear

驴Puedo utilizar la aplicaci贸n si no tengo acceso a Matriz?

No, la aplicaci贸n necesita tener acceso a Primary API (Matriz).

Scanner de arbitraje de plazos de liquidaci贸n

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

Scanner de arbitraje de plazos

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.

Scanner de arbitraje de plazos detalle

Operatoria cuando el plazo de la Venta es menor al de Compra (requiere t铆tulos en cartera)

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:

  1. Vender el t铆tulo en el plazo visualizado CI
  2. Comprar el t铆tulo en el plazo visualizado 24hs
  3. Colocar en cauci贸n el resultado de la venta del paso 1

Operatoria cuando el plazo de la Venta es mayor al de Compra

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:

  1. Comprar el t铆tulo en el plazo visualizado CI
  2. Vender el t铆tulo en el plazo visualizado 24hs
  3. Tomar cauci贸n por el total de la compra del paso 1

驴C贸mo puedo abrir la ventana de arbitraje de plazos de liquidaci贸n para un instrumento determinado?

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:

  1. Instrumento
  2. Plazo de liquidaci贸n de compra
  3. Plazo de liquidaci贸n de venta

Abrir arbitraje de plazos para un instrumento

Operatoria Rotaci贸n de Activos (Ratio)

La rotaci贸n de activos consiste en vender el caro y comprar el activo barato. Ejemplo: Vender GD30 y comprar AL30 o viceversa.

驴C贸mo sabemos cuando un activo est谩 m谩s caro o barato que el otro?

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.

驴C贸mo puedo visualizar la relaci贸n (ratio) entre 2 activos?

En TradingView esto se puede lograr utilizando el Indicador Ratio. Ejemplo:

  1. Ingresamos al grafico de GD30
  2. Click en Indicadores
  3. Click Ratio
  4. Ingresamos AL30 y click en el bot贸n Aplicar

驴C贸mo es la operatoria de rotaci贸n de activo (ratio)?

La operatoria de rotaci贸n de activo (ratio) consiste en:

  1. Comprar el activo "barato"
  2. 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.

Scanner para comprar/vender dolar MEP y CCL

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:

Dolar MEP

Scanner de Dolar MEP

Dolar CCL

Scanner de Dolar CCL

Preguntas frecuentes

驴Qu茅 es el arbitraje de plazos de liquidaci贸n?

Video: https://www.youtube.com/watch?v=i0xQ3_KqdHI

驴Por qu茅 aparece el icono de WiFi rojo y el texto "DISCONNECTED"?

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.

Disconnected

Si esto ocurre mientras el mercado est谩 abierto, se recomienda cerrar la apliaci贸n y volver a ejecutarla.

驴La aplicaci贸n recibe datos en tiempo real?

S铆, la aplicaci贸n se conecta por WebSocket a Primary API y la misma recibe los datos de los instrumentos en tiempo real.

驴La aplicaci贸n env铆a alguna orden de compra o venta?

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.

驴C贸mo puedo configurar el instrumento D o C?

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

驴C贸mo deshabilito la Telemetr铆a?

Para deshabilitar la telemetr铆a de la aplicaci贸n:

  1. Editar el archivo de configuraci贸n ChuchoBot.exe.config
  2. Eliminar secci贸n de `...``
  <connectionStrings>
    <add name="Primary.WinFormsApp.Properties.Settings.AppInsightsConnectionString"
      connectionString="..." />
  </connectionStrings>

chuchobot's People

Contributors

chuchocoder avatar eabdala avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chuchobot's Issues

No logro login

Usuario Matriz habilitado en BMB, accedo a la web de Matriz sin problema.

Se queda en pantalla gris con leyenda "Login user..." en parte superior izquierda.

Update: Problema local en PC.

Aranceles de caucion no se leen de la configuracion

A pesar de haber colocado los valores de los aranceles de caucion en el archivo de configuracion, el bot no los esta levantando, no es urgente, de momento os pongo a mano al inicio. Ver abajo fragmento en XML.

1.0 4.0

Dias para 24hs y d铆as para 48hs

Hola, estuve viendo en los diferentes releases, hiciste una mejora par tomar los feriados bursatiles usaste los plazos de las cauciones, mi consulta es si no se podr谩 tomar este dato para poner un default en los plazos para 24 y 48 hs, es solo una idea. EL programa es muy 煤til. Muchas Gracias

Error occurred with ticker AL29D: Symbol 'MERV - XMEV - AL29D - 24hs' not found

Consulte el final de este mensaje para obtener m谩s detalles sobre c贸mo invocar a la depuraci贸n
Just-In-Time (JIT) en lugar de a este cuadro de di谩logo.

************** Texto de la excepci贸n **************
System.ApplicationException: Error occurred with ticker AL29D: Symbol 'MERV - XMEV - AL29D - 24hs' not found. ---> System.Collections.Generic.KeyNotFoundException: Symbol 'MERV - XMEV - AL29D - 24hs' not found.
en Primary.WinFormsApp.Argentina.GetInstrumentDetail(String symbol) en C:\Users\FedericoBridger\Source\chucho\chuchobot\Primary.WinFormsApp\Shared\Argentina.cs:l铆nea 200
en Primary.WinFormsApp.TradedInstrumentWithSettlementTerms..ctor(String ticker) en C:\Users\FedericoBridger\Source\chucho\chuchobot\Primary.WinFormsApp\Shared\TradedInstrumentWithSettlementTerms.cs:l铆nea 16
--- Fin del seguimiento de la pila de la excepci贸n interna ---
en Primary.WinFormsApp.TradedInstrumentWithSettlementTerms..ctor(String ticker) en C:\Users\FedericoBridger\Source\chucho\chuchobot\Primary.WinFormsApp\Shared\TradedInstrumentWithSettlementTerms.cs:l铆nea 22
en Primary.WinFormsApp.SettlementTermArbitrationProcessor.Init() en C:\Users\FedericoBridger\Source\chucho\chuchobot\Primary.WinFormsApp\SettlementTerms\SettlementTermArbitrationProcessor.cs:l铆nea 194
en Primary.WinFormsApp.FrmSettlementTermsAnalyzer.FrmArbitrationBestTrades_Load(Object sender, EventArgs e) en C:\Users\FedericoBridger\Source\chucho\chuchobot\Primary.WinFormsApp\SettlementTerms\FrmSettlementTermsAnalyzer.cs:l铆nea 59
en System.Windows.Forms.Form.OnLoad(EventArgs e)
en System.Windows.Forms.Form.OnCreateControl()
en System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
en System.Windows.Forms.Control.CreateControl()
en System.Windows.Forms.Control.WmShowWindow(Message& m)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
en System.Windows.Forms.ContainerControl.WndProc(Message& m)
en System.Windows.Forms.Form.WmShowWindow(Message& m)
en System.Windows.Forms.Form.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Ensamblados cargados **************
mscorlib
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9181.0 built by: NET481REL1LAST_C
C贸digo base: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

ChuchoBot
Versi贸n del ensamblado: 1.0.0.0
Versi贸n Win32: 1.0.0.0
C贸digo base: file:///C:/Users/rmsal/OneDrive/A%20PENDRIVE/Inver/ChuchoBot/ChuchoBot2023-10-02/ChuchoBot.exe

System.Windows.Forms
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9181.0 built by: NET481REL1LAST_C
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9172.0 built by: NET481REL1LAST_C
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9181.0 built by: NET481REL1LAST_C
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Accessibility
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

Primary
Versi贸n del ensamblado: 0.5.4.0
Versi贸n Win32: 0.5.4.0
C贸digo base: file:///C:/Users/rmsal/OneDrive/A%20PENDRIVE/Inver/ChuchoBot/ChuchoBot2023-10-02/Primary.DLL

netstandard
Versi贸n del ensamblado: 2.0.0.0
Versi贸n Win32: 4.8.9032.0
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll

System.Net.Http
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll

mscorlib.resources
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_es_b77a5c561934e089/mscorlib.resources.dll

Newtonsoft.Json
Versi贸n del ensamblado: 12.0.0.0
Versi贸n Win32: 12.0.3.23909
C贸digo base: file:///C:/Users/rmsal/OneDrive/A%20PENDRIVE/Inver/ChuchoBot/ChuchoBot2023-10-02/Newtonsoft.Json.DLL

System.Numerics
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll

System.Runtime.Serialization
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll

System.Data
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9166.0 built by: NET481REL1LAST_B
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

Microsoft.GeneratedCode
Versi贸n del ensamblado: 1.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.resources
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.resources.dll

System.Windows.Forms.resources
Versi贸n del ensamblado: 4.0.0.0
Versi贸n Win32: 4.8.9032.0 built by: NET481REL1
C贸digo base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll

************** Depuraci贸n JIT **************
Para habilitar la depuraci贸n Just In Time (JIT), el archivo de configuraci贸n de esta
aplicaci贸n o equipo (machine.config) debe tener el
valor jitDebugging establecido en la secci贸n system.windows.forms.
La aplicaci贸n tambi茅n se debe compilar con la depuraci贸n
habilitada

Por ejemplo:

Cuando est茅 habilitada la depuraci贸n JIT, cualquier excepci贸n no controlada
se enviar谩 al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de di谩logo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.