How to consume data from Bloomberg B-PIPE
Bloomberg B-PIPE is a normalized and consolidated data feed for financial markets pricing and reference data. You can easily integrate your Genesis application with B-PIPE and consume this data into your application.
For example, you can subscribe to real-time pricing information on financial instruments, query for product definitions, or query for historical trade information.
Example
We have created an example application that shows how to consume market data updates.
The application provides two pipelines, one to subscribe and one to consume. Subscriptions are generated for every instrument in the application database, and subscription updates flow into the market data table to update the UI grids in real time.
The examples are within one complete example application, which includes a front end so that you can run and see the data.
You can clone the repo to see the code - which includes comments at the key points to highlight what is being specified - and run the application.
The README file for the application provides set-up instructions for creating a similar application. As well as the pipeline definitions, this includes setting up dependencies, system definitions, the Event Handler (to trigger an event to insert data) and the Data Server (to provide data to the front end.)
Subscribing to Bloomberg
In the example application, a pipeline is set up to generate a market-data subscription for every instrument in the database. A short list of instruments is pre-loaded via CSV file.
Consuming from Bloomberg
The example contains a second pipeline that listens to data updates coming from the data subscriptions. Whenever an update is received, it updates the database; this updates the views that drive the real-time UI grids.
Testing
Go to our Testing page for details of our testing tools and the dependencies that you need to declare.
To test the set-up of a Data Pipeline for Bloomberg on your app, you need access to a real Bloomberg B-PIPE or SAPI endpoint if you want this how-to guide to run correctly.
Full technical details
You can find full technical details in our reference documentation: