1

BloombergJavaAPIから特定のデータフィールドを取得しようとしています。開発者ガイドから、次のフィールドでいくつかのフィールドを取得できることがわかります。

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日の始値、および8月26日の午前9時から午前11時までのVWAP量を取得したいと思います。

4

1 に答える 1

2

「HistoricalDataRequest」リクエストを作成する必要があります。

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

次に、開始日と終了日を指定できます。

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

あなたの場合、開始日と終了日は、最初のリクエストでは8月27日、2番目のリクエストでは8月26日になります。

ただし、フィールド(VWAP_START_TIMEおよびVWAP_END_TIME)をオーバーライドして、履歴リクエストでVWAPを午前9時から11時までに制限する方法がわかりません。参照データの場合は、以下のコードのようにスモーキングします。履歴リクエストでも機能する可能性があります。

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");
于 2012-08-28T14:42:13.047 に答える