Aggregating Portfolio Returns Across Trades and Time
Summary
The document explains why simple returns and log returns aggregate differently when a portfolio contains multiple trades and is measured across multiple days. With fixed weights for a given day, simple returns combine linearly across trades. Across time, however, simple returns compound, while log returns add. Therefore, portfolio returns should be combined across trades in simple-return space before converting each period’s result to a log return and summing over time.
An alternative is to aggregate each trade’s log returns through time, convert the resulting trade returns back to simple returns, and then combine trades using their weights. The response also discusses the familiar connection between lognormal prices and normally distributed log returns, and explains why averaging daily log returns has a drift interpretation under the stated model. The results rely on the return definitions and weighting assumptions described; treating log returns as linearly additive across trades is only an approximation when returns are small.
Key ideas
- Simple returns combine linearly across trades when the period weights are fixed.
- Simple returns compound across time, whereas log returns add across time.
- To aggregate a portfolio, combine trade returns in simple-return space before converting each period to log returns.
- An alternative is to compound each trade through time, convert back to simple returns, and then combine the trades.
- Adding log returns across trades is an approximation that can be inaccurate when returns are not small.
Tags
Full text
# How to calculate the log return of portfolio?
# How to calculate the log return of portfolio?
Suppose that we have five trades each day with these returns ($R_{day,trade}$) and we have 300 days in total:
$R_{1,1}$, $R_{1,2}$, $R_{1,3}$, $R_{1,4}$, $R_{1,5}$
$R_{2,1}$, $R_{2,2}$, $R_{2,3}$, $R_{2,4}$, $R_{2,5}$
For each day, we calculate the return of that day by weighting these returns (these weights are coming from outside of the portfolio and summation of these weights are 1 for each day), so for days 1 and 2, the returns are $R_{1}$ and $R_{2}$ and later for calculating the average return of this portfolio for 300 days we calculate the average of these returns ($R_{1}$, $R_{2}$, ..).
- Is this procedure correct?
- Now, suppose that we want to have log returns. There are two ways to reach log returns. First, calculate the log return of each trade $(ln(Pt/Pt−1)$ and continue the mentioned steps. The other one is when we reach the daily returns, we use $Rn=ln(1+R)$ for calculating daily log returns, and the average is the log return of the portfolio (daily).
## Answer by Pontus Hultkrantz (score 7)
https://quant.stackexchange.com/a/71078
Now this is a fairly basic question, but since I see professionals having trouble with this all the time, let us go through it
Simple returns aggregate nicely (linearly) across trades but not time, whereas log-returns aggregate nicely across time but not trades. So when you take arithmetic average of simple returns across time, you make a minor travesty...
### 1. The "return" of the returns, simple vs log
If $S$ denotesthe asset value, then the simple return between day $d-1$ and day $d$ is $R_d := S_d/S_{d-1} - 1$, and log-return $r_d := \ln(S_d/S_{d-1})$, such that the relation $r_d=\ln(1+R_d) \iff R_d=\exp(r_d)-1$ holds.
#### 1.1. Why log-returns are Normal, and simple returns are "abnormal"...
If the asset price $S$ is Log-normally distributed (e.g. stocks), then log-returns are Normally distributed and additive. That is, if $S_d=S_{d-1}\exp(\nu \Delta t + \sigma \sqrt{\Delta t}Z_d)$, then
\begin{align} R_d&=\exp(\nu \Delta t + \sigma \sqrt{\Delta t}Z_d)-1, \\ r_d&=\nu \Delta t + \sigma \sqrt{\Delta t}Z_d. \end{align}
That is, log-returns are nicely Normally distributed, whereas simple returns are shifted Log-normally distributed, and less nice...
#### 1.2. Averaging log-returns makes sense across time, simple returns do not
The arithmetic mean of the daily log-returns is an unbiased estimator of the drift term $\hat{\nu}\Delta t:=\frac{1}{n}\sum_{d=1}^n r_d$, whereas for the simple returns, we would have to do a geometric mean, which will be a biased estimate of the drift term. Arithmetic mean of the simple returns does not have the same practical meaning in this case.
### 2. Relationship therapy between simple and log returns
To simplify notation let $X_{day}^{(trade)}:=X_{day,trade}$, and let $X_{day}$ be aggregated over trades, and $X^{(trade)}$ be a trade aggregated over time. Aggregation over trades and time is $X$.
#### 2.1. Fixed time, across trades
\begin{align} R_d &= \sum_{i=1}^m w_i R_d^{(i)}, \\ r_d :&= \ln(1 + R_d) = \ln(1 + \sum_{i=1}^m w_i R_d^{(i)}) = \ln \left(\sum_{i=1}^m w_i \exp(r_d^{(i)})\right), \end{align} where we can see that simple returns linearly aggregate across trades, whereas log-returns do not.
#### 2.2. Fixed trade, across time
\begin{align} R^{(i)} &= \prod_{d=1}^n (1+R_d^{(i)})-1, \\ r^{(i)} &:= \ln(1 + R^{(i)}) = \sum_{d=1}^n \ln(1+R_d^{(i)}) = \sum_{d=1}^n r_d^{(i)}, \end{align} where we can see that simple returns do not linearly aggregate across time, whereas log-returns do.
#### 2.3. Across trades and across time
Now in order to get the total return for the portfolio, you have two options
- Aggregate across trades, then time Aggregate across trades in simple returns $R_d=\sum_{i=1}^m w_i R_d^{(i)}$ for all $d$ays. Convert to log-returns $r_d := \ln(1+R_d)$. Aggregate (sum) across time $r=\sum_{d=1}^n r_d$. Optionally convert back to simple return via $R=\exp(r)-1$.
- Aggregate across time, then trades Aggregate across time in log-returns $r^{(i)}=\sum_{d=1}^n r_d^{(i)}$. Convert to simple returns $R^{(i)} := \exp(r^{(i)})-1$. Aggregate across trades in simple returns $R=\sum_{i=1}^m w_iR^{(i)}$. Optionally convert back to log-returns via $r=\ln(1+R)$.
Now it is unfortunately common to see people that purely work with log-returns by linearly aggregating across trades and time. Implicitly they are assuming that $r_d^{(i)} \approx R_d^{(i)}$, which is true for small returns. However, when this is not the case, or when summing many small returns e.g. return over large horizons, this might cause large errors.
## Answer by user70865 (score -3)
https://quant.stackexchange.com/a/78119
Heyya Hawaii, Get into returns world. Do some proper calculations than just sending a formula. Use a real time example.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.