question

Upvotes
Accepted
1 2 2 2

Not able to retrieve correct dates from historical-pricing API via rdp.Endpoint

Hi

I am trying to pull historical prices directly from API in codebook, but instead of given dates I am only receiving last 20 prices. I am aware of existence of rdp.get_historical_price_summaries('') but this way I am not able to retrieve defaultPricingField which is available in API response and which I need too for further data processing. Could you help with setting interval and start/end parameters correctly so that it returns correct data?


import refinitiv.dataplatform as rdp
session = rdp.open_desktop_session('DEFAULT_CODE_BOOK_APP_KEY')

endpoint = rdp.Endpoint(session, 'https://api.refinitiv.com/data/historical-pricing/v1/views/interday-summaries/VOD.L?interval=P1W&start=2020-05-13&end=2021-05-13')
response = endpoint.send_request('GET)
response.data.raw[0]['data']



@marcin.bunkowski

pythonrdp-apirefinitiv-data-platformcodebookprice-history
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.

Hi moderators,
I'm having a stab at this one.

Don't hit it too hard :-)

Hello @katarzyna.olenycz

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar 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


1 Answer

· Write an Answer
Upvote
Accepted
5.7k 21 2 6

Hi @katarzyna.olenycz,


Looking through the Refinitiv Developer's Q&A site, I found this answer which helped me in writing the bellow code. Please do let me know if it outputs satisfactory results answering your question - it returns data in the date range you requested:


import pandas as pd
import refinitiv.dataplatform as rdp
rdpsession = rdp.open_desktop_session('DEFAULT_CODE_BOOK_APP_KEY')
endpoint = rdp.Endpoint(session = rdpsession,
                        url = 'https://api.refinitiv.com/data/historical-pricing/v1/views/interday-summaries/VOD.L?interval=P1W&start=2020-05-13&end=2021-05-13')
response2 = endpoint.send_request(
    method = rdp.Endpoint.RequestMethod.GET,
    query_parameters = {
        'start': '2020-05-13T00:00:00.000000000Z',
        'end': '2021-05-13T00:00:00.000000000Z'})
if response2.is_success:
    headers = [h['name'] for h in response.data.raw[0]['headers']]
    df2 = pd.DataFrame(data = response2.data.raw[0]['data'], columns = headers)
display(df2)

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.

N.B.: I was able to reproduce the issue brought forward with the following code:


import pandas as pd
import refinitiv.dataplatform as rdp
rdpsession = rdp.open_desktop_session('DEFAULT_CODE_BOOK_APP_KEY')
endpoint = rdp.Endpoint(session = rdpsession,
                        url = 'https://api.refinitiv.com/data/historical-pricing/v1/views/interday-summaries/VOD.L?interval=P1W&start=2020-05-13&end=2021-05-13')
response1 = endpoint.send_request('GET')
if response1.is_success:
    headers = [h['name'] for h in response1.data.raw[0]['headers']]
    df1 = pd.DataFrame(data = response1.data.raw[0]['data'], columns = headers)
display(df1)

Hi Jonathan

This works perfectly, thank you!

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.