Interestingly enough, as someone with both Bloomberg terminal and FactSet subscriptions, I still don't have real-time market data for most asset classes and securities. Those are actually add-on costs that I don't need for my research (I'm not a trader). The value for me (again not a trader) comes from having 25 years of robust fundamental and market data along with powerful portfolio analysis tools and models.
I guess I’m not very familiar with these offerings. I was really asking “how do I acquire a real time feed to plug into this open source software”. But it sounds like it’s not valuable to have that in practice?
I guess it depends on what you want to use the data for. There are plenty reasonably priced APIs for streaming the latest closing price once a second for, say, up to 5 stocks at a time. That's much more manageable than, say, streaming all 100,000 global stock and their transactions, bids, asks, closing prices, outstanding orders across multiple stock exchanges per stock, and 3-dimensional options data (strike price, expiration date, type). This may approach (but still be a few orders of magnitude less than) particle collider levels of data.
I'm not sure the everyday person actually can get or even handle real time data. I spoke to someone about 4 years ago who was doing it for their startup and they said they had serious problems handling the data volume. Talking about terabytes of data coming in per day. Typical DB systems fall apart under that kind of load.
I'd like to understand a bit more about how Bloomberg Terminals are set up from an infrastructure perspective. Apologies if you don't know anything about that, but the idea that there's just "so much data" that only a Bloomberg Terminal can handle it seems kind of suspect to me. Don't we have other options? Or is this all proprietary?
Bloomberg operates a group of distributed, redundant data centres with massive compute and network infrastructure to ingest real-time data from every exchange and major market participant in the world, across a huge range of financial asset classes. It then fires the tiny subset of this that you happen to be interested in at any given moment down to your Bloomberg terminal.
In addition there is data that only they have because it's generated as a by-product of their trading functionality. If I'm MegaBank Corp and I want to sell e.g. credit default swaps denominated in Norwegian Krone, I can advertise this by feeding my prices for such deals to Bloomberg so potential clients who also have a BB terminal can see them and click a price they like to make a trade. This gives Bloomberg a pool of liquidity/price info that no independent source has access to.
So there are very strong network effects. Even if you could spend the billions to duplicate the infrastructure and rewrite all the software required, to actually do the same thing you would also need to replicate all the business relationships with data sources.
Disclaimer: I am not a lawyer/cat/financial-advisor/etc, but I used to be a developer at Bloomberg :-)
The key their volume though is they don't really have hard latency constraints. Most of the data flowing through the Terminal is still for human eye balls and inaccurate or laggy data is tolerated. It's not a low latency product.
They do have an API offering but you're unlikely to find serious trading shops using it except as a backup feed.
There are lots of industry alternatives to Bloomberg, such as Refinitiv Eikon, FactSet, CapIQ, etc. There is a lot of technical infrastructure required to be able to constantly provide real-time data with no downtime. Also, some data sets are in fact proprietary. For example, Refinitiv has a historical database that can’t be beat by competitors because they were literally the only ones that started recording the data as early as they did. Anyone else who claims to have an equivalent data set just won’t have the same amount to provide.
anyone can sign up for real-time data through many different providers of various quality. viewing real-time data and storing it on a per tick are two very different things. most software doesn't save it real-time. historical data is also requested from a provider as needed