views:

190

answers:

1

Now that the oligopole of market data providers successfully killed OpenQuant, does any alternative to proprietary and expensive subscriptions for realtime market data subsist?

Ideally I would like to be able to monitor tick by tick securities from the NYSE, NASDAQ and AMEX (about 6000 symbols).

Most vendors put a limit of 500 symbols watchable at the same time, this is unacceptable to me, even if one can imagine a rotation among the 500 symbols ie. making windows of 5 sec. of effective observation out of each minute for every symbol.

Currently I'm doing this by a Java thread pool calling Google Finance, but this is unsatisfactory for several reasons, one being that Google doesn't return the volume traded, but the main one being that Google promptly is killing bots attempting to take advantage of this service ;-)

Any hint much appreciated,

Cheers

+2  A: 

I think you'll find all you need to know by looking at this question: http://stackoverflow.com/questions/754593/source-of-historical-stock-data

I don't know of any free data feeds other than Yahoo!, but it doesn't offer tick-by-tick data, it only offers 1 minute intervals with a 15 minute delay. If you want to use an already existing tool to download the historical data, then I would recommend EclipseTarder. It only saves the Open, Close, High, Low, and Volume.

Eclipse Trader

You can write your own data scraper with very little effort. I've written an article on downloading real-time data from yahoo on my blog, but it's in C#. If you're familiar with C# then you'll be able to translate the action in Java pretty quick. If you write your own data scraper then you can get pretty much ANYTHING that Yahoo! shows on their web site: Bid, Ask, Dividend Share, Earnings Share, Day's High, Day's Low, etc, etc, etc.

If you don't know C# then don't worry, it's REALLY simple: yahoo allows you to download CSV files with quotes just by modifying a URL. You can find out everything about the URL and the tags that are used on yahoo here: http://www.gummy-stuff.org/Yahoo-data.htm

Here are the basic steps you need to follow:

  1. Construct a URL for the symbol or multiple symbols of your choice.
  2. Add the tags which you're interested in downloading (Open, Close, Volume, Beta, 52 week high, etc, etc.).
  3. Create a URLConnection with the URL you just constructed.
  4. Use a BufferedReader to read the CSV file that is returned from the connection stream.

Your CSV will have the following format:

  • Each row is a different symbol.
  • Each column is a different tag.
Lirik
And you only have to find 12 such data providers. Not trying to be flippant -- it sounds doable.
Allen