Datastream DSWS: fundamentals date

Hi - I'm using WC07240 (Net Sales), but I have a problem when I set the variable dtAsOfDate to previous business day which gives me NA for my stocks. I want to see the relevant value + date for this item for my stocks - but how can I get this?

Date = new DSSnapshotDate(DSDateType.Absolute(dtAsOFDate)


Best Answer

  • @HITMAN_G

    Please try the following code.

    var DataRequest = new DSDataRequest()
                {
                    Instrument = new DSInstrument(new string[] { "U:IBM","Q:PTTB" }),
                    DataTypes = new DSDataTypes("WC07240"),
                    Date = new DSTimeSeriesDate(DSDateType.Literal(DSDateLiterals.YearToEnd), DSDateType.Literal(DSDateLiterals.Time), DSDateFrequency.Yearly)
                    //Date = new DSSnapshotDate(DSDateType.Literal(DSDateLiterals.YearToEnd))
                };

    The output is:

    1670991031596.png

    If it still doesn't work, please contact the Datastream support team directly via MyRefinitiv and ask for the formula and parameters used to retrieve the required data. It could be parameters for the Datastream Excel-Addin. Then, we can use the same parameters in the .NET code.

Answers

  • @HITMAN_G

    Thanks for reaching out to us.

    To get dates, you may use the TimeSeries request instead.

    The code looks like this:

     var DataRequest = new DSDataRequest()
                {
                    Instrument = new DSInstrument("U:IBM"),
                    DataTypes = new DSDataTypes("WC07240"),
                    Date = new DSTimeSeriesDate(DSDateType.Literal("-2Y"), DSDateType.Literal(DSDateLiterals.LatestDate), DSDateFrequency.Yearly),
                    //Date = new DSSnapshotDate(DSDateType.Literal(DSDateLiterals.LatestDate))
                };


                var response = DSClient.DataService.GetData(DataRequest);


                for(int i = 0;i <  response.Dates.Length; i++)
                {
                    Console.WriteLine("{0}: {1}",response.Dates[i],response.DataTypeValues[0].SymbolValues[0].GetValue<double[]>()[i]);
                }

    The output is:


    1670906954477.png

    From the output, the data for 2022 is not available.

    I hope this will help.

  • Thanks Jirapongse.

    What I really do want is the LAST (LATEST) reported FY0, so for IBM example would be 2021. What is the code that would be point to this? I have a number of stocks so don't want to see NaN as you would see above as the 'latest date'. Thanks, HG.