We’ve published the backtester code as a ClojureScript library under the MIT license.

The backtesting technique for Uniswap v3 LP positions that we use, relies on periodic pool snapshot data, such as that provided by the Uniswap v3's subgraph poolHourData entities.

This technique is fairly accurate, though the accuracy will be correlated with the proportion of time that a position would have been in range given its selected price ranges. It also has the advantage of being pretty fast.

When the Initiator backtester was launched we ran an accuracy test to check its performance, the results can be found in this post.

Last updated