How to make DSS API fetch the correct RIC from a list of 3?

I'm using DSS API dlls to fetch a list of Rics from a list of Isins.
However, the DSS API is fetching the first row from the list. But how to know if it is the right one?

My code:

var extractionRequest = new TermsAndConditionsExtractionRequest
{
    IdentifierList = InstrumentIdentifierList.Create(instrumentIdentifierList, null, false),
    ContentFieldNames = new[] { "RIC", "Trading Status" }
};

var extractedRows = ExtractionsContext.Extract(extractionRequest).ToArray();


What DDS API is fetching:

image


From Datascope Select:

image

In the list above, there are 3 RICs but the API is fetching only the first one.

Is this the right one?

How to know it?






Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @everton.solon

    From my checking, BRBMEFBGI5M6 can be mapped to the following RICs: [BGIU20, 1BGIU20, 2BGIU20].

    Refer to the ISIN to RIC conversion with the DSS (DataScope Select) REST API article, TermsAndConditionsExtractionRequest can be used to retrieve a primary RIC for an ISIN.

    To get all RICs for an ISIN, you need to use other endpoints, such as SearchContext.InstrumentSearch.

    For example:

    {
      "SearchRequest": {
        "InstrumentTypeGroups": [
          "CollatetizedMortgageObligations", "Commodities", "Equities", "Funds",
          "FuturesAndOptions", "GovCorp", "Money", "MortgageBackedSecurities",
          "Municipals"
        ],
        "IdentifierType": "Isin",
        "Identifier": "BRBMEFBGI5M6",
        "PreferredIdentifierType": "Ric"
      }
    }

    The above request returns:

     "value": [
            {
                "Identifier": "1BGIU20",
                "IdentifierType": "Ric",
                "Source": "BMF",
                "Key": "VjF8MHgwMDEwMGIwMDFmNTYwNzg3fDB4MDAxMDBiMDAxZjU2MDc4OHxCTUZ8REVSVnxERVJWfEZVVHxEfHwxQkdJVTIwfDUwNTU",
                "Description": "BGI OTFCTPL",
                "InstrumentType": "Derivative",
                "Status": "Valid"
            },
            {
                "Identifier": "2BGIU20",
                "IdentifierType": "Ric",
                "Source": "BMF",
                "Key": "VjF8MHgwMDEwMGIwMDFmNTYwNzg3fDB4MDAxMDBiMDAxZjU2MGVjMHxCTUZ8REVSVnxERVJWfEZVVHxEfHwyQkdJVTIwfDU0MTg",
                "Description": "BGI OTFCTPL",
                "InstrumentType": "Derivative",
                "Status": "Valid"
            },
            {
                "Identifier": "BGIU20",
                "IdentifierType": "Ric",
                "Source": "BMF",
                "Key": "VjF8MHgwMDEwMGIwMDFmNTYwNzg3fDB4MDAxMDBiMDAxZjU2MTA4YnxCTUZ8REVSVnxERVJWfEZVVHxEfHxCR0lVMjB8NTQxOA",
                "Description": "BGI OTFCTPL",
                "InstrumentType": "Derivative",
                "Status": "Valid"
            }
        ]

    For more information, please refer to REST API Reference Tree.

Answers

  • @jirapongse.phuriphanvichai


    "Refer to the ISIN to RIC conversion with the DSS (DataScope Select) REST API article, TermsAndConditionsExtractionRequest can be used to retrieve a primary RIC for an ISIN."


    Article:

    "A TermsAndConditionsExtractionRequest delivers for each input ISIN the primary RIC (except if you specified the source, see next section). It is also possible to retrieve the currency and exchange code.

    A single call suffices for multiple ISINs."


    My code:

    In the line below, I'm using TermsAndConditionsExtractionRequest as mentioned in this post.

    var extractionRequest = new TermsAndConditionsExtractionRequest
    {
        IdentifierList = InstrumentIdentifierList.Create(instrumentIdentifierList, null, false),//<- instrumentIdentifierList, validationOptions, useUserPreferencesForValidationOptions
        ContentFieldNames = new[] { "RIC", "Trading Status" }
    };
     
    var extractedRows = ExtractionsContext.Extract(extractionRequest).ToArray();

    However, it is not fetching for the primary RIC.