2017-04-13 90 views
0

我正在研究一个Node.js项目,我需要用Bloomberg API定价一些股票。我发现这个API有一个NPM包,所以我安装了它并根据https://github.com/bloomberg/blpapi-node开始测试,但是我没有收到任何回应。我没有得到Node.js Bloomberg API包(blpapi)的响应

这是我的代码:

var blpapi = require('blpapi'); 

var bloombergPricing = function() 
{ 
    var session = new blpapi.Session({ host: '127.0.0.1', port: 8194 }); 

    session.on('SessionStarted', function(m) { 
     console.log('bonjou'); 
    session.openService('//blp/mktdata', 1); 

    }); 

    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) { 
    console.log(session); 
    if (m.correlations[0].value == service_id) { 
     console.log(session); 
     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); 
    } 
}); 

} 

是这个包还工作吗?如果不是,怎么可能从Node.js调用Java Bloomberg API?

非常感谢。

+0

你看到在控制台的任何错误? (在开发者控制台下) –

+0

我的节点控制台没有任何东西! – Everblack

回答

0

我想你错过了一个session.start();在函数结束时。这将触发连接。

编辑,包括代码为我的作品:

var blpapi = require('blpapi'); 

var bloombergPricing = function() 
{ 
    var session = new blpapi.Session({ host: '127.0.0.1', port: 8194 }); 

    session.on('SessionStarted', function(m) { 
    console.log('bonjou'); 
    session.openService('//blp/mktdata', 1); 

    }); 

    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) { 
     console.log(session); 
     if (m.correlations[0].value == 1) { 
      console.log(session); 
      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); 
     } 
    }); 

    session.start(); 
} 

bloombergPricing(); 
+0

谢谢你的帮助。添加session.start();指令,我得到这个错误: 13APR2017_12:08:59.730 9785:2984225600错误blpapi_platformtransporttcp.cpp:671 blpapi.session.transporttcp。{1}。<127.0.0.1:8194>连接失败 – Everblack

+0

这听起来像没有通信服务器在端口8194上的本地主机上运行。您需要运行bbcomm.exe(用于DesktopAPI或ServerAPI)。如果bbcomm没有运行,您可能需要手动触发它(通过开始 - >所有程序中的彭博菜单) – amkingTRP

+0

事实上,我没有安装任何东西。我该怎么办?我在Ubuntu 16.04 32位。 – Everblack