Some users start their bot and never touch it again. Others revisit their portfolio choices once in a while and may add or remove coins over time. If you do so, this obviously has an impact on the metrics that are measured by BB. For instance, if your initial portfolio was worth $1000, and after some time you inject another $500, your portfolio value has gone up by 50% (ignoring gains on your coins for a minute, to keep things simple). The relative change metric on your dashboard would show 50%, and the total value performance graph would show a big jump. That’s not what you want.
To understand the real performance of your bot, it is important to keep track of liquidity changes, i.e. when you add or remove coins. By recording such changes in the bot’s configuration, BB will adjust for those changes and calculate the metrics and graphs in a way so that these changes don’t have a direct impact. This concept is called ‘normalization’ and is best explained with a picture.
This graph shows the total portfolio value over time. At some point, the user injects liquidity, e.g. by adding a new coin or by adding more of an already available coin. Somewhat later, liquidity is removed, e.g. by taking one or a few coins out of the portfolio. By telling BB what coins were added and removed, it can normalize the graph, and the result would look as follows.
The blue line shows the normalized value. This is a better representation of how the portfolio evolves over time. And from this, much more meaningful metrics can be calculated, such as the relative change since the start.
As mentioned, to apply normalization, BB needs to know when and how much liquidity was added or removed. This can be captured in step 3, liquidity settings, of the bot configuration. The most important liquidity change is your day 1 portfolio balance. Make sure you register your initial coins. When starting a new bot, the starting balance will automatically be filled in step 3, based on the actual coins in your account and their current prices. But also after the initial configuration, whenever you add/remove coins, make sure to register this. To do so, start by selecting the date for which you want to apply a change. The table shows the coins in your portfolio. Simply enter the number of coins you’ve added to or removed from your balancing portfolio.
- When you’re excluding or including coins in step 2 of the configuration, BB will automatically suggest liquidity changes in step 3, indicated by a checkmark in the ‘Suggested Change’ column in the table. Typically, you can just accept these suggestions and save the configuration settings
- When you’re increasing or decreasing the amount of a coin that is already part of your portfolio, you’ll need to manually adjust for that in step 3
Some more hints:
- When you add liquidity, use a positive number for the amount of coins you’re adding
- When you remove liquidity, use a negative number for the amount of coins you’re removing
- After entering a number, BB will automatically fill the price field
- The date picker markes dates for which you’ve entered liquidity changes in pink
- The currently selected day is marked in purple
The entered price doesn’t have to be 100% accurate. The performance graphs are based on daily price snapshots, and daily volatility is less relevant. When excluding coins, the entered price does have an impact on the calculated net effect though, so try to use the price at the time when you excluded the coin.
The normalization concept and liquidity settings have been introduced in Balance Bot v2.3.5. In earlier versions, users could only set a starting balance for the first day the bot was set up. When upgrading to v2.3.5, BB does a best-effort attempt to migrate the relevant settings and performance data, but due to significant changes to the data models and a lack of full historical insights in portfolio changes, it is advised that you review the liquidity changes that BB proposes:
- In the liquidity settings, use the date picker to go to the start date, i.e. the first day when your bot was running. In the table that appears you will see all coins that you had in your portfolio on that day. Double-check that the list is correct and the numbers and prices are accurate. Make sure that the table for the start date only contains the actual starting balance, so the coins that you had in your portfolio as of day 1. For any other coins that are shown in the table, just set their number to zero
- Use the date picker to verify the liquidity changes that BB prefilled for other days (all marked in pink)
- Use the date picker to go to any other date on which you added or removed liquidity, and enter the right numbers and prices in the table
- Click to step 4 of the configuration and save your changes
If you’re not sure when you’ve added/removed coins, or how many and at what price, you’ll have to do some archeology. You may be able to find this information in your exchange’s trading history. Another useful place to look is the performance log file for your bot. You can find it in the /balance-bot/bb/config/ folder and it’s called bot-xyz-performance.json (xyz is your bot ID). Here you’ll find a record of the coins you had in your portfolio, the amount and their price, for every day since you’ve started running the bot. Please make sure that you don’t make any changes to the file, as it may get corrupted and data may get lost. Just open it, but never save it.
Finally, when upgrading to v2.3.5, BB stores your original starting balance settings in a special file, just in case some of this data got lost during the migration. The file can be found in the /balance-bot/bb/config/backup/ folder and is called starting-balance-xyz.json (xyz is your bot ID).