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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
5 1 1 4

Issue with IntradayPricingExtractionRequest only for some RIC codes.

Hello,

I have an issue related to IntradayPricingExtractionRequest for some RIC codes. The content field names and RIC code validation is successful. However while the ExtractWithNotes call returns results for the RIC code "BGN=", for another one "CIDKK1MD=" it just hangs.

The sample code in bellow:

        static void Main(string[] args)
        {
            var dssApiUri = new Uri("https://selectapi.datascope.refinitiv.com/restapi/v1/");
            List<string> contentFieldNames = new List<string>() { "RIC", "Trade Date", "Previous Close Date", "Previous Close Price" };
            var extractionsContext = new ExtractionsContext(dssApiUri, username, password) { Preferences = { RespondAsync = false } };
            
            var extractionResult = GetInstrumentIntradayData(extractionsContext, "BGN=", contentFieldNames);            
            //ProcessResults(extractionResult, contentFieldNames);
            extractionResult = GetInstrumentIntradayData(extractionsContext, "CIDKK1MD=", contentFieldNames);
            //ProcessResults(extractionResult, contentFieldNames);
        }

        public static ExtractionResult GetInstrumentIntradayData(ExtractionsContext extractionsContext, string ricCode, List<string> contentFieldNames)
        {
            // Check if field names are available
            var availableFieldNames = extractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.IntradayPricing);
            var unavailableFieldNames = contentFieldNames.Where(x => !availableFieldNames.Any(f => f.Name == x));
            if (unavailableFieldNames.Any())
                throw new Exception($"The following content fields are not available: {string.Join(", ", unavailableFieldNames)}");

            // Pre-Validate the instruments
            var validatedIdentifiers = extractionsContext.InstrumentListOperations.ValidateIdentifiers(
                new[] { new InstrumentIdentifier { Identifier = ricCode, IdentifierType = IdentifierType.Ric} }, 
                false);
            if (validatedIdentifiers.ValidationResult.ValidInstrumentCount != 1)
                throw new Exception($"The RIC identifier {ricCode} is not valid");

            // Extract data
            var extractionRequest = new IntradayPricingExtractionRequest
            {
                IdentifierList = InstrumentIdentifierList.Create(validatedIdentifiers.ValidatedInstruments.ToArray(), null, false),
                Condition = new IntradayPricingCondition() { ScalableCurrency = true },
                ContentFieldNames = contentFieldNames.ToArray()
            };

            return extractionsContext.ExtractWithNotes(extractionRequest);
        }

Thanks,

Andrei

dss-rest-apidatascope-selectdss
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 @datateam2017 ,

For me this query does not seem to complete, either.


I am running in asynchronous, the status on request is "Accepted" = 202, however, so far, the two that I have submitted did not complete, i.e. status remains accepted, pending completion.


I am going to investigate into this further, and update with the findings.

<AHS>

#10518617

Hello @datateam2017 ,

Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If yes, please click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

-AHS

1 Answer

· Write an Answer
Upvotes
Accepted
32.2k 40 11 20

Hello @datateam2017 ,

An investigation was conducted based on your question, and here are the results:

1. Why it hangs:

It is not hanging, but rather processing asynchronously by the service. Please see Key Mechanisms -> Asynch for more information. As you are specifying in code "RespondAsync = false" it hangs and you are unable to proceed.

2. Why does it take long:

In a common case this processing completes promptly however, this was not the case, and we have collaborated with our content expert to confirm the cause:

"due to embargo. The RIC <CIDKK1MD=> has an embargo applied from the source, due to which you are getting the error and no data found. Th embargo Notes says "Embargo delay for 1215 of 1440 possible minutes due to closed exchanges required by SDCIBOR (CIBOR Danish Benchmarks) for quotes from RCT". Once the embargo is complete, data will flow to the output result"

Embargos are a complex topic, for more insight see REST API Tutorial 3: On Demand intraday extraction, embargo and .Net SDK Tutorial 4: GUI control calls: Embargo, note files

3. Why is the content empty per your requested fields:

"we have very specific fields that gives results in the extraction, BID price to name as an example. I checked on Real-time to check the issue and found that fields that are reported for RIC <CIDKK1MD=> from source are very limited. For example, there is no ASK Price reported from source for this field. However, we have BID Price and primary Activity reported."

I hope that 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.

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.