Skip to content
All library documents

Annualizing Geometric Returns Using Prices and Log Returns

Article Quant Q&A · Author: Gekke Henkie

Summary

The document addresses why annualized geometric returns calculated from daily stock returns may fail to match the return implied by a stock’s start and end prices. Its central guidance is to use endpoint prices for the holding-period geometric return, or to average log returns over the intended horizon, scale them to an annual frequency, and convert back from log returns. These approaches avoid treating an arithmetic average of daily percentage changes as a compounded return.

The discussion highlights data-handling pitfalls: calendar windows can include days before a security was listed, and missing or zero-filled observations can distort a daily-return calculation. One reply proposes compounding monthly returns before annualizing, but explicitly leaves that procedure uncertain. The document offers no systematic comparison of these methods, and the appropriate annualization factor still depends on the observation frequency and the period being measured. Its clearest guidance is to match the calculation to actual price endpoints or properly defined log returns.

Key ideas

  • A geometric holding-period return can be calculated from the start and end prices.
  • Average log returns can be scaled to an annual horizon and converted back to a simple return.
  • Zero-filled or pre-listing observations can distort return calculations.
  • Averaging and annualizing returns should respect the sampling frequency and actual observation period.
  • The proposed monthly-compounding method is presented tentatively rather than validated.

Tags

Full text
# Calculating Geometric mean


# Calculating Geometric mean












I need to annualize daily returns for about 120 firms for over a period of 10 years. I chose to calculate the geometric return because 1) it is the actual return 2) to avoid the asymmetric effect of negative and positive returns.

My problem is that the geometric return that i have calculated doesn't match the actual yearly rate of return. Here is what I've done;

- Calculate simple returns by (Xt0-Xt-1)/Xt-1

- Check how many days the stock was being traded for, because the rule of thumb 252 is to ambiguous. This is because some stocks get a listing in e.g. March and would therefore be unfair to multiply by 252.

- Use the formula =sumproduct(geomean(aa1:zz36+1)-1) to come up with daily geomean. This should do the trick regarding the negative values, but maybe my result are biased because of the amount of 'zero' returns due to holiday/(un)listing. I also thought of this by using the count.if'0' and subtract this number by the total days in a year.

- annualize the daily geomean by multiplying with counted days traded.

I thought all was well until i checked my first observation. This fund got listed 2-march-2010 for 100 and the year end was 161.6. Using the above methodology yield a daily geomean of 0.009915 and trading days of 201. Multiplying by 201 this results in annualized geomean of 1.9931. This is obvious incorrect.

I could also use the formula ((Xt0/Xt-1)^(1/tds)-1)*tds - which result in the correct answer of .4805- but is devious due to irregularities of dataset..

Can somebody see what I am doing wrong here. As I mentioned above, I do have have some zero value because I download daily prices per year. I then select 1-Jan to 31-Dec. How can I overcome the problem with the zero values? I tried empty space, but than the formula doesn't work.

Thanks in advance

## Answer by david (score 1)

https://quant.stackexchange.com/a/7831

I'm currently also using daily returns which I want to annualize. This is my approach:

- For every month, I calculate the simple return using the formula: `(end-of-month closing price / beginning-of-month closing price) - 1`.

- I use the Excel formula `somproduct(geomean(A1:A12+1)-1)` to find the monthly compounded return.

- Finally, I annualize the result of step 2 by 12 (months).

The reason for cutting up the year into months is that when I use the formula `(31 December closing price / 1 January closing price) ^(1/252) * 252`, the result doesn't represent the situation because of the high price swings.

Hope this helps, but I'm not sure if it's correct. Maybe someone can verify this approach.

## Answer by John (score 0)

https://quant.stackexchange.com/a/7810

When you say the return on firms, I take it you mean the change in the stock price of firms. If you were talking about the return of firms' investment strategies, then you would have to deal with cash inflows, which makes the answer more complicated.

If you are having problems, there are two equivalent approaches that should give you the correct answer. In the first, only focus on the price of the stock at the end points to compute the geometric return. In the second, take the average of the log returns over the appropriate horizon and frequency, multiply by whatever constant to annualize the log returns (252 in your case), and then convert from log by $exp(x)-1$, where $x$ is the adjusted log return.

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.