LSEG Data Library for Python

get_stream

Allows you to create a streaming quantitative analytic object.

Module

bond.Definition

Syntax

definition.get_stream(session)

Parameters

Value Description Data type Optional Default value
session Session object. If session parameters are not defined, the default session will be used. Session object Yes None
api Specifies the data source. It can be updated/added using config file. str Yes -

Return value

QuantitativeDataStream object

Usage

The following example demonstrates how to get a streaming quantitative analytic object.

import time
from refinitiv.data.content.ipa.financial_contracts import bond

def display_event(event_type, data, headers):
    print(">>> {} event received".format(event_type))
    print(data)

bond_def = bond.Definition(
    fields=["YieldPercent", "Duration", "RedemptionDateType", "RedemptionDate"],
    instrument_code="250847EF3=TWBL",
    pricing_parameters=bond.PricingParameters(
        redemption_date_type="RedemptionAtCallDate",
        price = 100,
        trade_date = "2020-05-01"
    )
)
bond_stream = bond_def.get_stream()
bond_stream.on_response(lambda stream, data, headers: display_event("response", data, headers))
bond_stream.on_update(lambda stream, data, headers: display_event("update", data, headers))
bond_stream.on_state(lambda stream, data: display_event("state", data, None))

# Open the stream and wait events for 10 seconds 
bond_stream.open()
time.sleep(10)
# Close the stream
bond_stream.close()

# Extract snapshot data from the streaming cache
snapshot = bond_stream.get_snapshot()
print(snapshot)

RDP stream

66 words (0:21 mins)