Bloomberg market data API made public for C++, .Net, Java, Perl
computerworlduk.com
computerworlduk.com
I'm surprised how many people on HN are interested in this. If you are looking for real-time feeds, the best vendor I've found is http://www.nanex.net/ . They offer the whole feed, real-time, over the internet. Unfortunately you have to access it through their windows based dll. I can't understand why they don't have a native linux client...but they don't.
A very interesting source of data is BATS. I believe you can get free data feeds from BATS. Since they are a very liquid exchange, in many instances their prices can be proxies for the full market. Unfortunately, you need industrial strength bandwidth to access that data (you can't just get it over the internet).
I believe there is space in the market for another market data vendor. Use good compression to drastically reduce bandwidth (see nanex), provide diverse client APIs (NOT nanex), slowly start to aggregate feeds from international exchanges, provide intelligent routing (100 clients in china should not make 100 connections to a NYC data center, they should connect to a local node), offer limited access to no cost exchanges, etc.
Unfortunately vendor agreements for exchanges are expensive enough that they are out of reach for bootstrapped operations.
However, that is not to say that the size of bloomberg's infrastructure is the biggest obstacle to competing with it. Today there are technologies (nosql, HDFS, virtual clustures, etc.) which make it reasonable for ambitious engineers to think about competing with sections of bloomberg's business.
Bloomberg does have an immense, non-technical, advantage because traders often love their terminals. From the outside, it looks like an ugly, mainframe age technology with weird commands and ancient looking charts. But boy is it ever useful :) Proficient BB users would make vim users proud.
As for the terminal, it is constantly evolving. Change takes time :) Mess with something that works and you might not like the outcome. Just ask Netflix ;)
In other words, you don't need a big machine, expensive colocation, upfront bandwidth costs, just to serve two clients.
That explains why it installs .NET framework, Silverlight, Flash and God knows what else :)
I compared their data with another feed and they matched.
http://www.activetick.com/activetick/contents/ActiveTickFeed...
I had no idea there was a service to stream the entire market to your desktop. my mind is blown.
(Although it's possible some delayed feeds may be available, etc.)
This is the truth. It's pretty outrageous the prices the exchanges charge for real time data.
Though to be fair they are pretty good about letting you pay for what you want.
Most offer: - 15 minute delayed quotes, - real time top of book, - depth of book and the - raw fast data feed with not additions.
Pick what you want.
TSX, NYSE, and NASDAQ are around $5000/month each for full depth of book.
They just want to change their model a bit and have everyone able to access it easily by becoming a data API customer. It's probably a good move for them but I don't like the way they and the press covering this aren't mentioning that all it is is access to the same API as before without having to purchase the terminal now. (this is conjecture as I still haven't heard back)
Edit ... their response that confirms it:
Hello Travis,
Thank you for your inquiry.
The Open BLPAPI initiative is meant to present the API as a free-use technology,
but the Bloomberg content and data services from Bloomberg
are still licensed products.
Our goal is to give you the freedom to develop applications using the API,
and once subscribed to a licensed data
service from Bloomberg you would be able to access the content.
Regards,
Bloomberg Open Market Data Initiativeso, as example:
NO you cant use a program on the licensed workstation that sucks data and push them to a database that is used to power a website that shows stock prices
NO you cant get the data from that workstation from other computers via API
YES you can create a custom C++ program that runs on your licensed bloomberg workstation that get data via API, elaborate them with your own algo and give you signals for buy/sell (or maybe create a report that you send to your customers)
To extend your example, some customers use it to process realtime data, mix in their own data that they do not want to leave their network, then perform some kind of algo on it, and ultimately use the API SDK to feed the results back to Bloomberg for publishing. The SDK is used by publishers who feed content to us -- it isn't just for receiving data.
Bloomberg Professional (aka Terminal): http://www.bloomberg.com/professional/
Enterprise Solutions: http://www.bloomberg.com/enterprise/ http://www.bloomberg.com/enterprise/enterprise_products/data...
The latter obviously provides programmatic access to the real-time data, whereas the former is mostly intended for homo sapiens users.
"Bloomberg is offering its programming interface (BLPAPI) under a free-use agreement. This does not apply to any content."
EDIT: from one of their docs: "Bloomberg customers, non-Bloomberg users, vendors and third-party application developers can now adopt the interface for their own use." and "Furthermore, Bloomberg is evolving its interfaces into candidates for an open standard. Under this initiative, an independent committee would be formed to manage the future development of BLPAPI, while ensuring its stability and openness" http://open.bloomberg.com/pdf/bbg-eps-open-market-data.pdf
sorry for not reading it before
"A programming interface that is proprietary severely limits the options for firms that use them. Typically, a proprietary interface is contractually tied to the associated product. If the client decides to stop using the product, any references to the interface must be removed from the client’s applications. Further, the proprietary interface may not be copied and used for any other purpose, even if the firm remains a customer of that vendor for other uses. Together, these restrictions prevent the creation of adapters that could mitigate the costs and risks of migration"
http://www.opengamma.com/blog/2012/02/02/bloomberg-market-da...
The point of opening up the API is to allow products to be developed around it without any restrictions on shipping our code within the 3rd party application. That basically sums it up.
In order to receive data you need to have a data subscription and we pass through all exchange fees that exchanges charge depending on which particular pieces of data you would like to access. (We serve 350+ exchanges over this API)
Previously, the 3rd party app market was a bit restricted because app developers themselves couldn't necessarily bundle our SDK into their product due to the restrictive licensing and it was a hassle for the ecosystem of devs who write apps in this space. This makes it easier for them to build and ship products.
In order to become a data customer, you can either talk to a terminal with the SDK, or we sell a managed appliance that only serves the data. The SDK can talk to either without configuring it differently. All the rules on distributing the data apply no matter how you get it because the sources of the data (exchanges) are very, very restrictive about specific use cases of their data. The contracts spell out exactly who can place the numbers where and for what purpose. Basically, no matter who you get data from, displaying it publicly anywhere or distributing it as any part of service requires special legal contracts.
By making it open, it opens up the market for 3rd party tool developers to build apps that can access the Bloomberg feed data.
To those that are complaining, I have a developer subscription to IQFeed, which charges a fee of around $70/month for delayed data, and I pay $300/yr, so Bloomberg offering it for free is pretty good. Too bad their data feed costs ~$1000/month.
This API seems like a marketing tool designed to get people to build algorithmic applications around expensive real time feeds from Bloomberg.
Presumably even if you want to test a new client implementation, you would need to have an account with Bloomberg (the magazine article mentions "beta" markets but I'm guessing that doesn't mean in finance what it means to developers).
Typically it's tiered pricing model so it's:
- at one rate for viewing internally at your company,
- another rate if it's used for automated trading purposes
-another, open your wallet and dump it out price if you want to redistribute the data to external viewers, ie put it up on a website.
The second was a very rich set of all manner of indicative data--a superset of what you would imagine is behind the Terminal itself. This seemed to me to be a very cleanly specified and implemented system. And it was quite feature rich.
I am not clear on what relationship this has with their current offering.
But why make the docs .pdf?!
http://strataconf.com/strata2012/public/schedule/detail/2258...