question

Upvotes
Accepted
5 4 3 4

Using the MarketSession parameter in RDP HistoricalPricing endpoint

Hello team,

I am trying to retrieve HistoricalPricing events using rdp.HistoricalPricing.get_events and I would like to specify the MarketSession, but I am getting an error,

Can you please help me build this request?

Thank you for your help


rdp-apirefinitiv-data-platformrefinitiv-data-platform-libraries
marketsession.png (39.2 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.

Upvote
Accepted
53.2k 138 44 63

@mahjoub.faraj

The get_events method in the RDP library doesn't have the sessions property. However, you can directly send a request to the /data/historical-pricing/v1/views/events/ endpoint to get the data.

import pandas as pd
endpoint = rdp.Endpoint(
    session = rdp.get_default_session(), # Optional
    url = "/data/historical-pricing/v1/views/events/VOD.L")
response = endpoint.send_request(
    method = rdp.Endpoint.RequestMethod.GET,
    query_parameters={
                
        'eventTypes': 'trade',        
        'start': '2021-03-15T00:00:00.000000000Z',
        'end': '2021-03-16T00:00:00.000000000Z',
        'sessions': 'normal'
    }
)
if response.is_success:
    headers = [h['name'] for h in response.data.raw[0]['headers']]
    df = pd.DataFrame(data=response.data.raw[0]['data'], columns=headers)
    display(df)
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
25k 87 10 22

Hi @mahjoub.faraj

Looking at the help for the Historical Pricing, the sessions parameter is only valid with summaries data e.g.

rdp.get_historical_price_summaries(
    universe = 'IBM.N', 
    interval = rdp.Intervals.ONE_MINUTE,    
    count = 500,
    sessions = [
        rdp.MarketSession.PRE, 
        rdp.MarketSession.NORMAL, 
        rdp.MarketSession.POST
    ]
) 

or

response = rdp.HistoricalPricing.get_summaries(
    universe = 'IBM.N', 
    interval = rdp.Intervals.ONE_MINUTE,    
    count = 500,
    sessions = [
        rdp.MarketSession.PRE, 
        rdp.MarketSession.NORMAL, 
        rdp.MarketSession.POST
    ]
)   
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
5 4 3 4

Thank you both for your answers!

@umer.nalla : the reference reads: "The sessions parameter represents a list of interested official durations in which trade and quote activities occur for a particular universe. The parameter is only available in intraday-summaries, events and single-event APIs and its possible values include"

I expect the feature to be available in the events api...


@jirapongse.phuriphanvichai

I tried your code and it works well! Thanks for that

That said, the python library suggest the feature (should) exist: a session parameter shows in the auto suggest as well as the sessions values enumerator.


getevents.png (6.3 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.

Hi @mahjoub.faraj

Thanks for the update. I was referring to the help output for the RDP library Historical Pricing Contents and Function Layers that I assumed you wanted to use. e.g.

get_events(universe, session=None, eventTypes=None, start=None, end=None, adjustments=None, count=None, fields=None, on_response=None, closure=None)

OR

get_historical_price_events(universe, eventTypes=None, start=None, end=None, adjustments=[], count=1, fields=[], on_response=None, closure=None)

Just to clarify, the session parameter in the above list is the 'connection session' e.g. platform session or desktop session - not sessions