我试图从彭博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日。
您需要创建一个“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_TIME
和VWAP_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");