all numbers in this analysis are simulated
In this report, we use Agent-Based Modeling (ABM) to examine the performance of a Liquidity Bootstrapping Pool (LBP) under different simulated conditions. Using the Balancer V2 LBP spreadsheet as a starting point, we used the ABM to systematically sweep the parameter space of values we were interested in. The parameters used by the ABM should be roughly comparable to the spreadsheet; one can be used to test the other. Since the ABM includes stochastic elements, it does not behave the same each time it is run; consequently, each parameter configuration is simulated multiple times. The ABM does not assume a constant daily token flow rate; instead, this value is an outcome of the model. The ABM dynamics permit unexpected - or even impossible - states to emerge; consider “sanity-checking” parameter values against the Balancer spreadsheet.
The following parameter-values were examined:
This ABM is a replica of a Balancer-style LBP with the following parameters:
The LBP is implemented in Python and was built on top of BalancerV2cad. Our LBP model replicates several key features of a real LBP, including a gradual weight update procedure.
This ABM is strongly influenced by the “Balancer LBP Simulator” spreadsheet:
Parameters should be roughly interchangeable between the ABM and the spreadsheet.
This ABM does not include a Token Flow parameter, which is a notable difference from the spreadsheet. Instead, Token Flow is an outcome of token swaps, which are executed by Agents. Buying/selling is itself a function of lot size and agent wealth. Wealth is pareto-distributed, which is itself scaled to ensure the agent economy sums to the target wealth parameter. Therefore, instead of estimating token flow, we characterize LBP participation in terms of:
These parameters can be estimated from historical LGE/LBP studies.
The basic approach to this simulation study has been:
Consider these visualizations as an executive summary. Altogether, there are several hundred parameter combinations, each of which is run repeatedly. The following visualizations overlay all of these results onto a single graphic, which is more information than can reasonably fit. Even so, trends can be identified - and we can examine specific regions of the results at a later time.
Plots have the following dimensions:
Weights are normalized in the ABM and range from 0.02 to 0.98, which is a little different from the spreadsheet. The LBP is parameterized by starting and ending weights for the Token - and the weight for USD is automatically calculated as \(1.0 - Token Weight\). So, when the top-left plot has 0.7/0.02 above it, this means the pool starts as 0.7 SVY/0.3 USDC and ends as 0.02 SVY/0.98 USDC.