Charm Simulator
A permissionless back-tester for LP strategies.
Introduction
There are no reliable, user-friendly simulators for Liquidity Provision (LP) strategies. As a result, liquidity providers cannot assess the effectiveness of an LP strategy, or determine whether a vault utilising such strategies will perform well.
Charm Simulator is a permissionless and easy-to-use simulator to backtest the performance of an LP strategy. It works for any Uniswap v3 pool*, and any strategy supported by Alpha Vaults. Anyone can use Charm Simulator to test the performance of a vault before it is created.
*The first version of Charm Simulator will support Mainnet pools. L2 pools will be supported in future versions.
How to use Charm Simulator
Click on Backtest, and select the pool to backtest:
Enter the strategy’s parameters using the tooltip as guidance. The docs contain further guidance.
Select the dates to backtest:
Click Run Backtest to run the simulator:
Repeat steps 2 to 4 until the best performing LP strategy have been found.
Click Create Vault to implement the strategy:
Click Create Vault again to open up your browser wallet to create a vault:
Follow the prompts in your browser wallet to create the vault.
When the transaction confirms, a welcome screen will appear to confirm the vault was created:
Click Next Steps to learn some of the things you can do with your vault.
Click View Your Vault to see your vault — it’s now ready to accept deposits!
You can now deposit into the vault, and automate rebalance to let the vault run by itself.
Congratulations! You just created a vault with your own custom LP strategy!
Assumptions
Charm Simulator uses the following assumptions:
The protocol fee is set to 1% of Uniswap fees, and manager fee is set to 0%.
The first deposit is always in a 50:50 ratio.
There is only one depositor, and no withdrawals.
All the vault’s liquidity is in a Uniswap V3 pool at all times.
The strategy always rebalances at exactly the time determined by the Rebalance Frequency.
Caveats
Charm Simulator offers a way to backtest an LP strategy using historical data. It should only be used for research purposes because:
It does not guarantee future performance, because it only uses historical data.
The actual performance also depend on the pattern of withdrawal and deposits, the manager fee, and what other liquidity managers do in response to an LP strategy.
It will not implement the strategy unless a vault is created.
The simulator uses the raw swaps data downloaded from Uniswap V3. They have not been pre-processed to filter out spurious swaps, or unusual liquidity patterns. These factors are more likely to affect smaller pools, and the simulator results for these pools may be less accurate.
Conclusion
Charm Simulator is a permissionless backtester for LP strategies. Anyone can use it to test an LP strategy, and then implement it for any Mainnet pool. Future versions of Charm Simulator will support L2 pools, and faster load time for all pools.
Last updated