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/uclammThis 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/activateNow, install the dependencies
pip install -r requirements.txtTo plot all of these, run
python -m amms.analysisfrom 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 installin the root of this workspace. This will enable automatic linting and formatting on commits, so that you don't need to worry about it.