For a deeper look into our DataScope Select REST API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
7 1 0 0

What is the best way to obtain multiple ISINs search and their types

Hello!

I need to validate and retrieve the types of a list of ISINS, and as I've seen in the documentation, this can be done calling to InstrumentSearch and also with /Extractions/Extract endpoints.

I want to retrieve funds over equities for the same ISIN (for example with this ISIN: LU0099730524 I need the fund instrument instead of equity one) and do this for several ISIN's in the same Rest call.

¿Is there a flag to retrieve Funds over Equities in this endpoints? ¿What should be the best endpoint to retrieve this data?

Thanks!

dss-rest-apidatascope-selectdssisin
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @fb9dd865-89d8-4385-bc25-c2581ad89421

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?

If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Thanks,

AHS

Upvotes
Accepted
13.7k 26 8 12

@fb9dd865-89d8-4385-bc25-c2581ad89421,

Instrument Search

For the use case you describe you need to use the InstrumentSearch call, it gives you the instrument type for all results.

This approach has limitations:

  • There is no setting to privilege one type (like fund) over another (like equity). The InstrumentTypeGroups parameter is a filter to reduce the output to one (or several) types; all that are mentioned could potentially return results.
  • I recommend you only use 1 ISIN at a time. There is an issue with using several ISINs in the Identifier field of the InstrumentSearch call: there is no way of clearly identifying which result matches which input, because: 1) The output does not contain the input ISIN. 2) Outputs are not in the same order as inputs. 3) There can be several (many) outputs for a single input.

In other words, the solution I see would be to run InstrumentSearch calls for all ISINs, but with only 1 ISIN per call. Note that you can run several calls in parallel, as long as you respect the product limitations documented in the Best practices and Limits document. Then filter result sets that contains several instrument types to keep what you want.

Other extraction requests

All extraction requests allow for larger input lists, but none has the type of flag you would like to privilege an instrument type over an other, or to limit results to specific types. Such filters are only available in Search calls; the underlying idea is to use the Search calls to find the RICs you want, then use those RICs in data extractions.

The Composite, Ratings and Terms and Conditions calls all deliver 2 fields that might be of interest ("Instrument Type Code", and "Instrument Type Code Description"), but when I tried a Terms and Conditions call for ISIN LU0099730524, the returned values for those 2 fields were null, so that does not help us.

Using ISINs in extractions

I do not recommend using ISINs in extraction calls, I prefer converting to RICs first. This because our data bases are RIC centric, and to avoid instrument expansion (depending on the call you will receive either the primary RIC, or all RICs corresponding to the ISIN). On this topic, you might be interested in this article on converting ISINs to RICs.

UseExchangeCodeInsteadOfLipper

From the user guide, page 38:

Use Exchange Codes Instead of Lipper as Mutual Fund Default Source

This preference applies to importing secondary identifiers without a price source. When selected, DataScope Select retrieves exchange-sourced pricing and reference data facts for the mutual funds in your import files.

Clear this option to retrieve Lipper-sourced values for the mutual funds in your import files. Note that access to Lipper data requires additional permissioning from Refinitiv. No data is returned in your extractions if you select this option and you are NOT permissioned for Lipper data.

I'm not a data specialist, but I don't believe this option will deliver what you seek. If you want to dig deeper on this, I suggest you open a content-related enquiry via MyRefinitiv or call the Refinitiv Help Desk directly.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
13.7k 26 8 12

@fb9dd865-89d8-4385-bc25-c2581ad89421,

If I understand correcrtly, you want to:

  1. Validate ISINs as funds
  2. Retrieve their corresponding RICs.

As far as I know, there is no call to do this in one go for several ISINs. The calls I can think of here are all for single instruments.

1. To validate an ISIN you can use Search/FundSearch:

{
  "SearchRequest": {
    "AssetStatus": "Active",
    "AssetCategoryCodes": null,
    "SubTypeCodes": null,
    "CurrencyCodes": null,
    "CompanyName": null,
    "Description": null,
    "DomicileCodes": null,
    "ExchangeCodes": null,
    "FairValueIndicator": null,
    "FileCodes": null,
    "GicsCodes": null,
    "OrgId": null,
    "Ticker": null,
    "Identifier": "LU0099730524",
    "IdentifierType": "Isin",
    "PreferredIdentifierType": null
  }
}

The result validates it is a fund:

{
    "@odata.context": "https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Collection(ThomsonReuters.Dss.Api.Search.FundSearchResult)",
    "value": [
        {
            "Identifier": "LU0099730524",
            "IdentifierType": "Isin",
            "Key": "VjF8MHgwMDAzZjgwNmViNjYwNDc0fE1GUVV8TFUwMDk5NzMwNTI0fElTTg",
            "Description": "Deutsche Inst Money plus IC",
            "InstrumentType": "Fund",
            "FundName": "Deutsche Inst Money plus IC",
            "FundAdministrator": "Deutsche Asset Management S.A.",
            "PortfolioManager": "Deutsche Asset Management S.A.",
            "DomicileCode": "LU",
            "CurrencyCode": "EUR",
            "InvestmentType": "Money Market",
            "SubType": "ClosedEndFund",
            "AssetStatus": "Active",
            "IssuerName": "",
            "IssuerOrgId": "101666127"
        }
    ]
}

2. To convert an ISIN to a fund RIC (and validate it simultaneously) you can use Search/InstrumentSearch, and filter results to return only funds by setting the instrument type to Funds:

{
  "SearchRequest": {
    "InstrumentTypeGroups": [ "Funds" ],
    "Identifier": "LU0099730524",
    "IdentifierType": "Isin",
    "PreferredIdentifierType": "Ric"
  }
}

The result contains the RIC of the fund, and shows it is a fund (so this could also be considered as a validation):

{
  "@odata.context": "https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Collection(ThomsonReuters.Dss.Api.Content.ValidatedInstrument)",
  "value": [
    {
      "Identifier": "LP60033435",
      "IdentifierType": "Ric",
      "Source": "LIP",
      "Key": "VjF8MHgwMDAzZjgwNmViNjYwNDc0fDB4MDAwM2Y4MDZlYjY2MDQ3NHxMSVB8TUZRVXxNVExGfE1UTEZ8Rnx8TFA2MDAzMzQzNXxGVU5E",
      "Description": "Deutsche Inst Money plus IC",
      "InstrumentType": "MutualFundQuote",
      "Status": "Valid"
    }
  ]
}

Does this help ?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
7 1 0 0

Thank you Christiaan for your fast reply, yes this helps!

Basically I want to:

1.Validate a list of mixed types ISINS (funds, equities, govcorps etc..) and get their types (in one rest call if posible).

2.For those identifiers that have more that one type (LU0099730524 is fund but also equity), I want the result to tell me that they are FUNDS instead of equities, or both and I could filter the results.

The problem with Search/InstrumentSearch is that only accepts a 50 characters long comma separated list of identifiers, so I only can validate 4 o 5 Isins at a time.

With the EndOfDayPricingExtractionRequest extract method, I can send a bigger list of identifiers in one call, but I don't know If I can set something like this PreferredIdentifierType flag that you told me to get Funds over equities, or use any other type of extraction to achieve this.

In my tests, If I call to this extract method with the ISIN LU0099730524 and the option "UseExchangeCodeInsteadOfLipper": false I receive the Fund, but if I call with "UseExchangeCodeInsteadOfLipper": true I receive the Equity.

¿Should I use this flag to get Funds over Equities? or ¿Is there any config in the request to retrieve both types?

Thanks!

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.