question

Upvotes
Accepted
16 1 1 2

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)


#technology#contentdsws-api
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
Accepted
78.1k 246 52 72

@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.


1670991031596.png (5.1 KiB)
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
78.1k 246 52 72

@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.


1670906954477.png (7.6 KiB)
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.

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.

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.