Bloomberg C#API - 如何使用不同的选项/字段调用BDP

Ram*_*mya 2 bloomberg

我正在尝试从Excel加载项迁移到Bloomberg C#Desktop API.对于像BDP这样的简单调用("AB IB Equity","best_analyst_rating"),我可以毫无问题地使用这样的东西:

    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");
        securities.AppendValue("AB IB Equity");
        Element fields = request.GetElement("fields");
        fields.AppendValue("best_analyst_rating");
        System.Console.WriteLine("Sending Request: " + request);
        session.SendRequest(request, null);
    }
Run Code Online (Sandbox Code Playgroud)

但对于涉及BDP附加选项的更复杂的调用,如BDP("AB IB Equity","bs_tot_asset","EQY_Consolidated","Y","EQY_FUND_Relative_Period"," - 0FY"),我不知道如何将其转换为C#调用.感谢任何帮助.

ama*_*ent 6

您需要设置覆盖.对于任何给定的字段,您可以在Bloomberg终端中使用FLDS找到这些字段.

Element overrides = request.GetElement("overrides");
Run Code Online (Sandbox Code Playgroud)

然后循环执行必要的覆盖,将fieldId设置为FLDS中的助记符,并将值设置为您的特定请求:

Element override = overrides.AppendElement();
override.SetElement("fieldId","EQY_CONSOLIDATED");
override.SetElement("value","Y");
Run Code Online (Sandbox Code Playgroud)