3个版本
新版本 0.1.2 | 2024年8月21日 |
---|---|
0.1.1 | 2024年8月15日 |
0.1.0 | 2024年7月7日 |
#76 in 仿真
每月 181 次下载
88KB
541 代码行
arena 🏟️
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框架。这通常通过rustup
和foundryup
实现。
可以使用以下方法将竞技场添加到您的库或二进制文件中:
cargo add arena-core
如果您想从源代码构建,可以使用以下命令克隆项目:
git clone https://github.com/arena-rs/arena.git
cd arena
git submodule update --init --recursive
依赖项
~38–53MB
~1M SLoC