Looking for investment calculator with real historical data
March 30, 2009 7:27 AM   Subscribe

I'm seeking an online tool that will project the present value of a monthly investment in a given stock, mutual fund or market index.

I'm comparing some investments and want to be able to compare their performance over arbitrary date ranges. The closest thing I've found so far are some calculators that calculate compound interest based on periodic investments, but I am looking for something which uses actual historic market data.

The question I want to answer is "if I invested X dollars each month in security Y starting in August 2003, how much money would I have in February 2009?" Of course, I'd like to be able to change those date ranges so that I can see performance through good times and bad.

It would be ideal if this calculator would work for any stock or mutual fund, but even the ability to do it only for a market index (like the S&P 500 or Wilshire 5000) would still be better than nothing.
posted by tomwheeler to Work & Money (8 answers total)
Well, you can put your ticker(s) into Google Finance, drag the date range to whatever, and it will give you percent returns for each fund.
posted by misterbrandt at 8:14 AM on March 30, 2009

Strangely, most investment firms don't offer this sort of thing. Probably because they see it as a liability, implying performance when there is none. The closest thing I can think of is a good retirement calculator. You'll have to figure out what the median gain is for any investment you're interested in (Morningstar or your broker should have this info) and enter that in as your annual yield.

Financial planners do like to use Monte Carlo Simulations to help with risk predictions. The math is WAY above me, but I know there's software out there to do it.
posted by fiercekitten at 8:21 AM on March 30, 2009

I don't know of a web tool that can do what you want. You can bake your own with Excel and one of these tools. Dividend-paying stocks-- though only slightly more difficult to model in Excel-- may be tougher as I don't know how straightforward the dividend data is from the free providers.
posted by Kwantsar at 9:21 AM on March 30, 2009

Your question ("if I invested ... in August 2003 ...") is the sort of thing that is easy to answer with Mathematica, because it has current and historial prices for all manner of stocks and indices and what-have-you.

Here is what I typed to answer your question for GE shares, investing $1000/month since August 2003:

FinancialData["GE"]*Total[1000/FinancialData["GE", {{2003, 8}, {2009, 2}, "Month"}][[All, 2]]]
>> 23533.7

Here is the same thing but with "August 2003" replaced with sliders you can scroll around:

Manipulate[FinancialData["GE"]*Total[1000/FinancialData["GE", {{year, month}, {2009, 2}, "Month"}][[All, 2]]], {year, 1999, 2008, 1}, {month, 1, 12, 1}]

A plot would be equally straightforward.
posted by hAndrew at 2:03 AM on March 31, 2009

I could be mistaken but from the looks of it I don't think that Mathematica example catches dividends, either.
posted by Kwantsar at 4:33 AM on March 31, 2009

A variety of dividend-related data is there:

FinancialData["GE", "DividendPerShare"]
>> 1.24

I don't really know how to incorporate this sort of information properly because I don't know much about finance as a subject.

The current and historical stuff it seems to know about "GE" (and other stocks) are:

FinancialData["GE", "Properties"]
>> {Ask, AskSize, Average200Day, Average50Day, AverageVolume3Month, Bid, BidSize, BookValuePerShare, Change, Change200Day, Change50Day, ChangeHigh52Week, ChangeLow52Week, CIK, Close, Company, CumulativeFractionalChange, CumulativeReturn, CUSIP, Dividend, DividendPerShare, DividendYield, EarningsPerShare, EBITDA, Exchange, FloatShares, ForwardEarnings, ForwardPERatio, FractionalChange, FractionalChange200Day, FractionalChange50Day, FractionalChangeHigh52Week, FractionalChangeLow52Week, High, High52Week, ISIN, LastTradeSize, LatestTrade, Lookup, Low, Low52Week, MarketCap, Name, Open, PEGRatio, PERatio, Price, PriceTarget, PriceToBookRatio, PriceToSalesRatio, QuarterForwardEarnings, Range, Range52Week, RawClose, RawHigh, RawLow, RawOpen, RawRange, Return, Sector, SEDOL, ShortRatio, SICCode, StandardName, Symbol, Volatility20Day, Volatility50Day, Volume, Website, YearEarningsEstimate, YearPERatioEstimate}

Again, I don't know all the finance jargon, but you could take a look at the documentation I linked to my earlier post. It describes some more about what the various properties mean.
posted by hAndrew at 11:15 AM on March 31, 2009

Response by poster: Looks like I will need to write a program to do this... good thing I am a programmer :-)
posted by tomwheeler at 10:01 PM on March 31, 2009

Or you can do this in a spreadsheet in Google documents, again pulling current + historical data from Google Finance.
posted by misterbrandt at 3:58 PM on April 1, 2009

« Older AHRC Funding for PhD - How to ensure it!?   |   Resources about Oil for High School Students? Newer »
This thread is closed to new comments.