- Introduction
- Concepts and Design
-
CONFIGURATION
-
SESSION LAYER
- About the Session Layer
-
Session
-
session.Definition
- session.Definition object
-
session.Definition object methods
-
session.desktop.Definition
- session.desktop.Definition object
-
session.desktop.Definition methods
-
session.platform.Definition
- session.platform.Definition object
-
session.platform.Definition methods
-
Functions
- Callback functions
- Session event codes
- Session states
-
ACCESS LAYER
-
CONTENT LAYER
- About the Content Layer
-
Fundamental and Reference
- About Fundamental And Reference
-
fundamental_and_reference.Definition
- fundamental_and_reference.Definition object
-
fundamental_and_reference.Definition methods
- fundamental_and_reference.RowHeaders
-
Historical Pricing
- About Historical Pricing
-
Historical Pricing Events
- About historical pricing events
-
historical_pricing.events.Definition
- historical_pricing.events.Definition object
-
historical_pricing.events.Definition methods
-
Historical Pricing Summaries
- About historical pricing summaries
-
historical_pricing.summaries.Definition
- historical_pricing.summaries.Definition object
-
historical_pricing.summaries.Definition methods
- Historical pricing event types
- Historical pricing adjustments
- Historical pricing market session
-
News
- About news
-
News headlines
- About news headlines
-
news.headlines.Definition
- news.headlines.Definition object
-
news.headlines.Definition methods
-
News stories
- About news stories
-
news.story.Definition
- news.story.Definition object
-
news.story.Definition methods
- News SortOrder
-
Pricing
- About pricing
-
pricing.Definition
- pricing.Definition object
-
pricing.Definition methods
-
pricing stream methods
-
pricing.chain
- About pricing.chain
-
pricing.chain.Definition
- pricing.chain.Definition object
-
pricing.chain methods
- Pricing stream states
-
Search
- About search
-
search.Definition
- search.Definition object
-
search.Definition methods
-
search.SearchViews
-
SymbolConversion
- About SymbolConversion
-
SymbolConversion.Definition
- SymbolConversion.Definition object
-
SymbolConversion.Definition methods
- Symbol types
- CountryCode
- AssetClass
- AssetState
-
Trade data service
- About trade data service
-
trade_data_service.Definition
- trade_data_service.Definition object
-
trade_data_service.Definition methods
-
trade_data_service Stream
- trade_data_service Stream object
-
trade_data_service Stream methods
- Trade data service events
- Trade data service universe types
- Trade data service finalized orders
-
Estimates
- About Estimates
-
Estimates actual values for reported annual periods
- estimates.view_actuals.annual.Definition object
-
estimates.view_actuals.annual.Definition methods
-
Estimates actual values for reported interim periods
- estimates.view_actuals.interim.Definition object
-
estimates.view_actuals.interim.Definition methods
-
Estimates actual values for KPI Measures for reported annual periods
- estimates.view_actuals_kpi.annual.Definition object
-
estimates.view_actuals_kpi.annual.Definition methods
-
Estimates actual values for KPI Measures for reported interim periods
- estimates.view_actuals_kpi.interim.Definition object
-
estimates.view_actuals_kpi.interim.Definition methods
-
Annual estimates summary data for periodic estimates measures
- estimates.view_summary.annual.Definition object
-
estimates.view_summary.annual.Definition methods
-
Interim estimates summary data for periodic estimates measures
- estimates.view_summary.interim.Definition object
-
estimates.view_summary.interim.Definition methods
-
Estimates monthly historical snapshot value for last 12 months for all annual period estimates measures
- estimates.view_summary.historical_snapshots_periodic_measures_annual.Definition object
-
estimates.view_summary.historical_snapshots_periodic_measures_annual.Definition methods
-
Estimates monthly historical snapshot value for last 12 months for all interim period estimates measures
- estimates.view_summary.historical_snapshots_periodic_measures_interim.Definition object
-
estimates.view_summary.historical_snapshots_periodic_measures_interim.Definition methods
-
Estimates monthly historical snapshot value for non-periodic estimates measures for the last 12 months
- estimates.view_summary.historical_snapshots_non_periodic_measures.Definition object
-
estimates.view_summary.historical_snapshots_non_periodic_measures.Definition methods
-
Estimates monthly historical snapshot value for recommendations for the last 12 months
- estimates.view_summary.historical_snapshots_recommendations.Definition object
-
estimates.view_summary.historical_snapshots_recommendations.Definition methods
-
Estimates summary values for KPI measures for annual periods
- estimates.view_summary_kpi.annual.Definition object
-
estimates.view_summary_kpi.annual.Definition methods
-
Estimates summary values for KPI measures for interim periods
- estimates.view_summary_kpi.interim.Definition object
-
estimates.view_summary_kpi.interim.Definition methods
-
Estimates monthly historical snapshot value for all KPI measures for the last 12 months
- estimates.view_summary_kpi.historical_snapshots_kpi.Definition object
-
estimates.view_summary_kpi.historical_snapshots_kpi.Definition methods
-
ESG
- About ESG
-
esg.full_measures.Definition
- esg.full_measures.Definition object
-
esg.full_measures.Definition methods
-
esg.full_scores.Definition
- esg.full_scores.Definition object
-
esg.full_scores.Definition methods
-
esg.basic_overview.Definition
- esg.basic_overview.Definition object
-
esg.basic_overview.Definition methods
-
esg.standard_measures.Definition
- esg.standard_measures.Definition object
-
esg.standard_measures.Definition methods
-
esg.standard_scores.Definition
- esg.standard_scores.Definition object
-
esg.standard_scores.Definition methods
-
esg.universe.Definition
- esg.universe.Definition object
-
esg.universe.Definition methods
-
esg.bulk.Definition
- esg.bulk.Definition object
-
esg.bulk.Definition methods
-
esg.bulk.PackageManager
- esg.bulk.PackageManager object
-
esg.bulk.PackageManager object methods
-
DELIVERY LAYER
Callback functions
The on_state
and on_event
session methods take callback functions.
In general, a callback function is a function passed into another function as an argument, which is then invoked to complete a routine or action.
In this case, on_state
and on_event
methods allow function to be passed as argument.
The main purpose of callbacks is to catch a change of state or an event, depending on which method calls it, and then do something according to the event or state that is caught.
For on_state
, the callback function definition should follow the arguments in the order described below:
def on_state_callback(session, state_code, state_msg):
print(f"Session State:{state_code} | {state_msg}")
For on_event
, the order is:
def on_event_callback(session, event_code, event_msg):
print(f"Session event:{event_code} | {event_msg}")
As mentioned before, the main purpose is to catch session events or states changes, but you are able to use callbacks for whatever you want.
For on_event
, let us take a look at the following code:
import os
import refinitiv.data as rd
# session creation
DESKTOP_APP_KEY = os.getenv("DESKTOP_APP_KEY")
session = rd.session.desktop.Definition(app_key=DESKTOP_APP_KEY).get_session()
rd.session.set_default(session)
# callback definition
def check_state(state, message, session):
print(f"State: {state}")
print(f"Message: {message}")
print("\n")
# add callback to session
session.on_event(check_state)
# open session
session.open()
# request something
response = rd.content.fundamental_and_reference.Definition(
universe=["IBM"],
fields=["TR.RevenueMean", "TR.Revenue.date"],
row_headers="date"
).get_data()
print(response.data.df.to_string())
# close session
session.close()
In this case, the callback function catches all states during the code execution:
# Session is opening
State: OpenState.Pending
Message: Session opening in progress
# Authentication passed, session is opening, session status changed respectively
State: OpenState.Opened
Message: Session is opened
# Request to fundamental and reference returned data.
# Note: it isn't caught by the callback function, it's a separate print response.
IBM Revenue - Mean Date
Date
2022-07-27 60031219190 NaT
2021-12-31 2021-12-31
# Session successfully closed
State: OpenState.Closed
Message: Session is closed
Catching events is similar:
import os
import refinitiv.data as rd
# session creation
DESKTOP_APP_KEY = os.getenv("DESKTOP_APP_KEY")
session = rd.session.desktop.Definition(app_key=DESKTOP_APP_KEY).get_session()
rd.session.set_default(session)
# callback definition
def check_event(event, message, session):
print(f"Event: {event}")
print(f"Message: {message}")
print("\n")
# add callbacks to session
session.on_event(check_event)
# open session
session.open()
# define stream
stream = rd.open_pricing_stream(
universe=['GBP=', 'EUR='],
fields=['BID', 'ASK'],
)
# open and then close stream to catch session events
stream.open()
stream.close()
# close session
session.close()
In this example, the callback function catches all event changes during code execution:
# stream is connecting
Event: EventCode.StreamConnecting
Message: None
# stream successfully connected
Event: EventCode.StreamConnected
Message: None