This is an exploration of the different automated market making algorithms in DeFi.
Paper link:
Xu, J., Paruch, K., & Cousaert, S., Feng Y. (2021). SoK: Decentralized Exchanges (DEX) with Automated Market Maker (AMM) protocols. arXiv e-prints, arXiv-2103.
We recommend you use pyenv
to manage your python versions.
We have used python 3.9.1 in this repo.
On how to use pyenv
, see here.
We also advise you to use venv module to manage the per project python dependencies.
For example, once you have installed the 3.9.1 python version with pyenv
, execute this
python -m venv ~/.v/uclamm
This command will create a uclamm
python virutal environment. Now you are ready to install the dependencies required for this project.
Activate the environment
source ~/.v/uclamm/bin/activate
Now, install the dependencies
pip install -r requirements.txt
To plot all of these, run
python -m amms.analysis
from the root of this workspace. Note that it takes some time to plot all of these.
You must follow our code style if you want to make a pull request. We are using pre-commit
to maintain our code style and formatting (flake8 and black). To activate the pre-commit hooks, run
pre-commit install
in the root of this workspace. This will enable automatic linting and formatting on commits, so that you don't need to worry about it.