Bloomberg Open API binding for Node.js.
Find source code in the Github repository.
Note: This repository was renamed from node-blpapi
to blpapi-node
.
This module requires:
- Node.js version >= 0.6.x
- Linux, Windows, or Mac OS X (32 or 64-bit)
- GCC (Linux), MSVC++ (Windows), or Xcode (Mac OS X)
- Bloomberg Desktop API (DAPI), Server API (SAPI), or B-PIPE subscription
This module includes:
- Bloomberg BLPAPI C++ SDK v3.7.5.1 (Linux/Windows/Mac OS X)
From your project directory, run:
$ npm install blpapi
To install directly from github source, run:
$ npm install git://github.com/bloomberg/blpapi-node.git
This will download and build blpapi
in node_modules/
.
Note: Windows users using the Express version of Visual Studio may not
have the 64-bit compiler platform installed. If errors are seen related
to the x64
platform not being found, please force a 32-bit arch before
invoking npm
by running from the command shell:
> set npm_config_arch="ia32"
The module design closely follows the BLPAPI SDK design, with slight modifications in syntax for easier consumption in Javascript. The SDK developer's guide should serve as the main guide for the module's functionality.
Full examples contained in the examples
directory demonstrate how to
use most SDK functionality. Full descriptions of all availabe requests,
responses, and options are contained within the BLPAPI API
Developer Guide.
var blpapi = require('blpapi');
var session = new blpapi.Session({ host: '127.0.0.1', port: 8194 });
session.on('SessionStarted', function(m) {
// ready for work
});
var service_id = 1;
session.on('SessionStarted', function(m) {
session.openService('//blp/mktdata', service_id);
});
session.on('ServiceOpened', function(m) {
// m.correlations[0].value == service_id
// ready for subscriptions
});
var securities = [
{ security: 'AAPL US Equity', correlation: 0, fields: ['LAST_TRADE'] },
{ security: 'GOOG US Equity', correlation: 1, fields: ['LAST_TRADE'] }
];
session.on('ServiceOpened', function(m) {
if (m.correlations[0].value == service_id) {
session.subscribe(securities);
}
});
session.on('MarketDataEvents', function(m) {
if (m.data.hasOwnProperty('LAST_TRADE')) {
console.log(securities[m.correlations[0].value].security,
'LAST_TRADE', m.data.LAST_TRADE);
// outputs:
// AAPL US Equity LAST_TRADE 600.00
// AAPL US Equity LAST_TRADE 601.00
// GOOG US Equity LAST_TRADE 650.00
// ...
}
});
MIT license. See license text in LICENSE.