#arena #pool #hook #strategies #modeling #framework #strategy

arena-core

Uniswap v4策略、钩子和池的全面经济建模和仿真框架

3个版本

新版本 0.1.2 2024年8月21日
0.1.1 2024年8月15日
0.1.0 2024年7月7日

#76 in 仿真

Download history 107/week @ 2024-07-04 13/week @ 2024-07-11 180/week @ 2024-08-15

每月 181 次下载

自定义许可LGPL-3.0+

88KB
541 代码行

arena 🏟️

visitors Twitter Badge image

Arena是一个强大的、可扩展的框架,用于Uniswap v4策略、钩子和池的全面经济建模和仿真。

跟踪指标随时间以及在不同市场条件下的演变。

概述

Arena通过高度可配置的事件驱动运行时引入了一种新颖的LP仿真方法。每个事件都包含策略的完整市场信息,从而可以从中获得洞察。

Arena是一个alloy原生项目,利用了许多crate原生功能,如sol!过程宏和Anvil测试网节点实现。

技术细节

每个LP策略都必须实现Strategy特质。这包含两个关键方法

  • init()在Arena运行时初始化时被调用。
  • process()在仿真的每个离散时间步被调用。

此外,每个LP策略接受一个Inspector。一个Inspector允许为策略的性能分析和持续遥测定义自定义行为。Arena将为CSV输出、图形绘图和JSON输出提供默认的Inspector实现。

运行时可以并行持有多个策略。

仿真底层池的价格通过实现Feed特质的定价过程设置。目前,Arena使用Euler-Maryama离散化方案为稳定池仿真实现了一个Ornstein-Uhlenbeck价格过程。价格在一个无限流动的交易所(有时称为“lex”)上设置,并使用Arbitrageur与v4池相关联。

用法

要使用Arena,必须在您的机器上安装Rust编程语言和Foundry框架。这通常通过rustupfoundryup实现。

可以使用以下方法将竞技场添加到您的库或二进制文件中:

cargo add arena-core

如果您想从源代码构建,可以使用以下命令克隆项目:

git clone https://github.com/arena-rs/arena.git
cd arena
git submodule update --init --recursive

依赖项

~38–53MB
~1M SLoC