0

当我将基于 Bloomberg COM 的 dll迁移到 .Net 中的 Bloomberg API v3时,我在匹配等效方法时遇到了一些问题。我尝试使用ReferenceDataRequest获取安全LMCADP 20150819 COMDTY,但价格不匹配。请建议应使用哪种类型的请求。

private void sendRefDataRequest(Session session)
    {
        Service refDataService = session.GetService("//blp/refdata");
        Request request = refDataService.CreateRequest("ReferenceDataRequest");

        // Add securities to request
        Element securities = request.GetElement("securities");

        for (int i = 0; i < d_securities.Count; ++i)
        {
            securities.AppendValue((string)d_securities[i]);
        }

        // Add fields to request
        Element fields = request.GetElement("fields");
        for (int i = 0; i < d_fields.Count; ++i)
        {
            fields.AppendValue((string)d_fields[i]);
        }

        System.Console.WriteLine("Sending Request: " + request);
        session.SendRequest(request, null);
    }

并增加了证券

if (d_securities.Count == 0)
        {
            d_securities.Add("IBM US Equity");
            d_securities.Add("LMCADP 20150819 COMDTY");
        }
4

1 回答 1

0

Bloomberg 的旧 ActiveX 控件中的 BLPSubscribe 会根据您传入的字段进行同步订阅或静态请求。如果您正在请求像 PX_LAST 这样的静态字段,那么 ReferenceDataRequest 将是获取数据的适当方式。

但是,如果您正在查看实时字段 LAST_PRICE,您会想要进行订阅(从 Subscription 对象构建一个 SubscriptionList,然后使用 Session.Subscribe(..))。

于 2015-08-12T11:26:30.603 回答