paint-brush
Un cadre détaillé pour l'approvisionnement intelligent en liquidités dans Uniswap V3par@idrees535
2,550 lectures
2,550 lectures

Un cadre détaillé pour l'approvisionnement intelligent en liquidités dans Uniswap V3

par Idrees11m2023/12/21
Read on Terminal Reader

Trop long; Pour lire

Découvrez l'avenir de la finance décentralisée (DeFi) avec un cadre innovant tirant parti de la modélisation basée sur les agents et de l'apprentissage par renforcement pour un approvisionnement intelligent en liquidités dans Uniswap V3. Cette approche révolutionnaire vise à optimiser les stratégies d'approvisionnement en liquidités, à maximiser les fonctions de services publics et à améliorer la rentabilité des fournisseurs de liquidités. Explorez les trois composants clés du cadre, les nuances de l'agent d'apprentissage par renforcement et le potentiel qu'il recèle pour remodeler le paysage de la gestion des liquidités dans le domaine en constante évolution de DeFi.
featured image - Un cadre détaillé pour l'approvisionnement intelligent en liquidités dans Uniswap V3
Idrees HackerNoon profile picture
0-item


L'approvisionnement en liquidités dans Uniswap V3 présente un problème de contrôle optimal stochastique avec une fonction d'utilité bien définie à maximiser. Cet article présente un cadre innovant pour l’approvisionnement intelligent en liquidités, utilisant une combinaison de modélisation basée sur les agents et d’apprentissage par renforcement. Notre cadre fournit une solution robuste et adaptative pour optimiser les stratégies d’approvisionnement en liquidité. Le modèle Uniswap V3 imite les conditions réelles du marché, tandis que le modèle basé sur des agents (ABM) crée un environnement pour simuler les interactions d'agents avec les pools Uniswap V3. L'agent d'apprentissage par renforcement, formé à l'aide de gradients politiques déterministes profonds (DDPG), apprend des stratégies optimales, démontrant le potentiel de l'apprentissage automatique pour améliorer la participation DeFi. Cette approche vise à améliorer la rentabilité et la compréhension des fournisseurs de liquidité des marchés CFMM.


Aperçu du contenu

  • Introduction
  • Cadre intelligent d’approvisionnement en liquidités
  • Composantes du cadre d’approvisionnement intelligent en liquidités
  • Simulateur basé sur des agents
  • Modèle d'apprentissage par renforcement
  • Limites
  • Travail futur
  • Conclusion
  • Ressources
  • Les références


Introduction

Dans mon précédent article sur la tenue de marché [Mécanismes et stratégies de tenue de marché], nous avons exploré les mécanismes et les stratégies de tenue de marché sur les marchés financiers traditionnels. S'appuyant sur ces informations, cet article présente un cadre innovant pour l'approvisionnement intelligent en liquidités dans le contexte d'Uniswap V3. Comme mentionné dans nos recherches précédentes, notre objectif était d'étendre notre compréhension de la dynamique du marché et de la gestion des liquidités dans la finance décentralisée ( DeFi) , notamment grâce au développement du cadre intelligent d'approvisionnement en liquidités.


La finance décentralisée (DeFi) a connu une croissance remarquable, introduisant des produits et services financiers innovants accessibles à un public mondial. Uniswap V3, à la pointe de cette innovation, a révolutionné l'approvisionnement en liquidité grâce à sa fonction de liquidité concentrée. Cependant, cette avancée entraîne des défis décisionnels complexes pour les fournisseurs de liquidité. Cet article présente un cadre complet conçu pour relever ces défis, offrant un environnement simulé pour étudier et optimiser les stratégies d'approvisionnement en liquidité.


Notre framework comprend trois composants clés : le modèle Uniswap V3, un modèle basé sur des agents (ABM) et un agent d'apprentissage par renforcement. Le modèle Uniswap V3 fournit une représentation du pool, permettant le déploiement et l'interaction avec les jetons et les pools. L'ABM introduit de la complexité en simulant les interactions des agents et la dynamique du marché, créant ainsi un environnement riche pour l'évaluation de la stratégie. L’agent d’apprentissage par renforcement, opérant dans cet environnement, adopte une approche déterministe profonde de gradient politique pour apprendre et adapter des stratégies, visant une performance optimale en matière d’approvisionnement en liquidités.



Cette recherche vise à développer un mécanisme intelligent d'approvisionnement en liquidité (ILP) utilisant l'apprentissage par renforcement (RL) pour gérer et optimiser de manière autonome la liquidité au sein de l'environnement Uniswap V3. Le mécanisme cherche à maximiser la fonction d'utilité, en tenant compte des frais gagnés, des pertes éphémères et d'autres mesures basées sur les préférences des fournisseurs de liquidité, tout en s'adaptant à la dynamique complexe du marché CFMM.







Cadre d’approvisionnement intelligent en liquidités

Dans le cadre RL, le problème d’approvisionnement en liquidité est formulé comme un processus de décision markovien (MDP). Le MDP se compose d'états, d'actions et de récompenses.



  • États : les États représentent les conditions actuelles du marché, y compris les prix des actifs, les volumes de transactions et d'autres variables pertinentes.


  • Actions : Les actions correspondent aux décisions prises par le fournisseur de liquidité, comme l'ajustement des allocations de liquidité, le rééquilibrage des portefeuilles, etc.


  • Récompenses : les récompenses quantifient l'opportunité des résultats en fonction de la fonction objective, des préférences et des contraintes du fournisseur de liquidité. Les récompenses peuvent être positives pour des résultats souhaitables (par exemple, des rendements élevés) et négatives pour des résultats indésirables (par exemple, un risque élevé ou une sous-performance).


  • Fonction objectif : la fonction objectif représente le résultat souhaité par le fournisseur de liquidité, qui peut être une combinaison de facteurs tels que la maximisation des rendements, la minimisation des risques ou la réalisation d'un compromis spécifique entre les deux. Les contraintes peuvent inclure des limitations sur les allocations de liquidités, l'utilisation du capital, les niveaux de tolérance au risque ou d'autres restrictions définies par le fournisseur de liquidités.


La formation RL est un processus itératif dans lequel l'agent met continuellement à jour sa politique en fonction des commentaires. L’agent apprend de ses expériences et affine sa prise de décision au fil du temps, convergeant progressivement vers des stratégies d’approvisionnement en liquidités plus optimales.


Une fois que l'agent RL a été formé, il peut être testé et évalué à l'aide de données historiques ou d'environnements simulés pour évaluer ses performances par rapport à la fonction objective et aux contraintes du fournisseur de liquidité. La performance de l'agent peut être mesurée à l'aide de mesures telles que les rendements, les mesures de risque ou d'autres indicateurs de performance pertinents.


En appliquant l'algorithme RL, le mécanisme d'approvisionnement en liquidité peut apprendre et s'adapter aux conditions changeantes du marché, identifier les stratégies optimales d'approvisionnement en liquidité et équilibrer les contraintes et préférences spécifiées par le fournisseur de liquidité. RL permet au mécanisme de trouver des solutions qui maximisent la fonction objective du fournisseur de liquidité, en tenant compte de divers compromis et contraintes de manière autonome et dynamique.



Composantes du cadre d’approvisionnement intelligent en liquidités

Le cadre comprend trois éléments principaux :

Composants du cadre




Modèle UniswapV3

Le modèle Uniswap V3 implémenté en Python offre une simulation détaillée et fonctionnelle du protocole Uniswap V3, capturant ses mécanismes nuancés et fournissant aux utilisateurs un ensemble d'outils complet pour interagir avec le protocole. La classe UniswapV3_Model gère le déploiement des jetons et des pools, initialise les pools et fournit une interface pour les actions du pool et la récupération de l'état du pool.


Aperçu

Le modèle Uniswap sert de fondement au cadre d'approvisionnement intelligent en liquidités, encapsulant les mécanismes de base d'Uniswap V3. Il exploite les contrats intelligents compilés à partir du V3-Core d'Uniswap, déployés dans un environnement Ganache local à l'aide de brownie, pour créer une simulation réaliste et interactive.


Compilation et déploiement de contrats

Le framework s'intègre à Brownie, un framework de développement et de test basé sur Python pour les contrats intelligents, pour compiler et déployer les contrats intelligents Uniswap V3. Ces contrats sont ensuite déployés dans un environnement Ganache local, fournissant un bac à sable pour les tests et le développement. Cette configuration garantit que les utilisateurs peuvent interagir avec l'environnement Uniswap sans avoir besoin d'actifs réels ou de transactions réseau, favorisant ainsi un espace d'expérimentation sûr et contrôlé.



Simulateur basé sur un agent

Le simulateur basé sur un agent Tokenspice est utilisé pour simuler l'environnement Uniswap V3, les politiques d'agent sont définies pour intégrer la dynamique des acteurs du marché Uniswap. Différents types d'agents sont utilisés pour simuler l'environnement dynamique Uniswap

Introduction

Le modèle basé sur des agents (ABM) de Tokenspice simule les actions et les interactions d'agents individuels au sein de l'écosystème Uniswap V3. En modélisant les comportements complexes des différents participants, l'ABM fournit une interface complète de l'environnement dynamique Uniswap V3, permettant l'analyse et l'optimisation des stratégies d'approvisionnement en liquidité.


Types d'agents et comportements

L'ABM comprend différents types d'agents, chacun représentant un rôle spécifique au sein de l'écosystème Uniswap V3. Les deux principaux agents sont le Liquidity Provider Agent et le Swapper Agent, qui interagissent avec les pools Uniswap pour fournir des liquidités et effectuer des échanges de jetons, respectivement. Le comportement de ces agents est dicté par les politiques définies dans le fichier agents_policies.py , garantissant que leurs actions sont alignées sur les stratégies du monde réel et les conditions du marché.


  • Agent fournisseur de liquidité : cet agent ajoute et supprime des liquidités des pools Uniswap. Il suit un ensemble de politiques qui dictent ses actions en fonction de l'état actuel du marché et des préférences de l'agent.


  • Agent Swapper : L'agent Swapper effectue des échanges de jetons au sein des pools Uniswap, profitant des écarts de prix et des opportunités d'arbitrage. Son comportement est guidé par des politiques qui évaluent la rentabilité potentielle des transactions, en tenant compte des frais de transaction et du slippage.


Configuration et exécution de la simulation

Le fichier netlist.py est au cœur de l'ABM, configurant la manière dont les agents interagissent entre eux et avec les pools Uniswap. Il définit les relations entre les agents, les politiques et l'environnement de simulation.


Les modules SimEngine.py , SimStateBase.py et SimStrategyBase.py fournissent les éléments fondamentaux pour exécuter des simulations. Le SimEngine orchestre la simulation, gère l'écoulement du temps et l'exécution des actions des agents. SimStateBase maintient l'état actuel de la simulation, en stockant les données sur les avoirs des agents, les états du pool et d'autres variables pertinentes. SimStrategyBase définit les stratégies globales qui guident le comportement des agents tout au long de la simulation.


Modèle d'apprentissage par renforcement

Introduction

L'agent d'apprentissage par renforcement (RL) est un composant essentiel du cadre d'approvisionnement intelligent en liquidités, conçu pour interagir avec l'écosystème Uniswap V3 via Uniswap Model, un modèle basé sur des agents. Cette section examine l'agent RL, son environnement et l'algorithme DDPG (Deep Deterministic Policy Gradient) utilisé pour la formation.


Environnement d'agent RL

L'agent RL fonctionne dans un environnement personnalisé, DiscreteSimpleEnv , qui s'interface avec le modèle Uniswap et le modèle basé sur un agent pour simuler le marché DeFi. Cet environnement facilite l'interaction de l'agent avec les pools Uniswap, lui permettant d'ajouter et de supprimer des liquidités et d'observer les conséquences de ses actions. L'agent RL interagit avec le modèle Uniswap et ABM pour simuler l'approvisionnement en liquidités réel dans Uniswap V3. Il choisit les actions qui entraînent l'ajout ou la suppression de liquidités, avec des politiques et une configuration de simulation définies dans l'ABM, garantissant des interactions réalistes.


  • Espace d'état : l'espace d'état de l'environnement comprend divers indicateurs de marché tels que le prix actuel, la liquidité et la croissance des frais. Ces paramètres sont normalisés et fournis à l'agent à chaque pas de temps.


  • Espace d'action : l'espace d'action de l'agent se compose de valeurs continues représentant les limites de prix pour l'ajout de liquidité à un pool Uniswap. Ces actions se traduisent par des interactions avec les pools Uniswap, affectant l'état de l'environnement.


  • Fonction de récompense : La fonction de récompense est cruciale pour la formation de l'agent RL. Il prend en compte les revenus d'honoraires, les pertes éphémères, la valeur du portefeuille et les pénalités potentielles, fournissant un signal de récompense scalaire pour guider le processus d'apprentissage de l'agent.


Agent DDPG

L'agent DDPG est un algorithme acteur-critique sans modèle et hors politique utilisant des approximateurs de fonctions approfondies. Il peut gérer des espaces d'état de grande dimension et des espaces d'action continue, ce qui le rend bien adapté à notre environnement Uniswap V3.


  • Réseau d'acteurs : ce réseau est chargé de fournir l'action la plus crédible étant donné un État. Il possède une couche de sortie sigmoïde, produisant des valeurs relatives pour price_lower et price_upper qui sont ensuite mises à l'échelle à la plage souhaitée dans l'environnement de l'agent, représentant les limites de prix pour l'ajout de liquidité.
  • Réseau critique : ce réseau évalue la fonction de valeur de l'action, estimant le retour attendu d'une action dans un état donné.
  • Réseaux cibles : DDPG utilise des réseaux cibles pour l'acteur et le critique, qui sont lentement mis à jour pour stabiliser la formation.
  • Relecture d'expérience : cette technique est utilisée pour stocker un tampon de relecture des expériences passées, permettant à l'agent d'apprendre à partir d'un ensemble diversifié d'échantillons, de briser les corrélations dans les observations et de fluidifier l'apprentissage.


Interaction avec le modèle Uniswap et ABM

L'agent RL exploite le modèle Uniswap et le modèle basé sur un agent pour simuler l'approvisionnement en liquidités réel dans Uniswap V3. Il interagit avec les pools Uniswap via DiscreteSimpleEnv , effectuant des actions qui entraînent l'ajout ou la suppression de liquidités. Les politiques de l'agent et la configuration de la simulation sont définies dans le composant ABM, garantissant un environnement dynamique réaliste et cohérent.


  • Former et évaluer l'agent : L'agent est formé sur une série d'épisodes, chacun représentant un scénario de marché différent (pool différent). La performance de l'agent est évaluée en fonction de sa capacité à maximiser les rendements tout en minimisant les risques associés à l'approvisionnement en liquidités. L'efficacité du cadre d'approvisionnement intelligent en liquidités est évaluée à travers l'évaluation des performances de l'agent d'apprentissage par renforcement (RL).


  • Configuration de l'environnement : pour évaluer l'agent RL, nous avons mis en place un environnement d'évaluation spécialisé, DiscreteSimpleEnvEval , qui étend l'environnement de base, DiscreteSimpleEnv . Cet environnement est adapté à l’évaluation des politiques des agents.


  • Agent de base : dans notre configuration d'évaluation, nous comparons les performances de l'agent RL à celles d'un agent de base. Les actions de l'agent de base sont déterminées par une politique de base qui repose sur l'état actuel du pool de liquidités. Cet agent vise à fournir un point de référence pour évaluer les performances de l'agent RL.


Résultats

Entraînement






Évaluation



Limites

  • Synchronisation des pools : actuellement, le framework ne capture pas entièrement la synchronisation en temps réel des pools, ce qui peut entraîner des écarts dans la modélisation de la dynamique réelle d'Uniswap V3. Les travaux futurs devraient se concentrer sur l’intégration de mécanismes pour une meilleure synchronisation des pools, en utilisant potentiellement des données ou des événements de tick/position pour améliorer le réalisme.


  • Politiques d'agent naïves : les politiques d'agent utilisées dans le cadre actuel sont relativement simples et naïves. Pour réaliser des simulations plus précises, les itérations futures devraient viser à définir des politiques d’agents plus complètes. Ces politiques pourraient modéliser différents types d'agents Uniswap, tels que les traders de bruit, les traders informés, les fournisseurs de liquidité de détail et les fournisseurs de liquidité institutionnels. Alternativement, des modèles statistiques formés sur des données de pool historiques peuvent éclairer les politiques des agents pour un comportement plus réaliste.


  • Espace d'observation clairsemé : l'espace d'observation fourni aux agents manque d'informations complètes sur l'état de la piscine. Pour améliorer les capacités de prise de décision, les améliorations futures devraient inclure des données de ticks et de position, ainsi que des fonctionnalités techniques offrant aux agents une compréhension plus complète de l'état du pool.


  • Espace d'action limité : l'espace d'action des agents est actuellement limité, avec des montants de liquidité fixes et des limites de fourchette de prix restreintes. L'élargissement de l'espace d'action pour permettre une plus grande flexibilité dans l'apport de liquidités, ainsi que la prise en compte de plusieurs positions par étape, peuvent améliorer la fidélité des simulations.



Travail futur

Environnement des agents :

  1. Pools synchronisés : implémentez des mécanismes pour synchroniser les pools, éventuellement en utilisant des données ou des événements de tick/position, pour créer une dynamique plus réaliste dans l'environnement Uniswap V3.


  2. Réglage des hyperparamètres : architecture du réseau acteur/critique, alpha, bêta, tau, taille du lot, étapes, épisodes, paramètres de mise à l'échelle (récompenses, actions, espace d'observation)


  3. Politiques d'agent complètes : définissez des politiques analytiques plus sophistiquées qui modélisent avec précision divers agents Uniswap ou utilisez des modèles statistiques formés sur les données historiques du pool pour éclairer le comportement des agents.


  4. Espace d'observation informatif : améliorez l'espace d'observation en incluant des données de graduation et de position, ainsi que des fonctionnalités d'ingénierie qui fournissent aux agents une vue complète de l'état du pool.


  5. Fonction de récompense améliorée : Développer une fonction de récompense améliorée qui prend en compte un plus large éventail de facteurs, conduisant à une formation plus efficace des agents.


  6. Positions multiples : au lieu d'une position avec un budget fixe à chaque pas de temps, implémentez un mécanisme plus complet dans lequel l'agent se voit attribuer un budget une fois au début de la simulation, puis apprend à utiliser ce budget de manière optimale dans les étapes suivantes.


  7. Politiques de base : définissez des politiques de base plus complètes pour évaluer les performances de l'agent RL.


Algorithme d'agent

  • Réglage des hyperparamètres : affiner et optimiser davantage les hyperparamètres de l'agent d'apprentissage par renforcement pour de meilleures performances d'entraînement.


  • Expérimentation avec d'autres agents RL : explorez des modèles d'agents RL alternatifs, tels que l'optimisation des politiques proximales (PPO) ou l'acteur critique doux (SAC), pour déterminer s'ils offrent des avantages dans des scénarios spécifiques.


  • Multi-Agent RL (MARL) : étudiez l'application de techniques d'apprentissage par renforcement multi-agents, qui peuvent être bénéfiques pour la modélisation des interactions entre plusieurs fournisseurs de liquidité et swappers.


  • Apprentissage en ligne : mettez en œuvre des stratégies d'apprentissage en ligne qui permettent aux agents de s'adapter aux conditions changeantes du marché en temps réel, offrant ainsi une solution d'approvisionnement en liquidités plus dynamique et adaptative.


Conclusion

Dans le paysage en évolution rapide de la finance décentralisée (DeFi), l’approvisionnement en liquidités joue un rôle central pour permettre des échanges efficaces et sécurisés. Uniswap V3, avec sa fonction innovante de liquidité concentrée, a repoussé les limites de ce qui est possible dans la gestion de la liquidité DeFi. Cependant, la complexité de l’optimisation des stratégies d’approvisionnement en liquidités au sein de cet écosystème dynamique nécessite des solutions innovantes.


Notre cadre intelligent d’approvisionnement en liquidités représente une avancée significative pour relever ces défis. En combinant la modélisation basée sur les agents et l'apprentissage par renforcement, nous avons créé une boîte à outils puissante pour les fournisseurs de liquidité et les acteurs du marché. Ce cadre offre une solution robuste et adaptative pour optimiser les stratégies d'approvisionnement en liquidité, en mettant l'accent sur la maximisation des fonctions d'utilité qui englobent les frais gagnés, l'atténuation des pertes éphémères et d'autres mesures adaptées aux préférences individuelles.



Ressources


Les références

  1. https://kth.diva-portal.org/smash/get/diva2:1695877/FULLTEXT01.pdf
  2. https://arxiv.org/pdf/2305.15821.pdf
  3. https://github.com/KodAgge/Reinforcement-Learning-for-Market-Making/tree/main
  4. https://arxiv.org/ftp/arxiv/papers/2211/2211.01346.pdf
  5. https://arxiv.org/pdf/2004.06985.pdf
  6. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9682687
  7. https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0277042
  8. ^ 54122074096068089064070102052026003014069082076098016080066026088066039027093020006122067093104092065070020126069068106118079 127088008098077106031120&EXT=pdf&INDEX=TRUE
  9. https://medium.com/blockapex/market-making-mechanics-and-strategies-4daf2122121c
  10. https://www.gauntlet.xyz/resources/uniswap-user-cohort-analysis
  11. https://gov.uniswap.org/t/uniswap-incentive-design-analysis/21662
  12. https://arxiv.org/pdf/2108.07806.pdf
  13. https://www.researchgate.net/publication/341848292_Market_makers_activity_behavioural_and_agent_based_approach
  14. https://fruct.org/publications/volume-29/fruct29/files/Struc.pdf
  15. https://www.arxiv-vanity.com/papers/1911.03380/
  16. https://insights.glassnode.com/the-week-onchain-week-31-2023/


Également publié ici .