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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
3 0 1 2

How do I get Index Constituents via DSS C# API?

I would like to retrieve e.g. all Index Constituents for the "Austria 20" (RIC .ATX).

As far as I understand I would need the Chain RIC of this index - could I dreive the Chain RIC from the RIC ".ATX"?

And once I have the Chain RIC - which method(s) in the DSS C# API shoiuld I use to request all its constituents (and preferrably number of shares)?

dssc#indexconstituents
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
Accepted
31.7k 37 11 19

Hello @some_one ,

To determine constituents:

Try RIC 0#.ATX:

{
  "Request": {
    "ChainRics": [
      "0#.ATX"
    ],
    "Range": {
      "Start": "2022-03-03T00:00:00.000Z",
      "End": "2022-03-03T00:00:00.000Z"
    }
  }
}

in .NET SDK use:

var dateRange = DateTimeRange.Create(
    new DateTimeOffset(2008, 01, 01, 0, 0, 0, TimeSpan.Zero),
    new DateTimeOffset(2016, 01, 01, 0, 0, 0, TimeSpan.Zero));
var request = new HistoricalChainResolutionRequest
{
    ChainRics = new[] { "0#HO:" },
    Range = dateRange
};

// Resolve constituents
var results = SearchContext.HistoricalChainResolution(request);

Next you can use the request/requests that have the content you are looking for per constituent.

You can look up the required DSS content in Refinitiv DataScope Select Data Content Guide. I think likely it will be Terms and Conditions request, if it is, please see .Net SDK Tutorial 8: On Demand: Terms & Conditions with the detailed information on how to progress.

If you are getting started with DSS .NET SDK I would also recommend reviewing Introductory Tutorials-> Tutorials Introduction and .NET-> Connecting to the DSS Server tutorials.

Hope this information helps

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
3 0 1 2

Hello & Thanks for answering @zoya faberov !

I tried to use

SearchContext.HistoricalChainResolution(request)


but unfortunately got "The user does not have permission to perform the requested operation."

Until now we only ever used the

ExtractionContext

class which seems to work with our credentials (e.g. to get Reference Data).

Is it also possible to use the following to get the Index constituents or is this something else entirely? (Please keep in mind that I'm just a developer and have no broad knowledge about the actual data here. I only know that I am supposed to get Index constituents back...)

var tacRequest = new TermsAndConditionsExtractionRequest
{
IdentifierList = InstrumentIdentifierList.Create(
new[]
{
new InstrumentIdentifier { Identifier = "0#.ATX", IdentifierType = IdentifierType.ChainRIC }}


}, null, false),
ContentFieldNames = { "RIC" },
Condition = new TermsAndConditionsCondition
{
IssuerAssetClassType = IssuerAssetClassType.Equities,
ExcludeWarrants = false
}
                };
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
31.7k 37 11 19

Hello @some_one ,

You can absolutely use TermsAndConditions request to expand the chain - you can see on your side it being expanded, right?

However, in terms of Number of Shares field, there are several fields that include Number of Shares in description in TermsAndConditions template per Refinitiv DataScope Select Data Content Guide but, being a developer myself, I am not sure if either of these (please see the descriptions) is what you are looking for.

Other request types may also accept ChainRIC as identifier and may be the content that you are looking for.

In Content Guide, I see very likely looking fields in Intraday Pricing and in Composite. For example:

Intraday Pricing: Amount Outstanding: Number of shares outstanding.

{
  "ExtractionRequest": {
    "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.IntradayPricingExtractionRequest",
    "ContentFieldNames": [
       "RIC", 
       "Amount Outstanding"
    ],
    "IdentifierList": {
      "@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",  
      "InstrumentIdentifiers": [
      { "Identifier": "0#.ATX", "IdentifierType": "ChainRIC" }
      ]
    },
    "Condition": { "ScalableCurrency": true }
  }
}

If this is what you are looking for, both of these will likely be subject to embargo. You may wish to find more about embargoes in What is an embargo ? .

If you are not able to pinpoint the content that you are looking for, and at times when you have a question about Refintiiv content, would suggest engaging Refinitiv DSS content experts directly via Refinitiv Helpdesk Online -> Content -> DSS and providing all the details, they will be able to best help you with Refinitiv content, while this forum will be more helpful with Refinitiv API usage.

Let us know if you are able to proceed, or would like a hand to open a content case on your behalf?


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
3 0 1 2

Hi @zoya faberov!

Thanks again - everything works great, I am using the ThermsAndConditions request successfully.

Only two question left:

1) is there a limit to how many chain RICs I should submit in a single request (so should I break up into junks and then multithread)?

2) probably one for the content team (I will open a support case):
I requested the chain for "0#.IBEX" which is the "Spain 35" index and got some very strange RIC codes back:

.DJI
EUR=X
EURGBP=R
.IBEX
.AD.IBEX


Other than that the 35 actual IBEX Constituents also came back. But the above 5 (excep t".IBEX") don't make a lot of sense to me...

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
31.7k 37 11 19

Hello @some_one ,

Please find DSS API Extraction Limits:

Terms and Conditions:
50000 instruments before file code and chain expansion;
250000 after file code and chain expansion.
1000 legal entities before file code and chain expansion.

You are absolutely correct- if the content is not as you expect, Refinitiv content experts via Refinitiv Helpdesk Online will be able to best assist you with the understanding of the content.

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.