Backtesting
For backtesting, you do not need (and should not) provide private keys of your agents. When using backtest_run
dojo can auto-impersonate any address.
We strongly recommend that you keep your private keys private for backtesting. You do not need them.
Dojo can only backtest environments with backend_type='local'
or backend_type='forked'
.
You can start the backtest by importing the appropriate runner function from Dojo and calling it with the compatible environment.
Calling backtest_run
will:
- Deploy and instantiate all protocols and agents for the backtest.
- Launch a local instance of anvil.
- Download all relevant market data for the backtest from the server (if you are using one of our market agents).
- Create a local database file that all data is written to.
- If requested, it launches a server that serves the data file over HTTP. Our dashboard app can connect to this.
- Loop through all blocks.
- At each block, it asks all agents to make decisions on what actions they want to execute.
- Executes all actins on anvil.
- Tracked metrics of all agents and protocol and writes them to the database file for analysis.