当前数据使用彭博.NET API(Hourly Data using Bloomberg .Net

2019-07-31 02:32发布

我与逻辑奋力使用.NET API 3.0从Bloomberg得到每小时开盘价,最高价,最低价和LAST_PRICE快照。 我用Google搜索了很多次,但没有运气! 任何帮助将非常感激。

我试图找到相当于彭博.NET API(C#)以下VBA BDH功能。

BDH(B5,C6:F6,TODAY()-30,"","BarTp=T","BarSz=120","days=T","Dir=V","Dts=S",,"Quot‌​e=C","UseDPDF=Y","Sort=D",,"cols=5;rows=271") 

其中B5是安全的姓名和C6:F6包含开盘价,最高价,最低价和LAST_PRICE领域。 我曾尝试即日律师的请求,但是这个BDH函数返回它不会返回相同的数值。 此外,历史数据请求没有HOURLY间隔选项,从每日间隔开始。

以下是我迄今为止尝试过的代码:

BBService refDataService = session.GetService("//blp/refdata"); 
BBRequest request = refDataService.CreateRequest("IntradayBarRequest"); 
request.Set("security", "SPX INDEX"); 
request.Set("eventType", "TRADE"); 
request.Set("interval", 120); // bar interval in minutes
request.Set("startDateTime", new BBDateTime(2012, 08, 11, 07, 30, 0, 0)); 
request.Set("endDateTime", new BBDateTime(2012, 08, 20, 18, 30, 0, 0)); 
session.SendRequest(request, null);

Answer 1:

彭博API分配,看看伟大的“实例”文件夹中。

下面的示例应用程序实现您的要求:

\ BLP \ API \ APIv3 \ DotnetAPI \ v3.2.9.0 \例子\的WinForm \ C#\ SimpleIntradayBarExample

基本上,“核心”是这样的:

        Service refDataService = d_session.GetService("//blp/refdata");
        // create intraday bar request 
        Request request = refDataService.CreateRequest("IntradayBarRequest");
        // set request parameters
        request.Set("eventType", "TRADE");
        request.Set("security", "SPX Index");
        DateTime startDate = dateTimePickerStartDate.Value;
        DateTime endDate = dateTimePickerEndDate.Value;
        request.Set("startDateTime", new BDateTime(startDate.Year, startDate.Month, startDate.Day,
                startDate.Hour, startDate.Minute, startDate.Second, 0));
        request.Set("endDateTime", new BDateTime(endDate.Year, endDate.Month, endDate.Day,
            endDate.Hour, endDate.Minute, endDate.Second, 0));
        request.Set("gapFillInitialBar", True);
        request.Set("interval",60);
        // create correlation id
        CorrelationID cID = new CorrelationID(1);
        d_session.Cancel(cID);
        // send request
        d_session.SendRequest(request, cID);
        toolStripStatusLabel1.Text = "Submitted request. Waiting for response...";

并提交后,你必须采取彭博响应,分析它并使用它。

编码愉快。

编辑:

请找到C#示例代码和彭博社所做的相当于请求的结果。 只要记住,在时区的差异! 当你的代码在C#中,彭博库在UTC,在使用Excel加载项的时区为您的本地区域。



Answer 2:

您可能已经制定出来,但是你必须要小心你的时间的时区。

彭博盘中的时间均在格林尼治标准时间 - 我认为它在文档中的某个地方说这个。 这适用于"IntradayBarRequest""IntradayTickRequest"

铌,这是从不同的订阅实时数据(例如,使用SubscriptionSession ),它使用本地时区(如您的彭博终端机)。 也就是说,当然,除非你使用override "useGMT"



文章来源: Hourly Data using Bloomberg .Net API