We are new to Datascope Select and we need to retrieve CDOR rate details template from Datascope ...

Gopi Jaladi
Gopi Jaladi Newcomer
We are new to Datascope Select and we need to retrieve CDOR rate details template from Datascope select. Could please help me how to create to extract CDOR rate details in datascope select from URL or Through Rest API C# sample ?

Best Answer

  • Christiaan Meihsl
    Answer ✓

    Determining the instrument RIC

    The first thing is to determine which RIC contains the Canadian Dollar Offered Rate (CDOR) you are interested in. There are actually several, which you can find by using our Eikon product, or the RIC search tool in this portal, and typing CDOR as search criteria.

    Here is a potential candidate result : CADBAFIX=

    That said, please note this forum is aimed at software developers using Refinitiv APIs. The moderators on this forum do not have the required deep expertise in all the content sets available through our products to precisely answer your question. I advise you to call the Refinitiv Helpdesk number in your country. They will either have the answer for you right away, or will reach out to the content experts who can provide the answer you're looking for.

    Requesting data for a RIC

    Once you have the RIC(s) you need, you can request the data. You do not specify what "details" you are interested in, so I'll give you a generic answer: when you want to find a specific data field, you should check the DSS Data Content Guide. Open tab "Field Descriptions", and use a text filter on column D or E to display only the rows that "contain" a keyword that defines what you are looking for. The results will show in column C which templates (request types) will deliver that field. Base on that you can request the data, using either the GUI or the API. Our tutorials show many examples of data requests.

Answers

  • Hi @Gopi Jaladi

    Just to expand on Christiaan's response, if you need official Content, Product or other support you can contact our Helpdesk to raise a Case by signing-up to MyRefinitiv the self-service portal. This would be the best approach if you want to confirm which constituent RICs/Chain RICs or File Codes to use.

    In DSS that you can also use File Codes to add into the instrument list:

    https://hosted.datascope.reuters.com/datascope/search/default.aspx?scr=IPC

    File Codes for CDOR appear to be 172 ('real-time' RIC constituents), or 3487 ('delayed' RIC constituents)

    In DSS you can also search for the Chain RICs (exact match search only) here: https://hosted.datascope.reuters.com/datascope/search/default.aspx?scr=CHN, ie. CADBAFIX=

    https://hosted.datascope.reuters.com/DataScope/details/CHR_Q0FEQkFGSVg9%5EEN?key=0x1000000000000000_0x1000000000000000_N/E_H_CHR____CHR_CHR#valid-constituents

    It is also worth mentioning that depending on if using 'real-time' or 'delayed' you may get some embargo, suppressed or other messages printed out in the DSS Notes file post-extraction. If there are any permission messages related to the RICs it is worth raising with your Refinitiv Account Manager to discuss these further.

  • On-Demand Intraday Pricing request example using File Code 172:

    //Create the request
    var extractionRequest = new IntradayPricingExtractionRequest
    {
    IdentifierList = InstrumentIdentifierList.Create(
    new[] { new InstrumentIdentifier { Identifier = "172", IdentifierType = IdentifierType.FileCode } }, null, false),
    Condition = new IntradayPricingCondition { ScalableCurrency = true },
    ContentFieldNames = new[] {
    "Instrument ID", "Instrument ID Type", "RIC", "PE Code", "Exchange Code", "File Code", "Asset Type", "Currency Code", "Trade Date", "Bid Price",
    "High Price", "Low Price", "Open Price",
    "Previous Close Date", "Previous Close Price", "Security Description" }
    };

    //Extract - NOTE: If the extraction request takes more than 30 seconds the async mechanism will be used. See Key Mechanisms
    var extractionResult = ExtractionsContext.ExtractWithNotes(extractionRequest);
    var extractedRows = extractionResult.Contents;

    //Output
    if (!extractedRows.Any())
    Debug.WriteLine("No rows returned");
    else
    {
    foreach (var row in extractedRows)
    Debug.WriteLine(
    row.Identifier + " (" + row.IdentifierType + ") " +
    String.Join(", ", row.DynamicProperties.Select(dp => dp.Key + "=" + dp.Value)));
    }
    //Output Notes
    Debug.WriteLine("NOTES:");
    foreach (var note in extractionResult.Notes)
    Debug.WriteLine(note);
  • Hi Gareth.teage,

    Thanks a lot for your response.We are able to extract daily CDOR rates using your File Code 172:. But we need to extract CDOR rates for specific date? is it possible to extract past CDOR rates from datascope using Rest API?

    Is there any sample code to retrieve old CDOR rates from datascope using rest api?.

    Thanks in advance

  • @Gopi Jaladi

    Hi Gopi,

    To access historic rates you'll need access to one of the following templates which contain historic end of day prices:

    - Price History (Date Range)

    - Single Price History (Single Date)

    or the templates:

    - Timeseries Pricing (Date Range)

    - Single Historical Price (Single Date)

    Access to these can be checked via the DSS GUI: https://hosted.datascope.reuters.com/ at: https://hosted.datascope.reuters.com/DataScope/preferences/default.aspx?tab=Permissions

    Best regards,

    Gareth

  • An modified example of this for date range 1st Dec 2015 to 2nd Dec 2015 would be:

    //Create the request
    var extractionRequest = new PriceHistoryExtractionRequest()
    {
    IdentifierList = new InstrumentIdentifierList()
    {
    InstrumentIdentifiers = new[] { new InstrumentIdentifier { Identifier = "172", IdentifierType = IdentifierType.FileCode } }
    },
    Condition = new PriceHistoryCondition()
    {
    QueryStartDate = new DateTimeOffset(new DateTime(2015, 12, 1)),
    QueryEndDate = new DateTimeOffset(new DateTime(2015, 12, 2)),
    LastEntityOnly = false
    },
    ContentFieldNames = new[]
    {
    "Instrument ID Type", "Instrument ID", "Usage Instrument Type", "Usage Instrument SubType", "RIC", "Trade Date", "Universal Close Price"
    }
    };

    //Extract - NOTE: If the extraction request takes more than 30 seconds the async mechansim will be used. See Key Mechanisms
    var extractionResult = ExtractionsContext.ExtractWithNotes(extractionRequest);
    var extractedRows = extractionResult.Contents;

    //Output
    if (!extractedRows.Any())
    Debug.WriteLine("No rows returned");
    else
    {
    foreach (var row in extractedRows)
    Debug.WriteLine(
    row.Identifier + " (" + row.IdentifierType + ") " +
    String.Join(", ", row.DynamicProperties.Select(dp => dp.Key + "=" + dp.Value)));
    }
    //Output Notes
    Debug.WriteLine("NOTES:");
    foreach (var note in extractionResult.Notes)
    Debug.WriteLine(note);