> For the complete documentation index, see [llms.txt](https://learn.charm.fi/charm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.charm.fi/charm/products-overview/charm-simulator.md).

# Charm Simulator

### Introduction <a href="#heading-introduction" id="heading-introduction"></a>

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 <a href="#heading-how-to-use-charm-simulator" id="heading-how-to-use-charm-simulator"></a>

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

<figure><img src="/files/ONPlubVGuoDNpYxOnDDF" alt=""><figcaption></figcaption></figure>

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).

<figure><img src="/files/hn4g90JPE9pplVb4az7s" alt=""><figcaption></figcaption></figure>

3. Select the dates to backtest:

<figure><img src="/files/i7isITLustnHdQzV109P" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/6bBVmty9ooSSwqgfDVnJ" alt=""><figcaption></figcaption></figure>

5. **Repeat** steps 2 to 4 until the best performing LP strategy have been found.
6. Click **Create Vault** to implement the strategy:

<figure><img src="/files/9uVl2zsBtpEZaAPX2rKm" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/li06MZkOPEPFrFBCkoKZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/cxCdABWaAQaDwOvtEgD1" alt=""><figcaption></figcaption></figure>

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:

<figure><img src="/files/ewRsO4L3Gg4xbrCKk3hO" alt=""><figcaption></figcaption></figure>

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!

<figure><img src="/files/yiLXxn639yusPkXzwRyj" alt=""><figcaption></figcaption></figure>

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 <a href="#ef8f" id="ef8f"></a>

*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 <a href="#ecf1" id="ecf1"></a>

*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 <a href="#id-40a1" id="id-40a1"></a>

[*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.
