How to Calculate Your Cryptocurrency Portfolio Performance

As the cryptocurrency market starts to go wild, calculating returns will be at the front of many people’s minds. In many cases, people will simply eyeball their performance or do a quick estimate to determine their portfolio return. Other people will want to be more precise. Taking the time to exactly calculate their performance.

The second group of individuals who are trying to be precise with their calculations will first need to understand how to calculate returns under a variety of scenarios. Due to the complexity of factoring deposits, withdrawals, and other situations into the performance calculation, we’ve put together a full outline of how to precisely evaluate your portfolio returns.

Let’s start with the most basic formula for the rate of return.

Rate of Return (RoR)

When you’re portfolio is at a steady-state and you haven’t added or removed any funds from your portfolio, the rate of return calculation can be used to quickly evaluate your performance.

RoR Formula

The rate of return formula is quite simple:

RoR = [(Vc - Vi) / Vi] x 100

where,

  • Vc is the current value of your portfolio.

  • Vi is the initial value of your portfolio. (For example, if you wanted to calculate your 24-hour performance, you would use the value of your portfolio 24 hours ago)

  • Multiply by 100 to convert from a decimal to a percentage.

The result is the rate of return for your portfolio over the period of time between the current value of your portfolio and the initial value of your portfolio that you selected.

Issues with using RoR

Like we previously mentioned, the RoR calculation should be reserved for periods of time where there were no deposits into your portfolio or withdrawals from your portfolio.

If you have made any deposits or withdrawals, then we can’t use this equation since it will consider these actions as part of your performance. Instead, we will need to use the time-weighted rate of return formula.

Time-Weighted Rate of Return (TWR)

The time-weighted rate of return uses a more complex formula for calculating the performance of a portfolio over a time period. By factoring in deposits and withdrawals, we can accurately calculate the rate of return over a specific period of time.

When managing a portfolio on an exchange, depositing additional funds into the portfolio should not be considered as profit. These funds were brought from another wallet or exchange, not earned through your strategy. As a result, our performance calculations should reflect the performance that was contributed from your strategy compared to a deposit or withdrawal.

The result is a system where we need to break the performance calculation into periods. Each period will be calculated individually and combined to create the final time-weighted rate of return.

TWR Formula

In the following formula, there are two periods defined: “A” and “B”. These two periods separate the time before and after a deposit event. Period “A” will include all of the time up until the exact moment before the deposit. Period “B” will include the deposit and the remaining time that is desired to calculate the performance.

The result is three individual equations that will be combined to calculate the TWR.

Return Over Period A = [(Vaf - Vai) / Vai]

where,

  • Vaf is the final value of the segment “A”.

  • Vai is the initial value of the segment “A”.

Return Over Period B = [(Vbf - (Vaf + DW)) / (Vaf + DW)]

where,

  • Vbf is the final value of the segment “B”.

  • Vaf is the final value of the segment “A”.

  • DW is the value of the deposit or withdrawal.

Time-weighted return = ((1 + ROPA) x (1 + (ROPB)) - 1) x 100

where,

  • ROPA is the rate of return over period “A”.

  • ROPB is the rate of return over period “B”

  • Multiply by 100 to convert from a decimal to a percentage.

TWR Example

A crypto investor sends $1,000 in BTC to an exchange on a Sunday. On the first Wednesday, after he deposits money on the exchange, his portfolio is worth $1,128. At that time (Wednesday), he adds another $100 to his portfolio so his new total is $1,228.

By Saturday, the portfolio lost value, bringing the final balance at the end of the week to $1,199.

Portfolio value over one week

This bar chart illustrates the described example. Hover over each bar to find the total value of the portfolio on each day. Notice that once the deposit is made on Wednesday, it is then included in the total portfolio value on following days.

In order to calculate the performance during the initial period (between the initial deposit on Sunday and the second deposit on Wednesday), we can use the simple rate of return calculation.

Return = [($1,128 - $1,000) / $1,000] x 100 = 12.8%

If we were to then calculate the performance over the second period (at the time of the second deposit on Wednesday to the end of the day on Saturday), we can use the TWR formula.

Return = ($1,199 - ($1,128 + $100)) / ($1,128 + $100) x 100 = -2.4%

Notice how the $100 deposit is factored into the rate of return to reflect the changes that happened as a result of the deposit ($1,128 + $100 being the new balance).

Once these two separate periods have been calculated, you can combine the two performances by multiplying the two different periods by each other. The equation would look like the following.

Time-weighted return = ((1 + 0.128) x (1 + (-0.024)) - 1) x 100 = 10.1%

Issues with using TWR

In the provided examples, we looked at situations where funds were either deposited or withdrawn. In most cases, these events are straight forward since we know when these events take place and they immediately affect the value of the portfolio.

In cryptocurrency, not all situations are this simple. There are scenarios that don’t have a clear answer to how the performance should be calculated. In these cases, investors have debated back and forth for years regarding the correct way to handle these situations.

Airdrops

Airdrops can be thought of as deposits in some ways, however, some traders use airdrops as a way to increase their portfolio performance. This strategic way of taking advantage of the market could be seen by some traders as a component of their performance.

On the other hand, some traders may see these events as completely independent and not want them factored into their performance. Although the value was generated from holding the asset, it wasn’t the asset itself that became more valuable.

The situation gets more sticky when you consider the fact that airdropped tokens are not usually distributed at the same time the token team takes a snapshot for the distribution. That means a trader could potentially sell the asset that provided the airdrop rewards, and the airdrop could be received weeks or even months later.

Under that situation, new funds will show up in the portfolio, increasing its value at a time that is completely disconnected from the moment in time that actually produced that value.

Verdict: Airdrops should not be considered in portfolio performance calculations. We see airdrops similar to finding money on the ground. If you stepped outside and found $100 on the ground, you wouldn’t factor that into the performance of your investment portfolio. Airdrops should be considered as deposits.

Staking Rewards

piggy.jpg

Similar in many ways to airdrops, staking rewards are distributed to investors based on the amount of a cryptocurrency they hold. Unlike airdrops which are independent events from the target airdrop asset, staking rewards are generated from the asset itself.

At first glance, it will appear that staking rewards should be included in the performance, however, let’s dig into the complications with taking this path.

Staking rewards can be distributed at different intervals. If you are staking assets through an exchange, the interval could be as long as once a month. This long distribution cycle complicates how the rewards should be factored into performance. Since rewards that you earned at the start of the month will suddenly appear in your portfolio at the end of the month, this will drastically throw off your short-term performance calculations if you took staking rewards into account.

Imagine you were staking funds for 30 days on an exchange. Right before the staking rewards were distributed, you withdrew all your funds from the exchange. When the rewards get distributed, your portfolio will suddenly have an infinite performance increase unless those rewards are treated as a deposit.

Verdict: Staking rewards should not be considered in portfolio performance calculations for short time frames due to the inconsistency of how these rewards are distributed. It would be acceptable to include staking rewards over longer evaluation time periods (such as yearly performance). In short time frames, consider staking rewards as deposits. Exception: If the staking rewards are distributed consistently as they are earned, it could be acceptable to include the staking rewards in the performance calculations.

Forks

Forks are another peculiar situation. When a single asset suddenly becomes two different assets, it’s difficult to determine exactly how this case should be evaluated. Especially since not all exchanges will immediately list both of the forked assets or even agree on which asset is which. For example, when BCH and BSV forked, it took some exchanges weeks to list both assets and the hashing wars caused confusion on what asset will earn the “BCH” symbol.

If we looked at the BCH / BSV fork scenario from a pure value perspective, we would see a large drop in the value of a portfolio during the fork (since a large portion of the BCH ticker value vanished quickly) and the forked asset was not listed on the exchange yet. The result would be a corresponding drop in performance.

Once the second asset is listed, factoring the new value into the performance calculation would result in a large increase in performance. Although this feels wrong, treating the new asset as a deposit would mean we took a performance hit at the time of the fork but didn’t factor in the new asset once it was listed.

If we try to remedy this complex solution, there is no obvious answer. Since the BCH ticker did actually decrease in value, it cannot be considered a withdrawal. That means we must include it in the performance calculation. Yet, treating the forked asset similar to an airdrop will essentially mean we disregard the value we received from the fork and only consider the value we lost.

Including both assets in the performance calculation doesn’t seem like a much better solution. During the initial fork, the portfolio performance will decrease, then once the forked asset is listed, the portfolio performance will have a sharp increase. Since these events could be months apart, there is no clear answer to what should be done during the intermediate time.

Verdict: Forks should not be considered in portfolio performance calculations. New assets that are created from forks are completely independent from the original asset. In many ways, they should be evaluated the same as airdrops. Forks should be considered as deposits.

Incorrect Reporting

After factoring in deposits, withdrawals, airdrops, forks, and staking rewards, that doesn’t mean we are in the clear for seamlessly calculating performance.

Although you wouldn’t expect problems from exchanges that process over a billion dollars in assets every month, it turns out there are still infrastructure issues.

Imagine an exchange goes into maintenance and starts reporting that all users have a balance of zero for a specific asset, due to a wallet update that is in progress. Obviously, we wouldn’t want to consider these as a loss by factoring the incorrect values into our performance calculations.

Unfortunately, this presents a difficult situation for services that rely on exchanges to be the point of truth. Applications can take the exchanges word for the change, consider the missing funds as a withdrawal (because assets are missing) and move on. However, the funds may not have been actually withdrawn from the exchange. That means at a later date, the funds may re-appear. At that time, the funds could be considered a deposit.

Verdict: If funds vanish or appear in a portfolio, consider these funds a deposit or withdrawal. This will mitigate the impact of incorrectly reporting these values as a loss or gain.

Conclusions

The above list is not inclusive of all situations. There are countless other scenarios that continue to challenge the way we think about calculating performance.

You can imagine from this discussion how complex it can become to calculate the performance of a portfolio in the cryptocurrency market. Factoring in all of the different possible ways that funds can show up or be removed from a portfolio can greatly influence your performance.

In Shrimpy, we treat all forks, airdrops, staking rewards, etc as deposits and withdrawals. We have found this is the only way to ensure a fair system, especially since we support a community of leaders who have followers that depend on their performance.

Related Articles

What is Threshold Rebalancing?

The Dollar-Cost Averaging Strategy for Crypto Portfolios

The Complete Guide to Crypto Trading Bots

A Comparison Of Rebalancing Strategies for Cryptocurrency Portfolios

Our Trading Bot

Shrimpy is an account aggregating platform for cryptocurrency. It is designed for both professional and novice traders to come and learn about the growing crypto industry. Trade with ease, track your performance, and analyze the market. Shrimpy is the trusted platform for trading over $13B in digital assets.

Follow us on Twitter for updates!


Thanks for stopping by!

The Shrimpy Team