I started an Acorns account several months ago to use as a glorified savings account. I don't make contributions on purchases, but I contribute 10% of my paycheck to it every two weeks (Richest Man In Babylon, anyone?). I'm trying to calculate the average daily return based on account value at the start of the day vs end of the day.

Background: I initially started with my account portfolio settings set to Moderately Aggressive, thinking it might yield better gains, but after a few weeks I noticed that the losses pretty much canceled out the gains. Since then, I've started keeping track of my account value at the start of the day and at the end of the day, taking contributions into account. I've changed my portfolio risk level each month since then, lowering it each time to see if I get better returns (so far, Moderately Conservative seems to yield better returns than more aggressive allocations, FYI). I'm trying to determine which portfolio yields the best daily and theoretical yearly return.

I have an Excel file with several months worth of opening and closing account values. I've been subtracting the opening value from the closing value to get the daily gain or loss, and then dividing that by the account's opening value for that day to get the %change in terms of change/initial amount.

What is the standard way to calculate the average return of data like this? I've read that simply adding all the percents together and dividing by the number of data points doesn't create a very accurate picture. I've also read that using [(1+return1) * (1+return2) * ...]^1/n -1 is a more accurate way to calculate the average, but when I try this, neither excel nor my calculator will give me a real answer (because of the negatives?). How should I convert my history of gains and losses into a statistically likely daily gain or loss?

Also, once I have the average daily gain, can I use the standard Annual Return = [(Daily Gain +1)^365]-1 to get the theoretical annual gain (not taking future contributions into account, obviously)?

  • Why use the average daily gain to get the annual return, instead of using, say, the total return over the period you've been contributing?
    – BrenBarn
    Aug 29, 2018 at 4:23
  • @BrenBarn Firstly, because I don't want to wait for months using a portfolio allocation that isn't working before I have a good idea of how it compares to the others. Secondly, because one big gain or drop on a random day might throw off the results if I measure just on that day, whereas if if take daily measurements I have a more accurate picture of the average. A big drop could still occur randomly, but with more measurements it doesn't wrongly become the rule by accident.
    – CMB
    Aug 29, 2018 at 5:16
  • The problem is that what a portfolio does from day to day is not usually a meaningful indicator of whether it's "working". What your time horizon for these investments (i.e., when do you plan to start cashing out)?
    – BrenBarn
    Aug 29, 2018 at 5:40
  • @BrenBarn Right now I'm using it to save up some extra capital to add to my business in the next few years. It's not really a long term investment, just a way to consistently set aside money while earning better interest than a savings account.
    – CMB
    Aug 29, 2018 at 6:52
  • @BrettBarn So how would you go about this? I started tracking it daily when it did nothing for three weeks. Once I find an allocation that works, I'll probably stop worrying about looking at it daily, but I don't see any point in letting it dither in a risk allocation that loses as much as it makes. I'm not worried about getting large returns, but I do want to see gains that are consistently higher than losses.
    – CMB
    Aug 29, 2018 at 7:04

1 Answer 1


[(1+return1) * (1+return2) * ...]^(1/n) - 1 calculates the geometric average daily return. To annualize it: [(1+return1) * (1+return2) * ...]^(250/n) -1.

I used 250 because that is approximately the number of trading days in the year. If your data set includes weekends/holidays, make it 365.

As an example, if you made 25% one day and lost 20% the next, your geometric average daily return is (1.25*.8)^.5 - 1 = 0.

  • Cool. That seems to work. Do you know why this works better mathematically than a simple average?
    – CMB
    Aug 29, 2018 at 7:08
  • @CMB If your stock goes up 10% one day and down 10% the next day, the arithmetic average return is zero, but the actual return over two days is -1% (1.10 * 0.90 = 0.99)
    – D Stanley
    Aug 29, 2018 at 13:34
  • 1
    I see. Because if it goes up 10% from $1 to $1.10, then when it goes down 10% it's 10% of the new, bigger value of $1.10 and you lose $0.11. So then you're really down $0.01, or 1% of the original value.
    – CMB
    Aug 29, 2018 at 15:48
  • @cmb notice that the order doesn't matter: 0.9*1.1 = 1.1*0.9. If you have a -100% return, it does not matter what the sequence of returns was before the -100%, you have nothing. A positive return and a negative return offset when log(A) + log(B) = 0. Note the way log(X) goes to -inf as X -> 0 and that the slope of log(x) declines as X grows (negative second derivative). Aug 31, 2018 at 1:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .