clAMM ▸ Backtester
What is this?
A backtesting engine for concentrated liquidity rebalancer strategies. Load historical price data (or generate synthetic data), configure a strategy, and simulate how automated rebalancing would have performed — compared against holding the asset, a 50/50 split, or a static LP position.
Strategies
Percentage V2 — rebalances when price drifts from configurable reference points. Supports three independent triggers: lower bound (price nearing the bottom edge), upper bound (nearing the top edge), and center (drifting from the midpoint). Each can be enabled independently. After any trigger fires, an optional cooldown suppresses further triggers.
Sequential — user-defined ordered ranges with explicit trigger zones. When price enters another range's trigger zone, the position is rebalanced to that range's deployment bounds. Useful for manually planned range ladders. Ranges can be imported from the clAMM Analyzer's export.
Benchmarks
Each backtest compares the rebalancing strategy against three alternatives, all starting with the same initial deposit:
Hold Asset — 100% in the base asset (e.g. BTC). Pure directional exposure.
Hold 50/50 — half base, half quote. A simple diversified hold.
Static LP — same initial CL position with leverage and debt, but never rebalanced.
Position Parameters
Range ± — the width of each deployed position, as a percentage each side of center. 0.05 = ±5%, making a 10% total range.
Spread Override (strategy) — overrides the range width used by the strategy when calculating new bounds after a rebalance. If left empty, the strategy derives it from the current position.
Init Bounds — how the first position is placed. "Spread" centers on the first price ± Range. "Manual" uses explicit bounds. "Strategy" delegates to the strategy (e.g. sequential picks the best matching range).
Chart
Top panel shows price with shaded range bands (shifting at each rebalance). Bottom panel shows net value vs benchmarks, with green/red fill indicating profit or loss vs deposit. Yellow dashed verticals mark rebalance events. Hover for detailed values.
Links
𝕏 @ilo_0x ·
Blog on Paragraph
Donate
If you find this useful:
ilo0x.eth
ilo0x.base.eth