В моей предыдущей статье о маркет-мейкинге мы исследовали механику и стратегии маркет-мейкинга на традиционных финансовых рынках. Опираясь на эти идеи, в этой статье представлена инновационная платформа для интеллектуального предоставления ликвидности в контексте Uniswap V3. Как упоминалось в нашем предыдущем исследовании, нашей целью было расширить наше понимание динамики рынка и управления ликвидностью в децентрализованных финансах ( DeFi) , в частности, посредством разработки системы интеллектуального обеспечения ликвидности.
Штаты: Штаты представляют текущие рыночные условия, включая цены на активы, объемы торговли и другие соответствующие переменные.
Действия: действия соответствуют решениям, принятым поставщиком ликвидности, например, корректировка распределения ликвидности, ребалансировка портфелей и т. д.
Вознаграждения: Вознаграждения количественно определяют желательность результатов на основе целевой функции, предпочтений и ограничений поставщика ликвидности. Вознаграждения могут быть положительными в случае желательных результатов (например, высокая доходность) и отрицательными в случае нежелательных результатов (например, высокий риск или низкая производительность).
Целевая функция: Целевая функция представляет собой желаемый результат поставщика ликвидности, который может представлять собой комбинацию таких факторов, как максимизация прибыли, минимизация рисков или достижение определенного компромисса между ними. Ограничения могут включать ограничения на распределение ликвидности, использование капитала, уровни толерантности к риску или другие ограничения, определенные поставщиком ликвидности.
ABM включает в себя различные типы агентов, каждый из которых представляет определенную роль в экосистеме Uniswap V3. Двумя основными агентами являются агент поставщика ликвидности и агент обмена, которые взаимодействуют с пулами Uniswap для обеспечения ликвидности и выполнения обмена токенов соответственно. Поведение этих агентов определяется политиками, определенными в файле agents_policies.py
, что гарантирует соответствие их действий реальным стратегиям и рыночным условиям.
Агент поставщика ликвидности: этот агент добавляет и удаляет ликвидность из пулов Uniswap. Он следует набору политик, которые диктуют его действия на основе текущего состояния рынка и предпочтений агента.
Агент Swapper: Агент Swapper выполняет обмен токенов внутри пулов Uniswap, используя разницу в ценах и возможности арбитража. Его поведение определяется политикой, которая оценивает потенциальную прибыльность сделок с учетом комиссий за транзакции и проскальзывания.
Файл netlist.py
занимает центральное место в ABM, настраивая взаимодействие агентов друг с другом и с пулами Uniswap. Он определяет отношения между агентами, политиками и средой моделирования.
Модули SimEngine.py
, SimStateBase.py
и SimStrategyBase.py
предоставляют базовые элементы для запуска моделирования. SimEngine организует моделирование, управляет течением времени и выполнением действий агента. SimStateBase поддерживает текущее состояние моделирования, сохраняя данные о наличии агентов, состояниях пулов и других соответствующих переменных. SimStrategyBase определяет всеобъемлющие стратегии, которые определяют поведение агента на протяжении всего моделирования.
Агент RL работает в специальной среде DiscreteSimpleEnv
, которая взаимодействует с моделью Uniswap и моделью на основе агентов для моделирования рынка DeFi. Эта среда облегчает взаимодействие агента с пулами Uniswap, позволяя ему добавлять и удалять ликвидность, а также наблюдать за последствиями своих действий. Агент RL взаимодействует с моделью Uniswap и ABM для имитации реального предоставления ликвидности в Uniswap V3. Он выбирает действия, которые приводят к добавлению или удалению ликвидности, с политикой и конфигурацией моделирования, определенными в ABM, обеспечивая реалистичное взаимодействие.
Пространство состояний. Пространство состояний среды включает в себя различные рыночные индикаторы, такие как текущая цена, ликвидность и рост комиссий. Эти параметры нормализуются и предоставляются агенту на каждом временном шаге.
Пространство действий: Пространство действий агента состоит из непрерывных значений, представляющих ценовые границы для добавления ликвидности в пул Uniswap. Эти действия преобразуются во взаимодействие с пулами Uniswap, влияя на состояние среды.
Функция вознаграждения: Функция вознаграждения имеет решающее значение для обучения агента RL. Он учитывает комиссионный доход, непостоянные убытки, стоимость портфеля и потенциальные штрафы, предоставляя скалярный сигнал вознаграждения для управления процессом обучения агента.
Агент RL использует модель Uniswap и модель на основе агентов для имитации реального предоставления ликвидности в Uniswap V3. Он взаимодействует с пулами Uniswap через DiscreteSimpleEnv
, выполняя действия, которые приводят к добавлению или удалению ликвидности. Политики агента и конфигурация моделирования определяются в компоненте ABM, обеспечивая реалистичную и согласованную динамическую среду.
Обучение и оценка агента. Агент обучается в ходе серии эпизодов, каждый из которых представляет отдельный рыночный сценарий (различный пул). Эффективность агента оценивается на основе его способности максимизировать прибыль при минимизации рисков, связанных с предоставлением ликвидности. Эффективность системы интеллектуальной системы обеспечения ликвидности оценивается посредством оценки производительности агента обучения с подкреплением (RL).
Настройка среды. Для оценки агента RL мы настроили специализированную среду оценки DiscreteSimpleEnvEval
, которая расширяет базовую среду DiscreteSimpleEnv
. Эта среда предназначена для оценки политик агентов.
Базовый агент. В нашей оценочной настройке мы сравниваем производительность агента RL с производительностью базового агента. Действия базового агента определяются базовой политикой, основанной на текущем состоянии пула ликвидности. Целью этого агента является предоставление контрольной точки для оценки производительности агента RL.
Обучение
Оценка
Синхронизация пулов. В настоящее время платформа не полностью фиксирует синхронизацию пулов в реальном времени, что может привести к расхождениям в моделировании реальной динамики Uniswap V3. Будущая работа должна быть сосредоточена на внедрении механизмов для лучшей синхронизации пулов, возможно, с использованием данных о тиках/позициях или событиях для повышения реалистичности.
Наивная политика агентов. Политики агентов, используемые в текущей структуре, относительно просты и наивны. Чтобы добиться более точного моделирования, будущие итерации должны быть направлены на определение более комплексных политик агентов. Эти политики могут моделировать различные типы агентов Uniswap, такие как шумовые трейдеры, информированные трейдеры, розничные поставщики ликвидности и институциональные поставщики ликвидности. Альтернативно, статистические модели, обученные на исторических данных пула, могут информировать политику агентов для более реалистичного поведения.
Разреженное пространство наблюдения. В пространстве наблюдения, предоставленном агентам, отсутствует исчерпывающая информация о состоянии пула. Чтобы улучшить возможности принятия решений, будущие улучшения должны включать данные о тиках и позициях, а также инженерные функции, которые предлагают агентам более полное понимание состояния пула.
Ограниченное пространство действий: пространство действий для агентов в настоящее время ограничено фиксированными суммами ликвидности и ограниченным диапазоном цен. Расширение пространства действий для обеспечения большей гибкости в предоставлении ликвидности, а также рассмотрение нескольких позиций на каждом этапе может повысить точность моделирования.
Синхронизированные пулы: реализуйте механизмы синхронизации пулов, возможно, с использованием данных или событий тиков/позиций, чтобы создать более реалистичную динамику в среде Uniswap V3.
Настройка гиперпараметров: сетевая архитектура актера/критика, альфа, бета, тау, размер пакета, шаги, эпизоды, параметры масштабирования (награды, действия, пространство наблюдения)
Комплексные политики агентов. Определите более сложные аналитические политики, которые точно моделируют различных агентов Uniswap или используют статистические модели, обученные на исторических данных пула, для информирования о поведении агентов.
Информативное пространство наблюдения. Расширьте пространство наблюдения, включив в него данные о тиках и положении, а также спроектируйте функции, которые предоставляют агентам полное представление о состоянии пула.
Улучшенная функция вознаграждения. Разработайте улучшенную функцию вознаграждения, учитывающую более широкий спектр факторов, что приведет к более эффективному обучению агентов.
Множественные позиции. Вместо одной позиции с фиксированным бюджетом на каждом временном шаге реализуйте более комплексный механизм, в котором агенту выделяется бюджет один раз в начале моделирования, а затем он учится оптимально использовать этот бюджет на последующих этапах.
Базовые политики: определите более комплексные базовые политики для оценки производительности агента RL.
Настройка гиперпараметров: дальнейшее уточнение и оптимизация гиперпараметров агента обучения с подкреплением для повышения эффективности обучения.
Экспериментируйте с другими агентами RL. Изучите альтернативные модели агентов RL, такие как оптимизация проксимальной политики (PPO) или мягкий актер-критик (SAC), чтобы определить, предлагают ли они преимущества в конкретных сценариях.
Многоагентный RL (MARL): изучите применение методов многоагентного обучения с подкреплением, которые могут быть полезны для моделирования взаимодействия между несколькими поставщиками ликвидности и свопперами.
Онлайн-обучение. Внедряйте стратегии онлайн-обучения, которые позволяют агентам адаптироваться к меняющимся рыночным условиям в режиме реального времени, обеспечивая более динамичное и адаптивное решение по обеспечению ликвидности.