Aggregating Single Portfolio Returns

Overview


Return aggregation is the process of taking a set of returns
{% r_1,r_2,...,r_n %}
from a single asset or portfolio and aggregating to a single number. Typically, the returns in the return set represents period returns, for example, daily returns.

Linking Returns


If the returns are contiguous (no missing returns), then the returns can be linked together to come up with a total return over the given period. The formula for calculating the total return is:
{% r = \prod (1+r_i) - 1 %}
beck pg. 22

The following code demonstrates linking returns using the performance library.


let pm = await import('/lib/finance/portfolio/performance/v1.0.0/performance.mjs');
let returns = [0.01,-0.00023, 0.053, 0.012];
let linked = pm.link(returns);
					
Try it!

Annualized Return


The total return as a measure makes it difficult to compare assets with different lifetimes. For instance, comparing the total return of a fund that has existed for a year with one that has existed for ten years is largely irrelevant. That is, it is much more informative compare how much money each fund makes in an average year. Typically, the way to do this is to annualize the total return figure.

Annualization is the process of determining a return value, such that, if it is compounded yearly for the period of the fund, returns the total return of the fund.

The formula for annualization is given:
{% r_G = (1+r_{total})^{T/n} - 1 %}
where n is the number of periods, and T is the number of periods per year.


let pm = await import('/lib/finance/portfolio/performance/v1.0.0/performance.mjs');
let returns = [0.01,-0.00023, 0.053, 0.012];
let annualized = pm.annualized(returns);
					
Try it!

Coninuous Compounding


Given a set of returns, one can link the returns (see above) into a single return, and then compute a continuous return figure that would returned the same value.


let pm = await import('/lib/finance/portfolio/performance/v1.0.0/performance.mjs');
let returns = [0.01,-0.00023, 0.053, 0.012];
let continuous = pm.annualized(continuous,4);
					
Try it!

Dealing with Inflows/Outflows


When there are inflows or outflows from a fund, it is appropriate to account for these cashflows in the measurement of return. However, the right measure to use will depend on whether you are trying to measure the return as experienced by an investor, or some measure of the managers overall performance.

Contents