使用Java拿到过具体日期彭博领域(Using Java to get Bloomberg fiel

2019-09-28 02:27发布

我试图从彭博Java API的具体数据字段来拉。 我看到从开发人员指南,我可以在一些领域拉:

Request request = refDataSvc.createRequest("ReferenceDataRequest");
request.getElement("securities").appendValue("AAPL US Equity");
request.getElement("securities").appendValue("IBM US Equity");

request.getElement("fields").appendValue("PX_LAST"); // Last Price
request.getElement("fields").appendValue("DS002"); // Description
request.getElement("fields").appendValue("VWAP_VOLUME");
session.sendRequest(request, new CorrelationID(1));

我怎样才能让这样同时获得一些字段的在特定日期范围内的电话吗? 例如,我想获得的:最后交易价格,最后交易量,开盘价为2012年8月27日,和VWAP体积上午9时和上午11时之间8月26日。

Answer 1:

您需要创建一个“HistoricalDataRequest”要求:

Request request = refDataSvc.createRequest("HistoricalDataRequest");

然后,您可以指定开始日期和结束日期:

DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyyMMdd");
request.set("startDate", startDate.toString(fmt));
request.set("endDate", endDate.toString(fmt));

在你的情况下,开始日期和结束日期将是27月的第一个请求,26月为第二位。

但是,我不知道如何可以覆盖领域( VWAP_START_TIMEVWAP_END_TIME )来限制你的VWAP到上午9至11的历史请求,你会做smoething如下面的代码引用数据-它可能会为历史请求工作过:

Element overridesElt = request.getElement("overrides");
Element override = overridesElt.appendElement();
override.setElement("fieldId", "VWAP_START_TIME");
override.setElement("value", "09:00:00");

override = overridesElt.appendElement();
override.setElement("fieldId", "VWAP_END_TIME");
override.setElement("value", "11:00:00");


文章来源: Using Java to get Bloomberg fields over specific dates