# Charm Simulator is live! 

By [Charm Finance](https://paragraph.com/@charm-finance) · 2024-08-22

---

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_](https://alpha.charm.fi/arbitrum/backtest) 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](https://alpha.charm.fi/). 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
--------------------------

1\. Click on [Backtest](https://alpha.charm.fi/arbitrum/backtest), and select the pool to backtest:

![](https://storage.googleapis.com/papyrus_images/eb9550731ea673b716014339688af2081f0c6d084ccf4c195e46b3a1b8454d20.png)

2\. Enter the strategy’s parameters using the tooltip as guidance. The docs contain [further guidance](https://learn.charm.fi/charm/manage-liquidity/user-guides/vault-parameters#strategy-parameters).

![](https://storage.googleapis.com/papyrus_images/6cc46b07df4e7f2a79354de36c1816ed297b69c9c15a2d0fe07e9cffb985fcb9.png)

3\. Select the dates to backtest:

![](https://storage.googleapis.com/papyrus_images/783ebbbb8420e044b694dcd8a3e2c9721a48f93d4e1fa75230683ce6d2ab58ab.png)

4\. Click **Run Backtest** to run the simulator:

![](https://storage.googleapis.com/papyrus_images/d1ce1727c518d1b0bcdfbb52d5f4ea1c78bd1fbc85567fab57f2d883663a70a3.png)

5\. **Repeat** steps 2 to 4 until the best performing LP strategy have been found.

6\. Click **Create Vault** to implement the strategy:

![](https://storage.googleapis.com/papyrus_images/783ebbbb8420e044b694dcd8a3e2c9721a48f93d4e1fa75230683ce6d2ab58ab.png)

7\. Click **Create Vault** again to open up your browser wallet to create a vault:

![](https://storage.googleapis.com/papyrus_images/3ed8d4805246afa42354c95360545304b2cb6aebe94c56e40c378aff4cc1717e.png)

![](https://storage.googleapis.com/papyrus_images/798cb0f2edad9808781966cbd5478954977bcd67ed8ebcc23fdffc89e324ba9d.png)

8\. Follow the prompts in your browser wallet to create the vault.

9\. When the transaction confirms, a welcome screen will appear to confirm the vault was created:

![](https://storage.googleapis.com/papyrus_images/059b2ac056b8ad8d1b4b980ee90e3cedcd419280e5864171cb525240743fd5ad.png)

10\. Click [Next Steps](https://learn.charm.fi/charm/manage-liquidity/user-guides/create-vault/next-steps) to learn some of the things you can do with your vault.

11\. Click **View Your Vault** to see your vault — it’s now ready to accept deposits!:

![](https://storage.googleapis.com/papyrus_images/ccc38238c7309ce94706eb87291d90db6e68d592ec40968e1c83c25206c555d8.png)

12\. You can now deposit into the vault, and [automate rebalance](https://learn.charm.fi/charm/manage-liquidity/user-guides/walkthroughs/automating-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:

1.  The protocol fee is set to 1% of Uniswap fees, and manager fee is set to 0%.
    
2.  The first deposit is always in a 50:50 ratio.
    
3.  There is only one depositor, and no withdrawals.
    
4.  All the vault’s liquidity is in a Uniswap V3 pool at all times.
    
5.  The strategy always rebalances at exactly the time determined by the [Rebalance Frequency](https://learn.charm.fi/charm/manage-liquidity/user-guides/vault-parameters#rebalance-period-period).
    

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](https://alpha.charm.fi/ethereum/create).
    
*   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_](https://alpha.charm.fi/arbitrum/backtest) is a permissionless backtester for LP strategies. Anyone can use it to test an LP strategy, and then [implement](https://alpha.charm.fi/ethereum/create) it for any Mainnet pool. Future versions of _Charm Simulator_ will support L2 pools, and faster load time for all pools.

Disclaimer
----------

_The content of this post is provided for informational purposes only. Nothing herein constitutes investment, legal, or tax advice or recommendations. Nothing on this site should be relied upon as a basis for making an investment decision, nor should they be used to guarantee performance. It should not be assumed that any investment in the asset class described herein will be profitable and there can be no assurance that future events and market factors would lead to results similar to any historical results described._

---

*Originally published on [Charm Finance](https://paragraph.com/@charm-finance/charm-simulator-is-live)*
