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.

@HITMAN_G

Hi,

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most 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

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,


AHS


Upvotes
Accepted
78.7k 248 52 74

@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.7k 248 52 74

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