Android AER Calculator

This post is about an Android application I wrote to calculate the Annual Equivalent Rate (AER) of a portfolio.

The AER of a portfolio is the annualised interest rate that, when applied to the portfolio contributions, results in the current value of the portfolio.

Simple example

If I invested £100 exactly one year ago and the value now is £105, the AER would be 5%.

This is because £100 x (1 + 5%) = £105.

Not so simple Example

However, things get significantly more complicated when there are multiple contributions on different dates.

What is the AER of a portfolio with contributions of £100 one year ago, £50 ten months ago that is worth £160 today?

It turns out to be approximately 7.04%. This is a typical example that is simply stated but has a not-so-obvious solution.

The Algorithm

To compute the AER, I used a numerical method called the NewtonRaphson method.

The method starts with an initial guess to the root of a function. From here, we follow the derivative of the function in order to converge on the true root of the function.

In this case, the function we are interested in is:
f(r) = \sum_i C_i (r + 1)^{\frac{D_i - D_t}{365}} - P

Where C_i is the ith contribution, D_i is the ith day, D_t is the current day and P is the present value of the portfolio.

The derivative is:
f'(r) = \sum_i C_i \left[ \frac{D_i - D_t}{365} \right] (r + 1)^{\left[ \frac{D_i - D_t}{365} - 1\right] }

The algorithm starts with an initial estimate r_0 and obtains a better approximation r_1 by using the relation:
\displaystyle r_1 = r_0 - \frac{f(r_0)}{f'(r_0)}

This process is repeated until the difference between successive estimates is less than some threshold value or the number of iterations hits some predefined limit.

AER Calculator

This led me to write the Android application AER Calculator, which can be found on the Google Play Store.

aer-calculator-single aer-calculator-multiple

The (open source!) project can be found on GitHub.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s