El aprovisionamiento de liquidez en Uniswap V3 presenta un problema de control óptimo estocástico con una función de utilidad bien definida para maximizar. Este artículo presenta un marco innovador para el aprovisionamiento inteligente de liquidez, utilizando una combinación de modelado basado en agentes y aprendizaje por refuerzo. Nuestro marco proporciona una solución sólida y adaptable para optimizar las estrategias de provisión de liquidez. El modelo Uniswap V3 imita las condiciones del mercado del mundo real, mientras que el modelo basado en agentes (ABM) crea un entorno para simular las interacciones de los agentes con los grupos de Uniswap V3. El agente de aprendizaje por refuerzo, capacitado utilizando gradientes de políticas deterministas profundos (DDPG), aprende estrategias óptimas, lo que muestra el potencial del aprendizaje automático para mejorar la participación en DeFi. Este enfoque tiene como objetivo mejorar la rentabilidad y la comprensión de los mercados CFMM por parte de los proveedores de liquidez.
En mi artículo anterior sobre creación de mercado [Mecánicas y estrategias de creación de mercado], exploramos la mecánica y las estrategias de creación de mercado en los mercados financieros tradicionales. Sobre la base de esos conocimientos, este artículo presenta un marco innovador para el aprovisionamiento inteligente de liquidez en el contexto de Uniswap V3. Como mencionamos en nuestra investigación anterior, nuestro objetivo era ampliar nuestra comprensión de la dinámica del mercado y la gestión de la liquidez en las finanzas descentralizadas ( DeFi) , específicamente mediante el desarrollo del Marco Inteligente de Aprovisionamiento de Liquidez.
Las finanzas descentralizadas (DeFi) han experimentado un crecimiento notable, introduciendo productos y servicios financieros innovadores accesibles a una audiencia global. Uniswap V3, a la vanguardia de esta innovación, ha revolucionado el aprovisionamiento de liquidez con su función de liquidez concentrada. Sin embargo, este avance plantea complejos desafíos en la toma de decisiones para los proveedores de liquidez. Este artículo presenta un marco integral diseñado para abordar estos desafíos, ofreciendo un entorno simulado para estudiar y optimizar las estrategias de provisión de liquidez.
Nuestro marco consta de tres componentes clave: el modelo Uniswap V3, un modelo basado en agentes (ABM) y un agente de aprendizaje por refuerzo. El modelo Uniswap V3 proporciona una representación del grupo, lo que permite la implementación y la interacción con tokens y grupos. El ABM introduce complejidad al simular las interacciones de los agentes y la dinámica del mercado, creando un entorno rico para la evaluación de estrategias. El agente de aprendizaje por refuerzo, que opera dentro de este entorno, adopta un enfoque de gradiente de política determinista profundo para aprender y adaptar estrategias, con el objetivo de lograr un rendimiento óptimo en el aprovisionamiento de liquidez.
Esta investigación tiene como objetivo desarrollar un mecanismo inteligente de aprovisionamiento de liquidez (ILP) utilizando el aprendizaje por refuerzo (RL) para gestionar y optimizar de forma autónoma la liquidez dentro del entorno Uniswap V3. El mecanismo busca maximizar la función de utilidad, considerando las tarifas ganadas, las pérdidas no permanentes y otras métricas basadas en las preferencias de los proveedores de liquidez, mientras se adapta a la compleja dinámica del mercado CFMM.
En el marco de RL, el problema de provisión de liquidez se formula como un Proceso de Decisión de Markov (MDP). El MDP consta de estados, acciones y recompensas.
Estados: los estados representan las condiciones actuales del mercado, incluidos los precios de los activos, los volúmenes de negociación y otras variables relevantes.
Acciones: Las acciones corresponden a las decisiones tomadas por el proveedor de liquidez, como ajustar las asignaciones de liquidez, reequilibrar carteras, etc.
Recompensas: Las recompensas cuantifican la conveniencia de los resultados en función de la función objetivo, las preferencias y las limitaciones del proveedor de liquidez. Las recompensas pueden ser positivas para resultados deseables (por ejemplo, altos rendimientos) y negativas para resultados indeseables (por ejemplo, alto riesgo o bajo rendimiento).
Función objetivo: la función objetivo representa el resultado deseado del proveedor de liquidez, que puede ser una combinación de factores como maximizar la rentabilidad, minimizar los riesgos o lograr una compensación específica entre los dos. Las restricciones pueden incluir limitaciones a las asignaciones de liquidez, utilización de capital, niveles de tolerancia al riesgo u otras restricciones definidas por el proveedor de liquidez.
La capacitación de RL es un proceso iterativo en el que el agente actualiza continuamente su política en función de los comentarios. El agente aprende de sus experiencias y perfecciona su toma de decisiones con el tiempo, convergiendo gradualmente hacia estrategias de provisión de liquidez más óptimas.
Una vez que el agente de RL ha sido capacitado, se puede probar y evaluar utilizando datos históricos o entornos simulados para evaluar su desempeño frente a la función objetiva y las limitaciones del proveedor de liquidez. El desempeño del agente se puede medir utilizando métricas como rendimientos, medidas de riesgo u otros indicadores de desempeño relevantes.
Al aplicar el algoritmo RL, el mecanismo de provisión de liquidez puede aprender y adaptarse a las condiciones cambiantes del mercado, identificar estrategias óptimas de provisión de liquidez y equilibrar las restricciones y preferencias especificadas por el proveedor de liquidez. RL permite que el mecanismo encuentre soluciones que maximicen la función objetivo del proveedor de liquidez, considerando diversas compensaciones y restricciones de forma autónoma y dinámica.
El marco consta de tres componentes principales:
El modelo Uniswap V3 implementado en Python ofrece una simulación detallada y funcional del protocolo Uniswap V3, capturando su mecánica matizada y brindando a los usuarios un conjunto completo de herramientas para interactuar con el protocolo. La clase UniswapV3_Model maneja la implementación de tokens y grupos, inicializa los grupos y proporciona una interfaz para las acciones del grupo y la recuperación del estado del grupo.
El modelo Uniswap sirve como base del marco inteligente de aprovisionamiento de liquidez y encapsula la mecánica central de Uniswap V3. Aprovecha los contratos inteligentes compilados del V3-Core de Uniswap, implementados en un entorno Ganache local utilizando brownie, para crear una simulación realista e interactiva.
El marco se integra con Brownie, un marco de prueba y desarrollo basado en Python para contratos inteligentes, para compilar e implementar los contratos inteligentes Uniswap V3. Luego, estos contratos se implementan en un entorno Ganache local, lo que proporciona un espacio aislado para pruebas y desarrollo. Esta configuración garantiza que los usuarios puedan interactuar con el entorno de Uniswap sin la necesidad de activos reales o transacciones de red, fomentando un espacio de experimentación seguro y controlado.
El simulador basado en agentes de Tokenspice se utiliza para simular el entorno de Uniswap V3, las políticas de los agentes se definen para incorporar la dinámica de los participantes del mercado de Uniswap. Se utilizan diferentes tipos de agentes para simular el entorno dinámico de Uniswap.
El modelo basado en agentes (ABM) de Tokenspice simula las acciones e interacciones de agentes individuales dentro del ecosistema Uniswap V3. Al modelar los comportamientos complejos de diferentes participantes, el ABM proporciona una interfaz integral del entorno dinámico de Uniswap V3, lo que permite el análisis y la optimización de las estrategias de aprovisionamiento de liquidez.
El ABM incluye varios tipos de agentes, cada uno de los cuales representa una función específica dentro del ecosistema Uniswap V3. Los dos agentes principales son el Agente Proveedor de Liquidez y el Agente Swapper, que interactúan con los grupos de Uniswap para proporcionar liquidez y realizar intercambios de tokens, respectivamente. El comportamiento de estos agentes está dictado por políticas definidas en el archivo agents_policies.py
, lo que garantiza que sus acciones estén alineadas con las estrategias y las condiciones del mercado del mundo real.
Agente proveedor de liquidez: este agente agrega y elimina liquidez de los grupos de Uniswap. Sigue un conjunto de políticas que dictan sus acciones en función del estado actual del mercado y las preferencias del agente.
Agente Swapper: El Agente Swapper realiza intercambios de tokens dentro de los grupos de Uniswap, aprovechando las discrepancias de precios y las oportunidades de arbitraje. Su comportamiento está guiado por políticas que evalúan la rentabilidad potencial de las operaciones, considerando las tarifas de transacción y el deslizamiento.
El archivo netlist.py
es fundamental para ABM y configura cómo los agentes interactúan entre sí y con los grupos de Uniswap. Define las relaciones entre los agentes, las políticas y el entorno de simulación.
Los módulos SimEngine.py
, SimStateBase.py
y SimStrategyBase.py
proporcionan los elementos fundamentales para ejecutar simulaciones. SimEngine organiza la simulación, gestionando el flujo de tiempo y la ejecución de las acciones de los agentes. SimStateBase mantiene el estado actual de la simulación, almacenando datos sobre las tenencias de agentes, los estados del grupo y otras variables relevantes. SimStrategyBase define las estrategias generales que guían el comportamiento del agente a lo largo de la simulación.
El agente de aprendizaje por refuerzo (RL) es un componente fundamental del marco inteligente de aprovisionamiento de liquidez, diseñado para interactuar con el ecosistema Uniswap V3 a través del modelo Uniswap, un modelo basado en agentes. Esta sección profundiza en el Agente RL, su entorno y el algoritmo DDPG (Gradiente de política determinista profunda) utilizado para el entrenamiento.
El RL Agent opera en un entorno personalizado, DiscreteSimpleEnv
, que interactúa con el modelo Uniswap y el modelo basado en agentes para simular el mercado DeFi. Este entorno facilita la interacción del agente con los pools de Uniswap, permitiéndole agregar y quitar liquidez y observar las consecuencias de sus acciones. El Agente RL interactúa con el modelo Uniswap y ABM para simular el aprovisionamiento de liquidez del mundo real en Uniswap V3. Elige acciones que resulten en agregar o eliminar liquidez, con políticas y configuración de simulación definidas en el ABM, asegurando interacciones realistas.
Espacio de estado: el espacio de estado del entorno incluye varios indicadores de mercado, como el precio actual, la liquidez y el crecimiento de las tarifas. Estos parámetros se normalizan y se proporcionan al agente en cada paso de tiempo.
Espacio de acción: el espacio de acción del agente consta de valores continuos que representan los límites de precios para agregar liquidez a un grupo de Uniswap. Estas acciones se traducen en interacciones con los pools de Uniswap, afectando el estado del medio ambiente.
Función de recompensa: la función de recompensa es crucial para capacitar al Agente RL. Tiene en cuenta los ingresos por comisiones, las pérdidas no permanentes, el valor de la cartera y las posibles sanciones, proporcionando una señal de recompensa escalar para guiar el proceso de aprendizaje del agente.
El agente DDPG es un algoritmo de actor crítico, fuera de políticas y sin modelos, que utiliza aproximadores de funciones profundas. Puede manejar espacios de estado de alta dimensión y espacios de acción continua, lo que lo hace muy adecuado para nuestro entorno Uniswap V3.
El Agente RL aprovecha el modelo Uniswap y el modelo basado en agentes para simular el aprovisionamiento de liquidez del mundo real en Uniswap V3. Interactúa con los grupos de Uniswap a través de DiscreteSimpleEnv
, realizando acciones que resultan en agregar o eliminar liquidez. Las políticas del agente y la configuración de la simulación se definen en el componente ABM, asegurando un entorno dinámico realista y coherente.
Capacitar y evaluar al agente: el agente se capacita a lo largo de una serie de episodios, cada uno de los cuales representa un escenario de mercado diferente (grupo diferente). El desempeño del agente se evalúa en función de su capacidad para maximizar los rendimientos y al mismo tiempo minimizar los riesgos asociados con el aprovisionamiento de liquidez. La eficacia del Marco Inteligente de Provisión de Liquidez se evalúa mediante la evaluación del desempeño del agente de aprendizaje por refuerzo (RL).
Configuración del entorno: para evaluar el agente RL, configuramos un entorno de evaluación especializado, DiscreteSimpleEnvEval
, que amplía el entorno base, DiscreteSimpleEnv
. Este entorno está diseñado para la evaluación de políticas de agentes.
Agente de referencia: en nuestra configuración de evaluación, comparamos el desempeño del agente de RL con el de un agente de referencia. Las acciones del agente de referencia están determinadas por una política de referencia que se basa en el estado actual del fondo de liquidez. Este agente tiene como objetivo proporcionar un punto de referencia para evaluar el desempeño del agente RL.
Capacitación
Evaluación
Sincronización de grupos: actualmente, el marco no captura completamente la sincronización en tiempo real de los grupos, lo que puede generar discrepancias en el modelado de la dinámica real de Uniswap V3. El trabajo futuro debería centrarse en incorporar mecanismos para una mejor sincronización del grupo, utilizando potencialmente datos o eventos de tick/posición para mejorar el realismo.
Políticas de agentes ingenuos: Las políticas de agentes empleadas en el marco actual son relativamente simples e ingenuas. Para lograr simulaciones más precisas, las iteraciones futuras deberían tener como objetivo definir políticas de agentes más completas. Estas políticas podrían modelar varios tipos de agentes de Uniswap, como comerciantes ruidosos, comerciantes informados, proveedores de liquidez minoristas y proveedores de liquidez institucionales. Alternativamente, los modelos estadísticos entrenados en datos históricos del grupo pueden informar las políticas de los agentes para un comportamiento más realista.
Espacio de observación escaso: el espacio de observación proporcionado a los agentes carece de información completa sobre el estado de la piscina. Para mejorar las capacidades de toma de decisiones, las mejoras futuras deberían incluir datos de posición y ticks, junto con características diseñadas que ofrezcan a los agentes una comprensión más completa del estado del grupo.
Espacio de acción limitado: el espacio de acción para los agentes está actualmente limitado, con montos de liquidez fijos y límites de rango de precios restringidos. Ampliar el espacio de acción para permitir una mayor flexibilidad en la provisión de liquidez, así como considerar múltiples posiciones por paso, puede mejorar la fidelidad de las simulaciones.
Grupos sincronizados: implemente mecanismos para sincronizar grupos, posiblemente utilizando datos o eventos de tick/posición, para crear dinámicas más realistas en el entorno Uniswap V3.
Ajuste de hiperparámetros: arquitectura de red de actores/críticos, alfa, beta, tau, tamaño de lote, pasos, episodios, parámetros de escala (recompensas, acciones, espacio de observación)
Políticas integrales de agentes: defina políticas analíticas más sofisticadas que modelen con precisión varios agentes de Uniswap o utilicen modelos estadísticos entrenados en datos históricos del grupo para informar el comportamiento de los agentes.
Espacio de observación informativo: mejore el espacio de observación al incluir datos de posición y ticks, y diseñe funciones que brinden a los agentes una vista integral del estado del grupo.
Función de recompensa mejorada: desarrolle una función de recompensa mejorada que tenga en cuenta una gama más amplia de factores, lo que conducirá a una capacitación de agentes más eficaz.
Múltiples posiciones: en lugar de una posición con un presupuesto fijo en cada paso de tiempo, implemente un mecanismo más completo en el que al agente se le asigna un presupuesto una vez al inicio de la simulación y luego aprende a utilizar este presupuesto de manera óptima en los pasos posteriores.
Políticas de referencia: definir políticas de referencia más completas para evaluar el desempeño del agente de RL
Ajuste de hiperparámetros: perfeccione y optimice aún más los hiperparámetros del agente de aprendizaje por refuerzo para un mejor rendimiento del entrenamiento.
Experimentación con otros agentes de RL: explore modelos de agentes de RL alternativos, como la optimización de políticas próximas (PPO) o el actor crítico suave (SAC), para determinar si ofrecen ventajas en escenarios específicos.
RL de agentes múltiples (MARL): investigue la aplicación de técnicas de aprendizaje de refuerzo de agentes múltiples, que pueden ser beneficiosas para modelar interacciones entre múltiples proveedores e intercambiadores de liquidez.
Aprendizaje en línea: Implementar estrategias de aprendizaje en línea que permitan a los agentes adaptarse a las condiciones cambiantes del mercado en tiempo real, brindando una solución de aprovisionamiento de liquidez más dinámica y adaptable.
En el panorama en rápida evolución de las finanzas descentralizadas (DeFi), el aprovisionamiento de liquidez desempeña un papel fundamental para permitir un comercio eficiente y seguro. Uniswap V3, con su innovadora función de liquidez concentrada, ha superado los límites de lo que es posible en la gestión de liquidez de DeFi. Sin embargo, las complejidades de optimizar las estrategias de provisión de liquidez dentro de este ecosistema dinámico requieren soluciones innovadoras.
Nuestro Marco Inteligente de Provisión de Liquidez representa un importante paso adelante para abordar estos desafíos. Al combinar el modelado basado en agentes y el aprendizaje reforzado, hemos creado un poderoso conjunto de herramientas para proveedores de liquidez y participantes del mercado. Este marco ofrece una solución sólida y adaptable para optimizar las estrategias de provisión de liquidez, con un enfoque en maximizar las funciones de utilidad que abarcan las tarifas ganadas, la mitigación de pérdidas no permanentes y otras métricas adaptadas a las preferencias individuales.
También publicado aquí .