Skip to main content

Python package for retrieving data.

Project description

The Refinitiv Data Plaform Library for Python provides a set of ease-of-use functions and classes that gives your applications a uniform access to the breath and depth of financial data and services available on the Refinitiv Data Platform.

Thanks to this library the same Python code can be used to retrieve data whatever the access point your application uses to connect to the Refinitiv Data Platform (either via a direct connection, via Eikon, via the Refinitiv Workspace or even via a deployed Enterprise Platform).

The library provides several abstraction layers enabling different programming styles and technics suitable for all developers from Financial Coders to Seasoned Developers (synchronous function calls, async/await, event driven).

Some examples

Import the Refinitiv Data Platform Library

import refinitiv.dataplatform as rdp

Chose your platform access point...

...either directly to the Refinitiv Data Platform...

rdp.open_platform_session(
    '8e9bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1b035d', 
    rdp.GrantPassword(
        'my_login', 
        'my_password'
    )
)

...or via Eikon/Refinitiv Workspace...

rdp.open_desktop_session('8e9bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1b035d')

...or via a Deployed Platform

rdp.open_deployed_platform_session(
    '8e9bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1b035d',
    'my_deployed_platform_ip',
    'my_dacs_user_name'
)

Real-time Pricing - Get Snapshots

rdp.get_snapshot(
    universe = ['GBP=','JPY='], 
    fields   = ['BID','ASK']
)
Instruments BID ASK
0 GBP= 1.3211 1.3212
1 JPY= 108.6100 108.6200

Real-time Pricing - Get Streaming Data

streaming_prices = rdp.StreamingPrices(
    instruments = ['EUR=', 'GBP=', 'JPY=', 'CAD='], 
    fields = ['DSPLY_NAME', 'BID', 'ASK'],
    on_update = lambda streaming_price, instrument_name, fields : 
        print("Update received for {}: {}".format(instrument_name, fields))
)

streaming_prices.open()

Output:

<StreamState.Open: 3>

Update received for JPY=: {'DSPLY_NAME': 'BARCLAYS     LON', 'BID': 109.59, 'ASK': 109.62}
Update received for GBP=: {'DSPLY_NAME': 'ASANPACIFIBK MOW', 'BID': 1.341, 'ASK': 1.3411}
Update received for EUR=: {'DSPLY_NAME': 'UBS          ZUR', 'BID': 1.117, 'ASK': 1.1174}
Update received for CAD=: {'DSPLY_NAME': 'HSBC         LON', 'BID': 1.3165, 'ASK': 1.3167}
Update received for JPY=: {'DSPLY_NAME': 'ASANPACIFIBK MOW', 'BID': 109.59, 'ASK': 109.61}
Update received for GBP=: {'DSPLY_NAME': 'INTERPROMBAN MOW', 'BID': 1.341, 'ASK': 1.3412}
Update received for EUR=: {'DSPLY_NAME': 'RBS          LON', 'BID': 1.117, 'ASK': 1.1174}
Update received for CAD=: {'DSPLY_NAME': 'CIBC         TOR', 'BID': 1.316, 'ASK': 1.3164}
Update received for JPY=: {'DSPLY_NAME': 'BARCLAYS     LON', 'BID': 109.59, 'ASK': 109.62}
Update received for GBP=: {'DSPLY_NAME': 'INTERPROMBAN MOW', 'BID': 1.341, 'ASK': 1.3413}
Update received for EUR=: {'DSPLY_NAME': 'BARCLAYS     LON', 'BID': 1.117, 'ASK': 1.1174}
Update received for CAD=: {'DSPLY_NAME': 'CIBC         TOR', 'BID': 1.316, 'ASK': 1.3164}
Update received for JPY=: {'DSPLY_NAME': 'ASANPACIFIBK MOW', 'BID': 109.59, 'ASK': 109.61}
Update received for GBP=: {'DSPLY_NAME': 'BARCLAYS     LON', 'BID': 1.341, 'ASK': 1.3414}

Historical Pricing - Get Interday Summaries

rdp.get_historical_price_summaries(
    universe = 'VOD.L', 
    interval = rdp.Intervals.DAILY,
    fields = ['BID','ASK','OPEN_PRC','HIGH_1','LOW_1','TRDPRC_1','NUM_MOVES','TRNOVR_UNS']
)
BID ASK OPEN_PRC HIGH_1 LOW_1 TRDPRC_1 NUM_MOVES TRNOVR_UNS
2019-12-12 144.32 144.34 144.42 145.66 143.46 144.18 12631.0 8498347218.71154
2019-12-11 143.58 143.6 142.72 144.8 142.62 143.58 10395.0 8815450412.65353
2019-12-10 142.74 142.78 143.84 143.84 141.48 142.74 10311.0 8070285210.45742
... ... ... ... ... ... ... ... ...
2019-11-18 152.1 152.12 154.74 155.66 152.0 152.12 14606.0 19322988639.34
2019-11-15 154.6 154.62 160.68 160.68 154.06 154.6326 17035.0 31993013818.37456

News - Get Headlines

rdp.get_news_headlines(query = 'LFR', count = 350)
versionCreated text storyId sourceCode
2019-12-12 06:51:36.518 SGX FTSE China A50 (Z9) intraday : prudence. urn:newsml:reuters.com:20191212:nGUR92Pj4t:1 NS:GURU
2019-12-12 06:49:52.011 SSE Composite intraday : biais haussier au-des... urn:newsml:reuters.com:20191212:nGUR8gt362:1 NS:GURU
2019-12-12 06:49:33.973 Election du Conseil fédéral: "repenser la form... urn:newsml:reuters.com:20191212:nNRAafovmk:1 NS:SDASDE
... ... ... ...
2019-12-11 23:27:13.673 Le nouveau système en huit questions urn:newsml:reuters.com:20191211:nNRAafll6g:1 NS:LESECH
2019-12-11 23:27:13.653 Les clefs du royaume urn:newsml:reuters.com:20191211:nNRAaflped:1 NS:LESECH

350 rows x 4 columns

Learning materals

To learn more about the Refinitiv Data Platform Library for python just connect to the Refinitiv Developer Community. By registering and login to the Refinitiv Developer Community portal you will get free access to a number of learning materials like Quick Start guides, Tutorials, Documentation and much more.

Help and Support

If you have any questions regarding the API usage, please post them on the Refinitiv Data Platform Q&A Forum. The Refinitiv Developer Community will be very pleased to help you.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

refinitiv-dataplatform-1.0.0a10.tar.gz (261.2 kB view hashes)

Uploaded Source

Built Distribution

refinitiv_dataplatform-1.0.0a10-py3-none-any.whl (402.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page