Upgrade from Eikon -> Workspace. Learn about programming differences.

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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
5 0 1 3

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

1 Answer

· Write an Answer
Upvotes
Accepted
78.8k 250 52 74

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

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.