10

I have an application which needs to get intraday stock quotes on several assets (indices, commodities etc').

I want to be able to query the data in HTTP and get it as CSV/XML format.

Now, I'd like to be able to ask the data provider for example what was the last bid/ask/price on GE (General Electric) at 4:00PM, and ask it in let's say 4:05PM on that day, for further processing.

Similar services to what I'm looking for:

Reuter's DataLink service can give me this data on the last trade of the day.
I need it to flow through all day long - intraday.

Yahoo Finance (the query formay within it) is a great service which does what I want in terms of data delivery yet I'm unsure regarding its reliability/timing since it's free.
Also, I couldn't find any information regarding the delay of the data they provide relatively from the real world timing (like many websites give this data in delay of ~20min).

QuoteRSS gives this for free as well, it let's me pick a ticket and get its data, yet once again I'm unsure regarding its reliability, as well as its timing, which I have doubt if this is "realtime" or close to that.

Finally this blog post by google "At long last, real-time stock quotes are here" claims to offer free data on certain stocks, but in Google Finance's pages I can't find anything about it, nor at their API pages, and again, who knows what delay I get from the realtime data.

In addition to the concern with the above mentioned services (Yahoo, QuoteRSS & Google) I'm not sure how/if they provide an intraday information regarding the stocks, something which I need.

Worth mentioning is that many websites which deal with Forex claim to be getting their data feed from Reuters/Bloomberg.
Didn't find such a solution on both's sites. I even went online with a sales rep. at Reuters to ask about it and his answer, after a decent discussion, was that "he's afraid he cannot offer me anything better than their service DataLink". How odd!!

So to summarize my question;
1) Where do I get such data feed, in which I select several tickets from several markets, and get a closer-than-20min information regarding these tickets, in concise format (CSV/XML)?
2) If Reuters/Bloomberg offer it (I'll probably also call them later) - where is it being offered, at their websites? I'd like to get the data from a "big name" such as these guys, for reliability reasons.
3) Regarding "realtime" or not, it depends on the cost. What costs should I prepare to? I'm assuming that realtime feed costs a LOT, so, is there an option between realtime and the 20min delayed feed? Something like 2-5min delay?
4) Please mention how, or if, I can query for stocks' data in a timely manner, like "what was the price of GOOG at 4:00PM?".

Note #1:
Please keep in mind, when answering, that I need the quotes intraday and not "by the end of the day".

Note #2:
If google/yahoo do actually offer this kind of service for free, how do I find it? Directly. I don't mind starting with these "freewares" for testing and such, especially if I can query for data in a timely manner as mentioned above ("what was the price of GOOG at 4:00PM?").

Note #3:
In terms of licensing, I do not intend to resell this information. Simply as that.

Poni
  • 11,061
  • 25
  • 80
  • 121
  • @Poni this is a very interesting question, but too related to the financial realm to be addressed in a programmer's site with depth. There are a lot of usability restrictions practical, commercial, and legal to encourage a concise answer by any knowledgeable person. – Dr. belisarius Oct 16 '10 at 03:02
  • @belisarius in fact there's some truth in your words, this subject is very complicated. I'll add note #3. Thanks for pointing it out! – Poni Oct 16 '10 at 03:05
  • Also, it does relate somehow to the SO's subject because it's like asking "what best IDE for Linux"... I mean, I treat the feed data as a tool to leverage another thing. And besides, the community here is so good, I just had to try my luck (: – Poni Oct 16 '10 at 03:07
  • I voted to close, basically because I consider this to be a bit too "involved". I mean, it's arguably a good 'question', but the answer involves a significant amount of work, and I don't think it's particularly appropriate to be asking it here. IMHO it is part of your *job* to work this out. – Noon Silk Oct 16 '10 at 03:09
  • @Noon - well, that's you opinion. I on the contrary think this question do have several answers, **very simple ones**. It's as simple as "Get service X from provider Y for $Z/month". The fact that this question was questioned in length, well, I appriciate such questions which give details and show that a person did some effort before asking about it, and encourage everyone to take example - I'm proud of it actually. I'd appriciate if you reconsider your vote to close. – Poni Oct 16 '10 at 03:14
  • @Poni: It's a good question, I just can't imagine anyone actually answering well enough, as it requires too much effort (it's also not particularly *technically* interesting). It sounds to me like "please do a bunch of research for me". It's just my opinion, and I am providing a reason for the close vote. I could be wrong. – Noon Silk Oct 16 '10 at 03:17
  • @Noon: After all of what I've written (you did read it in full, right) you really think I'm asking people to do a research for me? No. I don't. I'm sure people here however do know and have the experience to shed some light on my problem as I'm a bit stuck, and that's what I'm counting on when posting such question. – Poni Oct 16 '10 at 03:24
  • 1
    @Poni Let me put this in a few words. I work in these lines for 25 years now. If you really need good advice, don't ask for it here. someone who answers "Get service X from provider Y for $Z/month" doesn't know what he is talking about or how many looses his counsel will bring up for untimely "buy or sell" decisions. YOur question is good, but this is not the place. – Dr. belisarius Oct 16 '10 at 03:24
  • BTW Take a look here (but I DO NOT recommend using it) http://office.microsoft.com/en-gb/excel-help/getting-data-from-the-web-in-excel-HA001045085.aspx – Dr. belisarius Oct 16 '10 at 03:27
  • So where in hell do I get the data from? This is a product I'm sure Reuters for example wants to sell. Why is it so hard to hear about it... Frustrating. – Poni Oct 16 '10 at 03:30
  • @Poni: Bloomberg. I don't understand why you are finding it hard. – Noon Silk Oct 16 '10 at 03:32
  • @belisarius if not here then where should one ask about it? Can you recommend? And thanks for your words! – Poni Oct 16 '10 at 03:33
  • @Noon I've been looking for this for about 4-5 days now. Believe me that finding info about control flow systems for TCP sockets is easier - I know, this is hilarious! – Poni Oct 16 '10 at 03:35
  • http://en.wikipedia.org/wiki/Bloomberg_Terminal – Noon Silk Oct 16 '10 at 03:44
  • @Noon I know already about Bloomberg's service, as said in the original question. It describes in general, not the details I'm asking about though. Anyway, thanks! – Poni Oct 16 '10 at 03:55
  • 1
    @Poni You are asking naively about how the powers that be earn their money. As you'll understand once you enter the business many technical concepts loose their technical garnments and are plainly business. What does it mean "real time"? Nothing. What you need for trading is an SLA that push you ahead your trading fellas. People use this info for betting against you. If you (or your clients) are 1 second behind is like having yesterday close prices, no more, no less. – Dr. belisarius Oct 16 '10 at 04:29
  • @Poni Cont. -> There is no difference between a 20 minutes delay and a full day, both infos are for people that don't trade and so are not wishing to pay for the service. – Dr. belisarius Oct 16 '10 at 04:29
  • 3
    Voted +1, the question is good and IS programming related. Doesn't deserve a negative score (it has -1 right now). It should has a very big positive score just to give advice to the future readers that the topic is tough. – Dr. belisarius Oct 16 '10 at 15:29
  • @belisarius you seem to know your trade, salut! Also thanks for supporting the question. This is definitely not a simple subject, yet even with few of your comments you made me realize few things! – Poni Oct 16 '10 at 23:21
  • Also, many providers (those I've checked!) do not seem to go deeply into explaining what capabilities their API has, which I think is the source of my confusion. Take Reuters for example; It's just as "call us to talk". Same with Bloomberg. Now, what if I'm just starting this and making contacts (with SALES MEN!) is not desirable, at least not before I know that you (respective provider) can offer me what I need. – Poni Oct 16 '10 at 23:24
  • 1
    @Poni This http://www.scribd.com/doc/48163/Top-12-Online-Brokers-for-Individual-Investors is how the small guys manage this info ... imagine what do the big guys. There is a lot of cash money in there that is why the learning curve is steep ... – Dr. belisarius Oct 17 '10 at 00:24
  • @belisarius thanks yet as the title suggests this is aimed at the individual trader. Besides, as far as I understand what I'm looking for is a data feed. Talked with Reuters, gonna meet them soon, hopefully I'll have a specific solution to my need. – Poni Oct 17 '10 at 10:48
  • @Poni Good luck with Reuters, I'm sure they will have a suitable offering. Be careful with the SLAs and make sure to be able to MEASURE the delay between the market and your updates if someone will trade based upon your data. Good luck! – Dr. belisarius Oct 18 '10 at 02:52
  • @belisarius I gotta ask: 1) Be careful with the SLA? Can you be a bit more specific on that one? 2) Measure delays, is there any special way or shall I use tools like pinging etc'? – Poni Oct 18 '10 at 18:55

3 Answers3

4

Before they closed shop, I used opentick. My blog post about opentick shutting down got quite a bit of traffic, so I decided to write another post that examined some potential opentick alternatives. Take a look at the companies in the post and comments. Hopefully one of them will work for you.

Joshua Ulrich
  • 173,410
  • 32
  • 338
  • 418
  • Just took a quick look - I'm definitely going to go through the whole links over there, as I've already spotted some interesting. Thanks!! – Poni Oct 16 '10 at 04:09
  • I think you'd want to fix the links in this page, for example the link to "IQFeed" doesn't work. Still checking the stuff there.. – Poni Oct 17 '10 at 11:13
  • You've mentioned that you've tested these providers yet I see no opinion/comments on them, nor any deeper details. So, according to my (long yet very concise) original question, which one/two would you recommend me to look into? I'm about to check them all I guess, just thought you might highlight, according to my specific need, if possible. – Poni Oct 17 '10 at 11:19
  • @Poni: Thank you for bringing the broken links to my attention; I've fixed them. I have not tested any of the listed providers, so I cannot provide additional information. – Joshua Ulrich Oct 17 '10 at 12:10
4

I have used IQFeed for some time. It is not HTTP or a CSV but it is a streaming push of ticks from their servers to you. The client is a bit kludgy but overall I find it to be acceptable for the price. This type of feed would be considered "realtime" by most people and since you are talking about minutes I assume that you are someone who is not worried about a couple seconds of latency here or there.

I have experience with Reuters (Thomson) feeds. They are expensive since we are now talking about TotalView/OpenBook data. This would be used to calculate the history of the order book and could be used for analyzing things like the liquidity of an equity at different price levels. I had a good experience with them at another job. 24/7 Engineering support, fixes, decent security db. The reality is that there is a wide variety of ways to get these feeds mostly from brokerages. I don't think this is what you are looking for since you mentioned things that were free.

There are "mid tier" providers like CQG although I have no experience with them.

In general no matter who you are using you need to be willing to implement their protocol and format. I have found this to be true no matter which feed I use. The good news is that all you need to do is make a parser.

What was the price of Google at 4:00PM? Who can say. Which part of 4PM? Would the price at 4PM would be something like the final print to the tape of the closing auction? Is it the auction midpoint? The price is what you can transact at which can be very different then what you see printed. ;-P

A final note: If you are building a trading system of some sort pay for your data. It should be cleaner than trying to assemble it. The exchanges charge for data and there is no real way around it. If you can't afford a couple of hundred bucks a month for some data then you probably don't have enough capital to be trading.

Steve Severance
  • 6,611
  • 1
  • 33
  • 44
  • @Steve enjoyed reading your answer! About IQFeed - can you talk a bit more about the "kludgy" part? In what way it that so? Well, just to clear it - I'm definitely not going to use a free service. Paying means they're committed to some quality of service, so.. Now about Reuters I think you're talking about their trading platform/software, correct? Well, what I need, by now I understand, is a clear data feed. No software/GUI/etc'. Simply give me the numbers (: Can you tell what price you paid Reuters for a data feed, if that so? – Poni Oct 19 '10 at 12:26
  • Also regarding the 4:00PM question - it's not complicated at all. Which part of 4:00PM you're asking? Here's an answer: I want the first price on 4:00PM. I mean, if on that second there were 6 prices then I simply want the first. Hope someone offers it. I should be somewhere! – Poni Oct 19 '10 at 12:28
  • I can't tell you what we paid for the tick feed. It was part of a negotiated package. We did not use any of their UI stuff. We just used their raw data feed for tick data plus other things like fundamentals, corporate actions, etc... I will tell you that our complete setup ran in the tens of thousands per month. – Steve Severance Oct 20 '10 at 00:00
  • 1
    Tens of thousands per month uh, how delightful! – Poni Oct 20 '10 at 11:59
  • Yeah. But it was significantly better than everything I have put together myself. Once I can afford it again I will move back onto a professional platform. Depending on what you are doing you probably don't need what they offer. – Steve Severance Oct 20 '10 at 15:13
  • The kludgy part of IQFeed is just in how you use it. You boot up the client and use COM objects (I use .net) to talk to the client. We did some work to tag all the outgoing requests with IDs so we could track them. Its not like having a real FIX engine. But it does work. – Steve Severance Oct 20 '10 at 15:15
0

Concerning Bloomberg, I just called them & they said that they only provide market data for personal use. So you cannot show it on your site, but you can do whatever you want with it as long as you don't publish it.

ambienthack
  • 439
  • 5
  • 9
  • Bloomberg provides "real time" data to almost all banks in the world, plus traders, etc. So perhaps "only for personal use" is somewhat misleading. Did you talk to a corporate sales guy there? – Dr. belisarius Jan 12 '11 at 16:53
  • They surely can supply this, it's all about the numbers.. – Poni Jan 12 '11 at 19:19
  • ambienthack's right. Bloomberg doesn't permit data to leave the terminal to which the data was supplied. They have API's for accessing this data, but the API consumer must run on the terminal where the data is stored. They have a Blackbox license for applications that want to consume the data as autonomous agents (eg: algo trading boxes), but the app can't send the data on. Bloomberg are really tight about this, and they even lay traps/foils in the feeds to make sure that data redist does not happen. Reuters on the other hand takes a different approach – Sentinel Sep 06 '12 at 14:40