Can one use Google Finance to backtest (i.e. simulate trades in the past)?
I've used yahoo to perform the exercise you're asking about. It allows you to download price data, month end if you wish, and by manipulating via a spreadsheet to add a column for purchases, you can easily see how your £100/mo would end after so long a time period. If you use Google Finance, you will get incorrect results because Google Finance does not show the dividend history. Since your requirement is that dividends are re-invested, you should use Yahoo Finance instead, downloading the historical 'adjusted' price. Yes, add the stocks/mutual funds that you want and then you would just need to add all the transactions that you theoretically would have made. Performing the look up on the price at each date that you would have sold or bought is quite tedious as well as adding each transaction.
Based on my experience with OpenQuant, which is a development platform for automated trading strategies (and therefore can be easily be used for backtesting your personal strategy), I can give a little insight into what you might look for in such a platform.  OpenQuant is a coding environment, which reads data feeds from a variety of sources (more on that in the second point), and runs the code for your strategy on that data and gives you the results. The data could be imported from a live data feed or from historical data, either through numerous API's, CSV/Excel, etc. You can write your own strategies using the custom C# libraries included with the software, which spares you from implementing your own code for technical indicators, basic statistical functions, etc. Getting the data is another issue. You could use joe's strategy and calculate option prices yourself, although you need to exercise caution when doing this to test a strategy. However, there is no substitute for backtesting a strategy on real data. Markets change over time, and depending on how far back you're interested in testing your strategy, you may run into problems. The reason there is no substitute for using real data is that attempting to replicate the data may fail in some circumstances, and you need a method of verifying that the data you're generating is correct and realistic. Calculating a few values, comparing them to the real values, and calibrating accordingly is a good idea, but you have to decide for yourself how many checks you want to do. More is better, but it may not be enough to realistically test your strategy. Disclaimer: Lest you interpret my post as a shameless plug for the OpenQuant platform, I'll state that I found the interface awful (it looked vaguely like Office 2000 but ten years too late) and the documentation woefully incomplete. I last used the software in 2010, so it may have improved in the intervening years, but your mileage may vary. I only use it as an example to give some insight into what you might look for in a backtesting platform. When you actually begin trading, a different platform is likely in order.  That being said, it responded fairly quickly and the learning curve wasn't too steep. The platform wasn't too expensive at the time (about $700 for a license with no data feeds, I think) but I was happy that the cost wasn't coming out of my pocket. It's only gotten more expensive and I'm not sure it's worth it. Returns reported by mutual funds to shareholders, google, etc. are computed after all the funds' costs, including Therefore the returns you see on google finance are the returns you would actually have gotten. Yes apply for live and dynamic data (you may have to pay for this depending on your broker and your country) and look at the market depth. James Roth provides a partial solution good for stock picking but let's speed up process a bit, already calculated historical standard deviations: Ibbotson, very good collection of research papers here, examples below Books I will assume that you are not asking in the context of high frequency trading, as this is Personal Finance Stack Exchange. It is completely acceptable to trade odd lots for retail brokerage customers. The odd lot description that you provided in your link, from Interactive Brokers is correct. But even in that context, it says, regarding the acceptability of odd lots to stock exchanges: The exception is that odd lots can be routed to NYSE/ARCA/AMEX, but   only as part of a basket order or as a market-on-close (MOC) order. Google GOOG is traded on the NASDAQ. Everything on the NASDAQ is electronic, and always has been. You will have no problem selling or buying less than 100 shares of Google.  There is also an issue of higher commissions with odd lots: While trading commissions for odd lots may still be higher than for   standard lots on a percentage basis, the popularity of online trading   platforms and the consequent plunge in brokerage commissions means   that it is no longer as difficult or expensive for investors to   dispose of odd lots as it used to be in the past. Notice what it says about online trading making it easier, not more difficult, to trade odd lots. "At the bottom of Yahoo! Finance's S & P 500 quote Quotes are real-time for NASDAQ, NYSE, and NYSE MKT. See also delay   times for other exchanges. All information provided ""as is"" for   informational purposes only, not intended for trading purposes or   advice. Neither Yahoo! nor any of independent providers is liable for   any informational errors, incompleteness, or delays, or for any   actions taken in reliance on information contained herein. By   accessing the Yahoo! site, you agree not to redistribute the   information found therein. Fundamental company data provided by Capital IQ. Historical chart data   and daily updates provided by Commodity Systems, Inc. (CSI).   International historical chart data, daily updates, fund summary, fund   performance, dividend data and Morningstar Index data provided by   Morningstar, Inc. Orderbook quotes are provided by BATS Exchange. US   Financials data provided by Edgar Online and all other Financials   provided by Capital IQ. International historical chart data, daily   updates, fundAnalyst estimates data provided by Thomson Financial   Network. All data povided by Thomson Financial Network is based solely   upon research information provided by third party analysts. Yahoo! has   not reviewed, and in no way endorses the validity of such data. Yahoo!   and ThomsonFN shall not be liable for any actions taken in reliance   thereon. Thus, yes there is a DB being accessed that there is likely an agreement between Yahoo! and the providers." Yup. What I wanted to know was where they are pulling it up from. Have casually used Google finance for personal investments, but they suck at corp actions. Not sure if they provide free APIs, but that would probably suck too! :D Algo traders/quants/market backtesters/coders/et al.  I am looking to backtest basic things like the correlation of P/E, EV/EBITDA, etc. to market performance. I know a little R and Python.  What is the easiest way to learn to backtest this sort of stuff? I want to eventually get into algo trading sort of stuff.  I'd **greatly** appreciate it! "You could use any of various financial APIs (e.g., Yahoo finance) to get prices of some reference stock and bond index funds.  That would be a reasonable approximation to market performance over a given time span. As for inflation data, just googling ""monthly inflation data"" gave me two pages with numbers that seem to agree and go back to 1914.  If you want to double-check their numbers you could go to the source at the BLS. As for whether any existing analysis exists, I'm not sure exactly what you mean.  I don't think you need to do much analysis to show that stock returns are different over different time periods." I have never seen a backtest showing that prices tended to be attracted by / to revert around Fibonacci levels. The fact that many people use them doesn't mean that they can be turned into a profitable system... I have on the other hand seen many backtests showing that they don't do anything, such as the one described in this article: At least in this sample of market data, using this particularly specification for swings, we find no evidence that Fibonacci ratios are significant in the market.   Perhaps I have missed something significant, or perhaps I am merely completely wrong in my analysis, but one thing should be clear—the burden of proof should lie on the people offering arcane and complex methodologies, when simpler methods work just as well or better in the marketplace. If Fibonacci ratios are the key to the markets, where are the quantitative tests? Where’s the proof? nice work! really enjoyed looking through your website. do you see any possible application of Machine Learning (specifically tensorflow) to this? I was thinking about building a trading bot that uses data from various APIs as a strategy just as an experiment but I'm wondering what your insights are. "To expand on keshlam's answer: A direct feed does not involve a website of any kind.  Each exchange publishes its order/trade feed(s) onto a packet network where subscribers have machines listening and reacting. Let's call the moment when a trade occurs inside an exchange's matching engine ""T0"".  An exchange then publishes the specifics of that trade as above, and the moment when that information is first available to subscribers is T1.  In some cases, T1 - T0 is a few microseconds; in other (notorious) cases, it can be as much as 100 milliseconds (100,000x longer). Because it's expensive for a subscriber to run a machine on each exchange's network -- and also because it requires a team of engineers devoted to understanding each exchange's individual publication protocols -- it seems unlikely that Google pays for direct access.  Instead Google most likely pays another company who is a subscriber on each exchange around the world (let's say Reuters) to forward their incoming information to Google.  Reuters then charges Google and other customers according to how fast the customer wants the forwarded information.  Reuters has to parse the info it gets at T1, check it for errors, and translate it into a format that Google (and other customers) can understand.  Let's say they finish all that work and put their new packets on the internet at time T2. Then the slow crawl across the internet begins.  Some 5-100 milliseconds later your website of choice gets its pre-processed data at time T3.  Even though it's preprocessed, your favorite website has to unpack the data, store it in some sort of database, and push it onto their website at time T4. A sophisticated website might then force a refresh of your browser at time T4 to show you the new information.  But this forced refresh involves yet another slow crawl across the internet from where your website is based to your home computer, competing with your neighbor's 24/7 Netflix stream, etc.  Then your browser (with its 83 plugins and banner ads everywhere) has to refresh, and you finally see the update at T5. So, a thousand factors come into play, but even assuming that Google is doing the most expensive and labor-intensive thing it can and that all the networks between you and Google and the exchange are as short as they can be, you're not going to hear about a trade -- even a massive, market-moving trade -- for anywhere from 500 milliseconds to 5 seconds after T0.  And in a more realistic world that time will be 10-30 seconds. This is what Google calls ""Realtime"" on that disclaimer page, because they feel they're getting that info to you as fast as they possibly can (for free). Meanwhile, the computers that actually subscribe to an exchange heard about the trade way back at time T1 and acted on that information in a few microseconds.  That's almost certainly before T2 and definitely way way before T3.  The market for a particular instrument could change direction 5 times before Google even shows the first trade. So if you want true realtime access, you must subscribe to the exchange feed or, as keshlam suggests, sign up with a broker that provides its own optimized market feeds to you. (Note: This is not an endorsement of trading through brokers.)" Try Google Finance Screener ; you will be able to filter for NASDAQ and NYSE exchanges. At this time, Google Finance doesn't support historical return or dividend data, only share prices.  The attributes for mutual funds such as return52 are only available as real-time data, not historical.   Yahoo also does not appear to offer market return data including dividends. For example, the S&P 500 index does not account for dividends--the S&P ^SPXTR index does, but is unavailable through Yahoo Finance. For whatever reason, I don't believe they offer it.  Yahoo does.  A google for google finance VIX turns up people asking the question, but no quote on google.