How to Calculate Annual Investment Returns Using XIRR

Written by: FT

In this article:

    After my 2012 year end net worth update, there was some chatter about how to properly calculate annual investment returns.  The fact is that there are a number of ways to calculate annual investment returns, some easier than others.

    For example, if you have a starting portfolio value and an ending portfolio value for a particular year and no contributions or withdrawals, it’s a relatively simple calculation.  In this case, a simple brute force way to calculate a return that I use often is:

    [Ending portfolio value (Dec 31st of current year)/Starting portfolio value (Dec 31st of previous year)] – 1

    If my portfolio is worth $120,000 at year end but started at $100,000, then my annual investment return is 20%.

    However, in most situations, investors add and remove capital from particular investment accounts which can weigh on investment returns.  This is where it can get tricky to calculate manually, so I like to use a trusty spreadsheet to do the work for me. Specifically, the XIRR function.

    The XIRR Function

    The XIRR function is similar to the IRR (internal rate of return) function but is more robust.  IRR allows for the calculation of returns with “regular” contributions, but XIRR allows for random contributions or withdrawals throughout the year.  The real beauty is that you do not need to be a spreadsheet guru to use these functions.

    The Syntax for the function is:

    Excel: XIRR(values, dates, [guess])  Open Office: XIRR(values; dates; [guess])

    Values are the range of portfolio values; Dates are the range of dates; and Guess is an approximate percentage return (optional).

    Here is an example from Canadian Money Forum using Open Office;

    To use this function, you’ll need to gather some information on your investment portfolio:

    • Value of portfolio at the end of the previous year (put positive number in spreadsheet)
    • Value of portfolio at the end of the current year (put negative number in spreadsheet)
    • Date(s) and amount(s) of contribution(s) to the account (put postive number in spreadsheet)
    • Date(s) and amount(s) of withdrawal(s) from the account (put negative number in spreadsheet)

    In this example, at the end of 2011, the portfolio value was $10,000. Throughout 2012, there were 3 contributions to the account at various times in the amount of $1,000.  The final value at the end of 2012 was $15,000.  Using the XIRR function, the return for this portfolio is 17.41%.  If you were to simply subtract the $3,000 in contributions from the end value, then the return would be an overstated 20%.

    Another example is with my leveraged dividend portfolio.  In 2011, the portfolio ended with $87,500 in value.  There was a $10,000 contribution at the end of August 2012, and the end value for 2012 was $108,000.  Punching it all into the XIRR function shows a 11.5% return for the year.

    There you have it, a relatively easy way to calculate your annual investment returns.  Let me know the XIRR function works out for you.

    I've Completed My Million Dollar Journey. Let Me Guide You Through Yours!

    Sign up below to get a copy of our free eBook: Can I Retire Yet?

    Posted in
    Subscribe
    Notify of

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    44 Comments
    Newest
    Oldest
    Inline Feedbacks
    View all comments
    FC
    8 years ago

    is there a particular date format to be used?
    i keep getting “#num!” error?

    ValueInvestor
    10 years ago

    Good stuff! I agree not a lot of people know how to calculate their investment returns. Though, I can’t think of a good reason why would one need to include in xirr calculations current holdings since they are not finalized yet (i.e sold). It probably makes sense to calculate ROI on the current individual holdings. I calculate xirr on my past investments to understand my investment performsnce. I use the following two column format:
    Transaction date – proceeds (positive # for proceeds from sale of securities and cash dividends and negative # for proceeds from buying the securities). This way I don’t care about portfolio starting values as xirr spits annualized returns anyway. If anyone has any suggestions, feel free to critique.

    K Ramesh Babu
    10 years ago

    @mr_l, the problem is that the individual xirr outputs will be in different spreadsheets, and it is a hassle to bring them all into a single spreadsheet …

    mr_l
    10 years ago

    @K if you have the data to perform xirr on several investments then you could just do an xirr calculation that uses all the data as input to get the annual return for your entire portfolio, no?

    K Ramesh Babu
    10 years ago

    Does anyone know how to combine the output of multiple XIRR() outputs? This way, we can not only find the rate of return of individual investments, but also of the entire portfolio.

    Bill
    10 years ago

    Thanks Michael for reverting.

    While this is strange I continue to get the difference. Is there a way you could email me your excel sheet. I could in turn revert with my working on both CAGR and XIRR. You could email it to me at support@newhorizonfunds.com.

    Not sure if the version makes a difference as we used Excel 2003 or whether some amendments need to be carried out in the settings/ options

    Thanks for assistance

    Bill

    Michael James
    10 years ago

    @Bill: I get 20.67% when I calculate the IRR with the excel XIRR() function.

    Bill
    10 years ago

    I have a peculiar problem wherein the CAGR return and the XIRR return both vary for the same data points.

    Illustration: Investment of 50mn as at Sep 15, 2010 equals to 97.290 as at Mar 31, 2014. The XIRR function provides 21.2% performance for the period and the CAGR formula provides 20.6%.
    Which is the correct number to consider and can someone explain the reason for this variation between CAGR and XIRR

    Edward Mendes
    10 years ago

    How stupid of me not to see the fact that XIRR compounds!

    Thank you Michael for your response.

    Edward

    Michael James
    10 years ago

    @Edward: XIRR is giving you the right answer. If you compound 10% for 2 years, the result is 21%, not 20%. Good luck.

    Latest Articles

    alterna bank logo large

    Alterna Bank Review

    money transfers in canada

    Cheap International Money Transfer (Cheaper than Wise*)

    Eqbank Logo

    EQ Bank Review 2024

    investing chinese stocks

    Why I Don’t Invest in Chinese Stocks

    canadian tech stocks

    Best Tech Stocks in Canada For 2025

    tax loss harvesting

    Tax-Loss Harvesting in Canada

    best canadian dividend stocks

    Best Canadian Dividend Stocks – December 2024

    Cidirect Logo

    CI Direct Investing Review 2024 (Formerly WealthBar)