Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/Bella-DeFinTech/uniswap-v3-simulator

the "Tuner", a Uniswap V3 Simulator
https://github.com/Bella-DeFinTech/uniswap-v3-simulator

Last synced: 2 months ago
JSON representation

the "Tuner", a Uniswap V3 Simulator

Lists

README

        

[![Twitter URL](https://img.shields.io/twitter/url.svg?label=Follow%20%40BellaProtocol&style=social&url=https%3A%2F%2Ftwitter.com%2FBellaProtocol)](https://twitter.com/BellaProtocol)
[![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/8ctd5geS8t)

# the "_Tuner_", a programmable, transaction-based Uniswap V3 Simulator with 100% Precision

> Before an orchestra, every musical instrument has to be _in-tune_, to ensure an outstanding performance.
>
> Before running a strategy, every parameter has to be _fine tuned_, to maximize the performance.

#### _Tuner_ is a programmatic Uniswap V3 simulator that allows strategy backtesting on a transaction-to-transaction basis with arbitrary or historical data without the EVM, it runs independently yet completely retains the exact smart-contract behavior of the intricate design and implementation of Uniswap V3.

## Documentation

- [Getting Started](https://docs.bella.fi/getting-started)
- [Configuration](https://docs.bella.fi/configuration)
- [Guides](https://docs.bella.fi/guides)
- Developer Articles(stay tuned)

#### _Tuner_ is fundamentally a state machine, it can:

> **Completely replicate the tick-level calculation**

- this means your strategy will run through the Uniswap V3 implementation logic instead of just the high-level mathematic model.

> **Maintain the identical tick-level precision of prices, fees, and positions of Uniswap V3**

- this means the result of your backtesting is true to the real performance with the minimum margin of deviations.

> **Run fast**

- the EVM is slow, the historical dataset is huge, the Ganache cannot do the job, so use _Tuner_.

> **Fast-forward and rewind transactions**

- this means you can easily repeat a small portion of your test with a different set of parameters without the need to start over.

> **Take or recover from a snapshot(state)**

- this means you can run continuous regression test as your strategies constantly evolves.

> **Branch out and runs in parallel**

- this means you can run multiple back-tests each with a different set of parameters at the same time and compare the performance.

> **Persist historical data and strategy execution records in a SQLite database**

- this means the strategists can do advanced statistical analysis both in real-time and after the testing.