For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

bshapiro avatar image
3 0 0 1

Descrepancies found in Price Targets returned from get_data query

I have been using Reuters Python API to request brokerage recommendation and price target data for certain stocks.

I need the data to be correct, so I have been cross referencing some of the results returned from the API with the Reuterts terminal and brokerage notes, the original source of the recommendations.

I have found multiple discrepancies with price targets returned from the API, with issues including:


1. Price targets assigned to brokerages without a price target

2. Price targets differ between terminal and API

3. Price target from API is incorrect


For example, I run the following get_data query requesting fields including brokerage name and price target for symbol 'NSC':


fields = [

              'TR.RecLabelEstBrokerName',

              'TR.TPEstvalue', 'TR.TPEstValue.date',

              'TR.BrkRecLabel', 'TR.BrkRecLabel.analystname',

              'TR.RecEstValue'

             ]

data = ek.get_data(instruments=['NSC'], fields=fields, raw_output=True)

print(data)


At the time of posting, the following data is returned for Evercore, Argus, and Wells Fargo:

screenshot-35-min.png


screenshot-36-min.png


The correct price targets for these brokerages should be:

1. Evercore: $278

2. Wells Fargo: $340

3. Argus: No PT


Note: the price target for Wells Fargo is both incorrect and different from the terminal. Also, it is suspiciously the correct price target for Evercore...


The correct data is properly displayed in the Reuters terminal but NOT the API.

When reaching out to Reuters Support, they confirmed that the correct data was displayed in Eikon, so I'm pretty sure this is an API issue.


Is this a backend data issue that can be resolved?


eikon-data-apiissue
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Jirapongse avatar image
45.2k 103 43 60

@bshapiro

You need to use the TR.TPEstvalue.brokername and TR.TPEstvalue.analystname fields instead.

fields = ['TR.TPEstvalue.brokername',
          'TR.TPEstvalue',
          'TR.TPEstValue.date',
          'TR.TPEstvalue.analystname'] 
data,err = ek.get_data(instruments=['NSC'], fields=fields, raw_output=False)
 
data

The output is:

1653623125358.png

You can use the Data Item Browser tool to check all available sub-fields of the TR.TPEstvalue field.

1653623237884.png


1653623125358.png (17.8 KiB)
1653623237884.png (27.8 KiB)
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.