使用Bloomberg在Java中的特定时间获得最后交易

时间:2012-09-05 18:12:34

标签: java bloomberg

使用Bloomberg开放API。如何在特定日期和时间获取PX_LAST值?

我可以使用以下方式获得特定日期的最后交易(实际上是收盘价)

Request request = refDataService.createRequest(historicalData);
request.getElement("securities").appendValue("IBM US Equity");
request.getElement("fields").appendValue("PX_LAST");

String date = "20120801";
request.set("startDate", date);
request.set("endDate", date);

现在我需要知道特定日期和时间的PX_LAST。例如,8月1日9:45的现行交易价格是多少?

1 个答案:

答案 0 :(得分:1)

一种方法是使用以下参数创建IntradayBarRequest请求:

request.set("security", ticker);
request.set("eventType", EventType.TRADE);
request.set("interval", 1);
request.set("gapFillInitialBar", true);
request.set("startDateTime", startDate);
request.set("endDateTime", startDate);

startDate = "2012-08-01T09:45:00"

请注意,在我的时区,我没有得到9:45的任何东西,但我确实得到了15:45的东西(参见你之前的问题)。

如果您使用Joda的DateTime,您可以使用以下模式:

private static final DateTimeFormatter bbDateFormat = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");

DateTime start = new DateTime(2012, 8, 1, 15, 45, 0, 0);
String bbStartDate = startDate.toString(bbDateFormat);
request.set("startDateTime", bbStartDate);