Visión General

Normalmente, los Keepers en forma de bots automatizados son actores externos que participan en la creación de mercado, subastas, arbitraje de mercado y el mantenimiento del sistema dentro del Protocolo de Maker y del gran ecosistema de Ethereum. Bajo un supuesto puramente económico, solamente están incentivados por las ganancias o intereses creados. Sin embargo, su actividad proporciona servicios indirectos como el aumento de la liquidez y la consistencia de precios a través de varios mercados financieros. Esta guía presenta un Keeper de arbitraje simple y su estructura, que puede utilizarse fuera de la caja para participar en mercados muy volátiles. El propósito de esta guía es motivar al usuario a mejorar sus funcionalidades para participar en mercados menos volátiles, llevando a un ecosistema financiero eficiente.

Objetivos de Aprendizaje

Al leer esta guía, ganarás:

Requisitos Previos

Guía

Introducción al Arbitraje

El arbitraje es el proceso de comprar simultáneamente un activo en una exchange y vender un activo similar, si no idéntico, en otra exchange a un precio mayor. Conceptualmente, esta estrategia de negociación puede dividirse en dos tramos, el primero de compra y el segundo de venta. A medida que las marcas de tiempo de estos tramos convergen, el riesgo de exposición del activo se aproxima a cero. Por ejemplo, si ambas negociaciones no son ejecutadas en perfecta sincronía, hay una posibilidad de que la segunda negociación sea completada por otro actor, obligando al arbitrista a mantener un activo hasta que surja otra oportunidad.

Con el avance de la tecnología, esta estrategia de negociación normalmente es automatizada y puede detectar, así como beneficiarse, de desviaciones de precios en cuestión de segundos. Las oportunidades de arbitraje existen debido a las ineficiencias del mercado, así como la escasez de liquidez temporal. Como resultado, el arbitraje proporciona un mecanismo para asegurar que los precios en una exchange/mercado no se desvíen mucho del valor justo. 1

Estructura del Proceso del Sistema

../.gitbook/assets/arb.jpeg

Funcionamiento del Keeper de Arbitraje Simple

El simple-arbitrage-keeper ("Keeper de Arbitraje Simple") es un Keeper de arbitraje para OasisDex y Uniswap. Dada una ganancia mínima por operación y un tamaño máximo de operación, definidos por el usuario y en unidades de entry_token, el Keeper buscará oportunidades de arbitraje. Cuando se ejecuta, monitorea el precio arb_token/entry_token en ambos exchanges y cuando es detectada una discrepancia, ejecuta una operación atómica de múltiples pasos en una sola transacción de Ethereum. La operación de múltiples pasos se compone de dos fases: la primera fase es la compra de arb_token con el entry_token en la start_exchange, mientras que la segunda fase es la venta del arb_token con el entry_token en la end_exchange. Los tipos de entry_token y arb_token normalmente son tipo estable y volátil respectivamente; ya que las oportunidades de arbitraje pueden escasear, el Keeper a veces descansa en estados de default, holdeando el entry_token por períodos extendidos de tiempo mientras busca nuevas oportunidades. La exposición a un solo token estable es especialmente importante en este estado de default. Si cualquier fase de la operación fracasa, toda la operación se revierte, manteniendo así el atributo de "riesgo-libre" del arbitraje verdadero.

Hereda una estructura del sistema que es consistente con otros Keepers en el Marco del Keeper de Maker. Aparte de las típicas bibliotecas de los Proyectos de Python, se basa en pymaker y pyexchange, ambas siendo APIs de Python áltamente aplicables para los Contratos del Protocolo de Maker y exchanges de criptomonedas, respectivamente. Como se puede ver en el diagrama de flujo, el ‘Lifecycle box’ es una clase de utilidad pymaker que ayuda a definir el ciclo de vida apropiado de un keeper; consiste en la startup del keeper, temporizadores y/o subscripciones a eventos Web3, y una fase de apagado del keeper. La caja ‘Process block’ se ejecuta cuando el nodo del keeper recibe un nuevo bloque. Generalmente, contiene la lógica de consultar el estado de la blockchain, evaluar cualquier oportunidad de ganancias y, cuando es aplicable, publicar una transacción.