Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
The Refinitiv Data Library for Python provides a set of ease-of-use interfaces offering your applications a uniform access to the breadth and depth of financial data and services available on the Refinitiv Data Platform.
With this library, the same Python code can be used to retrieve data whatever the access point you choose to connect your application to the Refinitiv Data Platform. It can be either via a direct connection, via Eikon, via Refinitiv Workspace, via CodeBook or even via a local Real-Time Distribution System.
The library provides several abstraction layers enabling different programming styles and technics suitable for all developers from Financial Coders to Seasoned Developers:
import refinitiv.data as rd
rd.open_session()
df = rd.get_data(
universe=['IBM.N', 'VOD.L'],
fields=['BID', 'ASK', 'TR.Revenue']
)
print(df)
Instrument | BID | ASK | |
---|---|---|---|
0 | IBM.N | 0.00 | 0.0 |
1 | VOD.L | 120.02 | 120.1 |
df = rd.get_history(
universe="GOOG.O",
fields=["BID", "ASK", "TR.Revenue"],
interval="1Y",
start="2015-01-01",
end="2019-10-01",
)
print(df)
GOOG.O | BID | ASK | Revenue |
---|---|---|---|
2015-12-31 | 759.06 | 758.99 | 74989000000 |
2016-12-31 | 772.94 | 772.12 | 90272000000 |
2017-12-31 | 1046.46 | 1046.4 | 110855000000 |
2018-12-31 | 1037.36 | 1036.98 | |
2019-12-31 | 1336.94 | 1335.9 |
rd.close_session()
import refinitiv.data as rd
rd.open_session()
from refinitiv.data.content import fundamental_and_reference
response = fundamental_and_reference.Definition(
["TRI.N", "IBM.N"],
["TR.Revenue", "TR.GrossProfit"]
).get_data()
print(response.data.df)
instrument | date | TR.Revenue | TR.GrossProfit | |
---|---|---|---|---|
0 | TRI.N | 2020-12-31T00:00:00 | 5984000000 | 5656000000 |
1 | IBM.N | 2020-12-31T00:00:00 | 73620000000 | 35574000000 |
from refinitiv.data.content import historical_pricing
response = historical_pricing.summaries.Definition(
universe='VOD.L',
interval=historical_pricing.Intervals.DAILY,
fields=['BID','ASK','OPEN_PRC','HIGH_1','LOW_1','TRDPRC_1','NUM_MOVES','TRNOVR_UNS']
).get_data()
print(response.data.df)
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 |
from refinitiv.data.content import pricing
pricing_stream = rd.content.pricing.Definition(
universe=['EUR=', 'GBP=', 'JPY=', 'CAD='],
fields=['DSPLY_NAME', 'BID', 'ASK']
).get_stream()
pricing_stream.on_refresh(lambda pricing_stream, instrument_name, fields :
print(f"Refresh received for {instrument_name}: {fields}"))
pricing_stream.on_update(lambda pricing_stream, instrument_name, fields :
print(f"Update received for {instrument_name}: {fields}"))
pricing_stream.open()
Output:
Refresh received for EUR= : {'DSPLY_NAME': 'BARCLAYS LON', 'BID': 1.1635, 'ASK': 1.1639}
Refresh received for GBP= : {'DSPLY_NAME': 'NEDBANK LTD JHB', 'BID': 1.3803, 'ASK': 1.3807}
Refresh received for CAD= : {'DSPLY_NAME': 'DANSKE BANK COP', 'BID': 1.2351, 'ASK': 1.2352}
Refresh received for JPY= : {'DSPLY_NAME': 'ASANPACIFIBK MOW', 'BID': 113.81, 'ASK': 113.83}
Update received for JPY= : {'DSPLY_NAME': 'NEDBANK LTD JHB', 'BID': 113.81, 'ASK': 113.83}
Update received for CAD= : {'DSPLY_NAME': 'DANSKE BANK COP', 'BID': 1.2351, 'ASK': 1.2352}
Update received for JPY= : {'DSPLY_NAME': 'ASANPACIFIBK MOW', 'BID': 113.81, 'ASK': 113.83}
Update received for EUR= : {'DSPLY_NAME': 'BARCLAYS LON', 'BID': 1.1635, 'ASK': 1.1639}
Update received for CAD= : {'DSPLY_NAME': 'DANSKE BANK COP', 'BID': 1.2351, 'ASK': 1.2352}
from refinitiv.data.content import search
response = search.Definition("IBM").get_data()
print(response.data.df)
RIC | BusinessEntity | PermID | DocumentTitle | PI | |
---|---|---|---|---|---|
0 | ORGANISATION | International Business Machines Corp, Public C... | 37036 | ||
1 | IBM | QUOTExEQUITY | 55839165994 | International Business Machines Corp, Ordinary... | 1097326 |
2 | ORGANISATION | Tiers Corporate Bond Backed Certificates Trust... | 18062670 | ||
3 | ORGANISATION | SG Stuttgart Vaihingen BM-Campus 1 UG haftungs... | 27968389 | ||
4 | 0#IBMF: | QUOTExEQUITY | 21481052421 | Eurex International Business Machines Equity F... | 48924732 |
5 | 0#IBMDF: | QUOTExEQUITY | 21612423771 | Euronext Amsterdam IBM Dividend Future Chain C... | 259118763 |
6 | IBMFc1 | QUOTExEQUITY | 21481052892 | Eurex International Business Machines Equity F... | 49450681 |
7 | IBMFc2 | QUOTExEQUITY | 21481053949 | Eurex International Business Machines Equity F... | 50092347 |
8 | IBMDFc1 | QUOTExEQUITY | 21613372305 | Euronext Amsterdam IBM Single Stock Dividend F... | 260213021 |
9 | IBMFc3 | QUOTExEQUITY | 21481053950 | Eurex International Business Machines Equity F... | 50092348 |
rd.close_session()
To learn more about the Refinitiv Data Library for Python simply log into the Refinitiv Developer Community. By registering and logging in to the Refinitiv Developer Community portal you will have free access to a number of learning materials such as Quick Start guides, Tutorials, Documentation and much more.
If you have any questions regarding the API usage, please post them on the Refinitiv Data Q&A Forum. The Refinitiv Developer Community will be very pleased to help you.
FAQs
Client for Refinitiv Data Platform API's
We found that refinitiv-data demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.