For performance attribution, we calculate the cumulative total return as the geometric sum over the total daily returns. The Factor and idio cumulative returns are a little different. We perform the calculations in a way that ensures that cumulative factor return + cumulative idio return = cumulative total return. Here is the algorithm we use:
Assume we have 3 time periods (1-3) and the following types of daily returns total (t), factor (f), idio (i). We also have the following cumulative returns, total (T), factor (F), idio (I).
For period 1, T1 = t1, F1 = f1, I1 = t1-f1.
For period 2*,
T2 = T1+(1+T1)*t2
F2 = F1+(1+T1)*f2
I2 = I1+(1+T1)*(t2-f2)
*T2 = (1+T1)*(1+t2) -1 which simplifies to: T1 + (1+T1)*t2
For period 3,
T3 = T2+(1+T2)*t3
F3 = F2+(1+T2)*f3
I3 = I2+(1+T2)*(t3-f3)
and so on... Here's a simple example below that showcases how the calculations work:
This algorithm was designed to support analyzing a portfolio's total return and drilling down into its factor contributors, using total return as the base of analysis. This base encounters a different geometric expansion than the individual factor and idiosyncratic geometric expansions**.
Supporting Math
The geometric sum of A + geometric sum of B does not equal to geometric sum of (A+B), as seen in this table, where 1.5% daily growth on the security will expand more rapidly than its individual market and idio components that grow at 1% and .5%, respectively.
The cumulative compounded effect of the market on the total securities return is the number represented in the platform.. when looking at a factor's return, we can think of it as holding the factor independently (as seen in the factor profile).