Skip to main content

Chapter 4 – Equity Markets

This chapter explains how to find and interpret equity‑market data in LSEG products, focusing on search tools, RIC construction, indices, news, order‑book and trade‑history views, and key fields for spreadsheets.

LDLib In this chapter, the Python examples use the LSEG Data Library for Python, and the code below imports the library and opens a session to retrieve data.

import lseg.data as ld

ld.open_session()

Tools for Finding Data

Use the following LSEG Workspace tools to locate equity instruments, related displays, and historical data definitions.

  • Purpose: Single search box at the top of Workspace for finding securities, issuers, news, research, and apps.

  • How to open: Enter names, tickers, RICs, ISINs, or keywords in the search box and click Enter or Shift + Enter.

Global Search

  • Purpose: Lets you build more precise queries with filters such as asset class, region, currency, sector, date range, and more.

  • How to open: Enter the Advanced Search (AS) in the LSEG Workpsace - Global Search to open the Advanced Search application.

Advanced Search

LSEG Workspace - Screener

  • Purpose: A dedicated tool for idea generation and filtering across large universes (e.g., equities, bonds, funds) by using a variety of criteria.

  • How to open: Enter the Screener in the LSEG Workpsace - Global Search to open the Screener application.

Screener

LSEG Developer Community - RIC Search Tool

  • Purpose: A web-based tool on the LSEG Developer Community website that lets you search RICs by criteria such as asset class, country, or exchange.

  • How to open: Go to the LSEG Developer Community website and select RIC Search from the Developer Tools menu.

RIC Search

LSEG Data Library for Python - Screener

  • Purpose: Use the Screener object in the LSEG Data Library for Python to programmatically filter large universes of instruments (e.g., equities) by criteria such as fundamentals, prices, and classifications, and return the matching results for further analysis.

  • How to use: Run the Screener object with a Screener formula to retreive the list of matching RICs. For example, the following Python code screens for public companies on the London Stock Exchange with a market capitalisation of at least 30,000,000,000 USD.

from lseg.data.discovery import Screener

results = Screener('U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.ExchangeMarketIdCode,"XLON"), TR.CompanyMarketCap>=30000000000, CURN=USD')

list(results)
    ['BATS.L',
'HSBA.L',
'STAN.L',
'IMB.L',
'SSE.L',
'RKT.L',
'CPG.L',
'DGE.L',
'PRU.L',
'NWG.L',
'TSCO.L',
'AAL.L',
'CCL.L',
'IWDA.L',
'BAES.L',
'GSK.L',
'REL.L',
'RIO.L',
'ULVR.L',
'NG.L',
'FRES.L',
'EIMI.L',
'LSEG.L',
'BP.L',
'VOD.L',
'SHEL.L',
'GLEN.L',
'ANTO.L',
'III.L',
'BARC.L',
'EXPN.L',
'RR.L',
'LLOY.L',
'HLN.L',
'AZN.L']

LSEG Data Library for Python - Search APIs

  • Purpose: The search family of APIs in the LSEG Data Library for Python provides users powerful free‑text and filtered search, and lookup services over a very large universe of financial instruments, organisations, people, and assets.

  • How to use: Call the ld.discovery.search method with a query or filter parameter to return items that match your specified criteria. For example, the following code searches for active items in the Equity Quotes view that are listed on the London Stock Exchange and operate in the IT Services & Consulting industry.

ld.discovery.search(
view=ld.discovery.Views.EQUITY_QUOTES,
filter="AssetState eq 'AC' and ExchangeCode eq 'LSE' and RCSTRBC2012Leaf eq 'IT Services & Consulting (NEC)'"
)
BusinessEntityDocumentTitlePermIDPIRIC
0QUOTExEQUITYRelx PLC, Ordinary Share, London Stock Exchange558360544787240429REL.L
1QUOTExEQUITYSoftcat PLC, Ordinary Share, London Stock Exch...21548756968168835138SCTS.L
2QUOTExEQUITYComputacenter PLC, Ordinary Share, London Stoc...558360495891082431CCC.L
3QUOTExEQUITYKainos Group PLC, Ordinary Share, London Stock...21567179355196601305KNOS.L
4QUOTExEQUITYNCC Group PLC, Ordinary Share, London Stock Ex...5583604846217425259NCCG.L
5QUOTExEQUITYCohort PLC, Ordinary Share, London Stock Exchange5585177638225070372CHRT.L
6QUOTExEQUITYSeeing Machines Ltd, Ordinary Share, London St...5583605214023487924M2Z.L
7QUOTExEQUITYFDM Group (Holdings) PLC, Ordinary Share, Lond...21542385314159838303FDM.L
8QUOTExEQUITYSmarter Web Company PLC, Ordinary Share, Londo...236802455672989898411SWC.L
9QUOTExEQUITYFonix PLC, Ordinary Share, London Stock Exchange21774599032466263346FNXF.L

LDLib The following code can be used to retrieve all available fields in the EQUITY_QUOTES view.

from lseg.data.content import search


response = search.metadata.Definition(
view = search.Views.EQUITY_QUOTES
).get_data()

response.data.df
TypeSearchableSortableNavigableGroupableExactSymbol
AAACurrencyBondBenchmarkChainAAACurrencyBondBenchmarkChainStringFalseFalseFalseFalseFalseFalse
AACurrencyBondBenchmarkChainAACurrencyBondBenchmarkChainStringFalseFalseFalseFalseFalseFalse
ABSMBSBondsRICABSMBSBondsRICStringFalseFalseFalseFalseFalseFalse
ActiveEstimatesExistActiveEstimatesExistBooleanTrueFalseFalseFalseFalseFalse
ActivityDateActivityDateDateTrueTrueTrueFalseFalseFalse
...........................
WarrantTypeWarrantTypeStringTrueFalseFalseFalseFalseFalse
WarrantTypeNameWarrantTypeNameStringTrueFalseFalseFalseFalseFalse
WertWertStringTrueFalseFalseTrueFalseTrue
YearHighToday2RICYearHighToday2RICStringFalseFalseFalseFalseFalseFalse
YearLowToday2RICYearLowToday2RICStringFalseFalseFalseFalseFalseFalse

831 rows × 7 columns

Users can then choose the searchable fields and include them in the filter parameter to obtain the instruments they need.

LSEG Workspace – Data Item Browser

  • Purpose: Explore and look up individual data items (fields), including their definitions, codes, and availability across asset classes and views, so users can choose the right fields for screens, templates, and downstream applications.

  • How to open: In LSEG Workspace, use the global search bar to search for “Data Item Browser” (or “DIB”) and launch the Data Item Browser app.

Data Item browser

LDLib The items found in the Data Item Browser can be used with the ld.get_data method in the LSEG Data Library for Python to retrieve data for those items. For exmample, the following code retrieves the company name, last trade price, and unscaled accumulated number of shares traded for LSEG.L.

ld.get_data(
universe = ['LSEG.L'],
fields = ['TR.CompanyName', 'TR.CLOSEPRICE', 'TR.ACCUMULATEDVOLUME']
)
InstrumentCompany NameClose PriceAccumulated Volume
0LSEG.LLondon Stock Exchange Group PLC75721459808

Equities Guide and Speed-Guides

Equities Guide

Workspace In LSEG Workspace, users can access Equities Guide information by typing EQG in the global search bar and pressing Enter.

Equities Guide

Otherwise, users can still use the speed-guides page RICs to access the reference information.

Speed-Guides

Speed-guides are pre-defined reference pages that list important codes for real-time data, indices, news and more.

Key equity-related speed-guides

  • EQUITY – Master equity speed-guide with real-time data, news and economic-data codes.

  • WORLD/INDICES1 – All equity indices.

  • WORLD/CHAR1, WORLD/CHAR2 – Brokerage characters (used as extensions to equity RIC roots).

  • WORLD/DELAY1 – Exchanges offering delayed information and the corresponding delay lengths.

For speed-guides that begin with WORLD, you can usually jump directly to a specific country by replacing WORLD with its two-character country code.

Examples:

  • DE/INDICES1 – All indices in Germany.

  • IT/CHAR1 – Brokerage characters for Italy.

Workspace In LSEG Workspace, users can enter a page RIC in the global search bar and press Enter to open the page and view its contents.

Equity Page

LDLib The same page data can also be retreived through LSEG Data Library for Python by using page RICs and the ROW80_1 to ROW80_25 fields.

df = ld.get_data(
universe=['EQUITY'],
fields=[f"ROW80_{i}" for i in range(1, 26)]
)
print(*df.iloc[0, 1:26], sep="\n")
    EQUITIES - REFINITIV       SPEED GUIDE                                    EQUITY
welcome to the EQUITY guide. To access information double-click on the code in
< > or [ ]. For more guidance see <USER/HELP>.
=COUNTRY EQUITY GUIDES================= =NEWS & ANALYSIS GUIDES================
G20 Countries..............<G20/EQUITY> All News.........................<NEWS>
OECD Countries............<OECD/EQUITY> All Equity News..........<EQUITY/NEWS1>
Emerging Markets..........<EMG/EQUITY1>
European Equities..........<EUR/EQUITY> =RELATED GUIDES========================
Asian Countries..........<ASIA/EQUITY1> Reuters Stock Index Survey<EQUITYPOLL1>
Alpha Listing.................<STOCK>-Q Global Exchange Information.<EXCHANGES>
=KEY EQUITIES INFORMATION============== Delayed Data Information.<WORLD/DELAY1>
Global Short Sell.....<WORLD/SHORTSELL> Time & Sales Information...<WORLD/TAS1>
World Indices..........<WORLD/INDICES1> Brokerage Characters......<WORLD/CHAR1>
World Market Sectors....<WORLD/SECTOR1> Global Funds & Investments......<FUNDS>
World Market Stats.......<WORLD/STATS1> Equity Derivatives.......<EQUITY/DERIV>
Finding Company Share Prices.<DIR/USER> Global Mkt & Public Holidays.<HOLIDAY1>
DR/ADR Directory............<WEBSTER01> Close Run Times............<CLOSE/RUN1>
MIFID Exchange Data....<MIFID/EXCHANGE> Additional Background Data...<STOCK1>-7
Add/Drop/Changes........<WORLD/CHANGE1> Convertibles Guide.......<CONVERTIBLES>
=CHANGE NOTIFICATIONS & ALERTS========= Equity Linked Guide......<EQUITYLINKED>
Scheduled Change Notifications<CHANGES> Warrants Guide...............<WARRANTS>
Service Alerts..................<ALERT> Global ADRS......................<ADRS>
================================================================================
Main Guide<REFINITIV>Cross Market<CROSS/MKT1>Exchange Identifiers<EXCHID01>
Lost? Selective Access?..<USER/HELP> REFINITIV Phone Support.<PHONE/HELP>

Full Quotes for Equities

Most equity LSEG Instrument Codes (RICs) are based on a short alphabetic root derived from the company name, followed by an exchange identifier.

Structure

<RIC root>.<exchange identifier>

Examples

  • MSFT.O – Microsoft Corp (NASDAQ)

  • ULVR.L – Unilever plc (London Stock Exchange)

  • VOWG.DE – Volkswagen AG (Xetra)

The part before the dot is the RIC root (often the exchange’s own code for the instrument). The part after the dot is the exchange identifier.

  • Full exchange-identifier lists: EXCHID01 to EXCHID22.

In many markets – especially in Asia – the RIC root is numeric because exchanges themselves use numeric codes.

Examples (numeric roots)

  • 7267.T – Honda Motor Co. (Tokyo Stock Exchange)

  • 0941.HK – China Mobile (Hong Kong) Ltd. (Hong Kong Stock Exchange)

LDLib The following code uses LSEG Data Library for Python to subscribe to the EXCHID01 to EXCHID22 page RICs and display the full exchange-identifer lists.

df = ld.get_data(
universe=[f"EXCHID{i:02d}" for i in range(2, 23)],
fields=[f"ROW80_{i}" for i in range(5, 23)]
)
import pandas as pd
entry = {}
exchanges = []

for i in range(0, 21):
for j in range(1, 19):
val = df.iloc[i, j]
if (isinstance(val, str) and (val.strip() == "" or set(val) == {"="})) or pd.isna(val):
continue
entry["EXCHID"] = val[0:9]
entry["MNEMONIC"] = val[9:18]
entry["EXCHANGE NAME"] = val[18:47]
entry["COUNTRY"] = val[47:66].split("<", 1)[0]
if entry["COUNTRY"][0].islower():
idx = None
for k in range(len(entry["EXCHANGE NAME"])-1, -1, -1):
if entry["EXCHANGE NAME"][k].isupper():
idx = k
break
if idx is not None:
entry["COUNTRY"] = entry["EXCHANGE NAME"][idx:] + entry["COUNTRY"]
entry["EXCHANGE NAME"] = entry["EXCHANGE NAME"][:idx]
exchanges.append(entry.copy())
entry = {}

exchanges_df = pd.DataFrame(exchanges)
exchanges_df
EXCHIDMNEMONICEXCHANGE NAMECOUNTRY
0.AAOENYSE American(Options)United States
1.AASENYSE American(Equities)United States
2BCCMercado a Término de BuenosArgentina
3.ADABDAbu Dhabi Securities ExchUAE
4.ALPALPAlpha Trading SystemsCanada (Toronto)
...............
369.ZAZAGZagreb SECroatia
370.ZIZSEZimbabwe Stock ExchangeZimbabwe
371.ZYLCYBATS Y Trading For
372Nasdaq OMX Global MarketUnited States
373.DXEDXECBOE DXE ExchangeUnited Kingdom

374 rows × 4 columns

Users can also use the Search API with the Equity Quotes view in LSEG Data Library for Python to search for equity instruments.

LDLib For example, the following code uses the Search API to search for the active primary ordinary share RICs in Italy that end with .MI.

ld.discovery.search(
view=ld.discovery.Views.EQUITY_QUOTES,
filter="RCSExchangeCountryLeaf eq 'Italy' and endswith(RIC, '.MI') and AssetState eq 'AC' and (RCSAssetCategoryLeaf xeq 'Ordinary Share' or RCSAssetCategoryLeaf xeq 'Preference Share') and IsPrimaryRIC eq true",
top=10)
BusinessEntityDocumentTitlePermIDPIRIC
0QUOTExEQUITYEnel SpA, Ordinary Share, Milan Stock Exchange558374380501114308ENEI.MI
1QUOTExEQUITYUniCredit SpA, Ordinary Share, Milan Stock Exc...558374447261113784CRDI.MI
2QUOTExEQUITYBanca Monte dei Paschi di Siena SpA, Ordinary ...558374372721114272BMPS.MI
3QUOTExEQUITYIntesa Sanpaolo SpA, Ordinary Share, Milan Sto...558374420011114266ISP.MI
4QUOTExEQUITYFincantieri SpA, Ordinary Share, Milan Stock E...21543828243161909762FCT.MI
5QUOTExEQUITYStellantis NV, Ordinary Share, Milan Stock Exc...558374376531113681STLAM.MI
6QUOTExEQUITYFerrari NV, Ordinary Share, Milan Stock Exchange21578864684213603807RACE.MI
7QUOTExEQUITYEni SpA, Ordinary Share, Milan Stock Exchange558374376461113998ENI.MI
8QUOTExEQUITYLeonardo SpA, Ordinary Share, Milan Stock Exch...558374378631113936LDOF.MI
9QUOTExEQUITYTelecom Italia SpA, Ordinary Share, Milan Stoc...558374467881113866TLIT.MI

LDLib Then, RICs can be used with the functions in LSEG Data Library for Python to retieve data. For example, the following code uses LSEG Data Library for Python] to retrieve real-time data for the 7267.T and 0941.HK

ld.get_data(
universe=['7267.T','0941.HK'],
fields=['DSPLY_NAME','CF_DATE','CF_LAST','CF_BID','CF_ASK','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME','CF_YIELD']
)
InstrumentDSPLY_NAMECF_DATECF_LASTCF_BIDCF_ASKCF_HIGHCF_LOWCF_EXCHNGCF_VOLUMECF_YIELD
07267.THONDA MOTOR/d2026-02-201543.01543.01545.01573.51542.5TYO190024004.54
10941.HKCHINA MOBILE/d2026-02-2379.4579.4579.5579.879.0HKG86088836.595

American Consolidated Quotes

In North America, consolidated quotes can take the best available price from one of several exchanges.

  • Use only the RIC root when a consolidated quote is available.

  • Example: GM – consolidated quote for General Motors

LDLib The following code uses LSEG Data Library for Python to subscribe to the GM and IBM RICs.

ld.get_data(
universe=['GM','IBM'],
fields=['DSPLY_NAME','CF_DATE','CF_LAST','CF_BID','CF_ASK','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME','CF_YIELD']
)
InstrumentDSPLY_NAMECF_DATECF_LASTCF_BIDCF_ASKCF_HIGHCF_LOWCF_EXCHNGCF_VOLUMECF_YIELD
0GMGENERAL MOTORS/d2026-02-1883.6783.5684.083.9381.7NYQ4320.8605
1IBMINTL BUS MACHI/d2026-02-18260.79260.0262.29261.11256.25NYQ7762.5768

Equity RIC Incorporating Brokerage Characters

Brokerage characters distinguish different share classes and related instruments from ordinary shares.

  • They appear as an extension to the RIC root, followed by the usual exchange identifier.

  • They can include special characters and/or lower-case letters.

  • Conventions differ by country.

Users can find the reference list of brokerage characters in the EQUITY speed-guide at:

  • WORLD/CHAR1

  • WORLD/CHAR2

…or by using the appropriate country code instead of WORLD (for example, DE/CHAR1 for German).

LDLib The following code uses LSEG Data Library for Python to subscribe to the DE/CHAR1 page RIC and display its content.

df = ld.get_data(
universe=['DE/CHAR1'],
fields=[f"ROW80_{i}" for i in range(1, 26)]
)
print(*df.iloc[0, 1:26], sep="\n")
    GERMAN EQUITIES RETRIEVAL CODES - REFINITIV SPEED GUIDE                 DE/CHAR1
Detailed below are retrieval codes for Equities information.
=GERMAN STOCK EXCHANGES================ =BROKERAGE CHARACTERS==================
Berlin = .BE Class A Stocks........................a
Dusseldorf = .D Class B Stocks........................b
EUWAX Warrants = .EW New Issue.............................e
Frankfurt = .F Foreign Shares........................f
Hamburg = .H Profit Sharing Certificate............g
Hanover = .HA Converted Shares......................k
Munich = .MU Registered Shares.....................n
Stuttgart = .SG Certificate of Participation..........p
XETRA = .DE Global Depository Receipt.............q
German Composites = .DEU Non-conversion Share..................r
=OPTIONS EXCHANGE====================== Non-Voting Depository Receipt.........t
EUREX - Old DTB Contracts = *.d Unit Shares...........................u
EUREX - Old SOFFEX Contracts = *.S Shares allocated for sale.............v
EUREX - New Contracts = *.EX Shares allocated to buy...............w
=BROKERAGE COMBINATIONS================ Restricted Shares.....................x
Registered/New Issue.................ne American Depository Receipts..........y
For Sale/preferred..................v_p German Certificate....................z
Restricted/Class A...................xa Preferred............................_p
Conversion/New Issue.................ke Rights..............................._r
================================================================================
Main Guide<REFINITIV> Equities Guide<EQUITY> German Equity Guide<DE/EQUITY>
Lost? Selective Access...<USER/HELP> Refinitiv Phone Support...<PHONE/HELP>

Brokerage Characters – Case Sensitivity

Brokerage characters are one of the few places where case in a RIC matters.

  • RIC root: always in UPPER CASE.

  • Brokerage characters: in lower case.

  • Exchange identifier: in UPPER CASE.

Example

  • DBKGn.DE – Deutsche Bank registered name shares.

LDLib The following code uses LSEG Data Library for Python to subscribe to the DBKGn.DE RIC.

ld.get_data(
universe=['DBKGn.DE'],
fields=['DSPLY_NAME','CF_DATE','CF_LAST','CF_BID','CF_ASK','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME','CF_YIELD']
)
InstrumentDSPLY_NAMECF_DATECF_LASTCF_BIDCF_ASKCF_HIGHCF_LOWCF_EXCHNGCF_VOLUMECF_YIELD
0DBKGn.DEDEUTSCHE BANK /d2026-02-1930.7330.7330.7431.02530.645GER11957913.2258

Users can also use the Search API with the Equity Quotes view in LSEG Data Library for Python to search for equity instruments by share classes.

The share class values may include "Class A", "Class B", "Series A", "Series B", and similar designations.

LDLib For example, the code below demonstrates how to use the Search API to query for Class A shares on stock exchanges in Germany.

ld.discovery.search(
view=ld.discovery.Views.EQUITY_QUOTES,
filter="ShareClass eq 'Class A' and RCSExchangeCountryLeaf eq 'Germany'",
top=10)
BusinessEntityDocumentTitlePermIDPIRIC
0QUOTExEQUITYAlphabet Inc, Ordinary Share, Class A, Xetra5583735895117783023ABEA.DE
1QUOTExEQUITYPalantir Technologies Inc, Ordinary Share, Cla...21790876893485947761PTXG.DE
2QUOTExEQUITYAlphabet Inc, Ordinary Share, Class A, Frankfu...5583641110217799941ABEA.F
3QUOTExEQUITYPalantir Technologies Inc, Ordinary Share, Cla...21772643247463782077PTXG.F
4QUOTExEQUITYMeta Platforms Inc, Ordinary Share, Class A, X...21503906577108365367FB2A.DE
5QUOTExEQUITYCoinbase Global Inc, Ordinary Share, Class A, ...218085313855077240111QZ.DE
6QUOTExEQUITYStrategy Inc, Ordinary Share, Class A, Frankfu...558364605948265410MSTRD.F
7QUOTExEQUITYMeta Platforms Inc, Ordinary Share, Class A, F...21503906996108366150FB2A.F
8QUOTExEQUITYCoinbase Global Inc, Ordinary Share, Class A, ...218083907135075457341QZ.F
9QUOTExEQUITYBerkshire Hathaway Inc, Ordinary Share, Class ...558363919598080783BRKa.F

Equity Indices

All major equity indices are written with a leading dot—for example, .FTSE and .NDX. Their corresponding chain RICs use the 0# prefix, such as 0#.INDEX, 0#.FTSE, and 0#.NDX. The RIC 0#.INDEX represents the global index chain.

There are two main ways to view an equity index:

  1. Full quote on the index itself

    • Shows the current index value, previous close, today’s open, and day high/low.

    • Most exchanges make index quotes available free of charge.

  2. Constituent chain

    • Shows the instruments that make up the index in a chain display.

For Example – FTSE 100 Index:

To view the FTSE 100 Index:

  • Index quote: type .FTSE – shows a full quote on the index.

  • Constituents: type 0#.FTSE to displays a chain of all constituents.

Workspace In LSEG Workspace, users can use an index RIC or a chain RIC in the global search bar to open a quote application that displays real-time data for that RIC.

.FTSE Index

0#.FTSE Chain

LDLib The following code uses LSEG Data Library for Python to subscribe to the .FTSE RIC.

ld.get_data(
universe=['.FTSE'],
fields=['DSPLY_NAME','CF_DATE','CF_LAST','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME']
)
InstrumentDSPLY_NAMECF_DATECF_LASTCF_HIGHCF_LOWCF_EXCHNGCF_VOLUME
0.FTSEFTSE 100 INDEX/d2026-02-1910627.0410687.3610597.58FSI1134090682

LDLib The following code uses the Chain object in LSEG Data Library for Python to expand the chain RIC 0#.FTSE and then use the resulting constituent RICs to retrieve data for those instruments.

from lseg.data.discovery import Chain

chain = Chain("0#.FTSE")
ld.get_data(
universe=chain.constituents,
fields=['DSPLY_NAME','CF_DATE','CF_LAST','CF_BID','CF_ASK','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME']
)
InstrumentDSPLY_NAMECF_DATECF_LASTCF_BIDCF_ASKCF_HIGHCF_LOWCF_EXCHNGCF_VOLUME
0AAF.LAIRTEL AFRICA/d2026-02-19351<NA>370359.2348.4LSE5827405
1AAL.LANGLO AMERICAN/d2026-02-1935783252370036493505LSE4029575
2ABF.LA.B.FOOD/d2026-02-191976.5180020221990.51953.5LSE1144746
3ADML.LADMIRAL GRP/d2026-02-1928302650<NA>28602806LSE660449
4AHT.LASHTEAD GRP./d2026-02-1951064000550051145028LSE1722653
.................................
95ULVR.LUNILEVER/d2026-02-1953205100548053645306LSE8102019
96UU.LUTD. UTILITIES/d2026-02-191335.5651<NA>13481327LSE1537952
97VOD.LVODAFONE GRP./d2026-02-19115.45103.4118116.65114LSE91759330
98WEIR.LWEIR GRP./d2026-02-193460<NA><NA>34643430LSE915438
99WTB.LWHITBREAD/d2026-02-1927372400280027662676LSE533889

100 rows × 10 columns

LDLib Users can use the Search API with the Index Quotes view in the LSEG Data Library for Python to search for indices RICs and chain RICs. The following example uses Search API to search for chain RICs in Japan.

ld.discovery.search(
view=ld.discovery.Views.INDEX_QUOTES,
filter="IsChain eq false and RCSIssuerCountryLeaf eq 'Japan'",
top=10)
BusinessEntityDocumentTitlePermIDPIRIC
0QUOTExINDEXTOPIX Stock Price Index, Equity Index, Tokyo S...716195784331076253.TOPX
1QUOTExINDEXNikkei 225 Index, Equity Index, Nihon Keizai S...1306048679181076435.N225
2QUOTExINDEXNikkei 225 Index Close, Equity Index, Nihon Ke...130604875909247846178.N225E
3QUOTExINDEXTokyo SE JPX-Nikkei Index 400, Equity Index, T...130604842992148585256.JPXNK400
4QUOTExINDEXTokyo Stock Exchange REIT Index, Equity Index,...7276115817513604269.TREIT
5QUOTExINDEXTokyo Stock Exchange Growth Market 250 Index, ...7119101844213603968.MTHR
6QUOTExINDEXTopix Core 30 Market Index, Equity Index, Toky...700565517681076444.TOPXC
7QUOTExINDEXTopix 500 Market Index, Equity Index, Tokyo St...714642189481076448.TOPX500
8QUOTExINDEXTopix Small Market Index, Equity Index, Tokyo ...692862718241076451.TOPXS
9QUOTExINDEXTopix Large 70 Market Index, Equity Index, Tok...703673299551076453.TOPXL

Index Constituents and Weightings

Index weightings determine how much each constituent influences the index’s performance.

LDLib The following code uses the LSEG Data Library for Python to retrieve constituent weighting percentages for .FTSE index RIC.

index_ric = ".FTSE"

fields = [
"TR.IndexConstituentRIC",
"TR.IndexConstituentName",
"TR.IndexConstituentWeightPercent"
]

constituent_df = ld.get_data(
universe=[index_ric],
fields=fields
)
constituent_df
InstrumentConstituent RICConstituent Name
0.FTSERMV.LRightmove
1.FTSEBT.LBT Group
2.FTSEAHT.LAshtead Group
3.FTSEULVR.LUnilever
4.FTSEHLN.LHaleon
............
95.FTSEPSN.LPersimmon
96.FTSEABDN.LAberdeen Grp
97.FTSEBLND.LBritish Land
98.FTSEAVV.L^A23AVEVA GROUP
99.FTSEHSV.L^A23Homeserve

100 rows × 3 columns

Leavers and Joiners

Workspace In LSEG Workspace, users can check leavers and joiners of an index from the INDEX LEAVERS & JOINERS page.

FTSE Leavers and Joiners

LDLib The same data can also be retrieved by using the following code.

ld.get_data(
universe=[".FTSE"],
fields=[
"TR.IndexJLConstituentChangeDate",
"TR.IndexJLConstituentRIC",
"TR.IndexJLConstituentName",
"TR.IndexJLConstituentituentChange"
],
parameters={'IC':'B', 'SDate':'2023-01-01','EDate':'2026-02-20'}
)
InstrumentDateConstituent RICConstituent NameChange
0.FTSE2023-01-04HSV.L^A23HomeserveLeaver
1.FTSE2023-01-04JMAT.LJohnson MattheyJoiner
2.FTSE2023-01-18AVV.L^A23AVEVA GROUPLeaver
3.FTSE2023-01-18HSX.LHiscoxJoiner
4.FTSE2023-04-20DWL.L^B26Dowlais GroupJoiner
5.FTSE2023-04-25DWL.L^B26Dowlais GroupLeaver
6.FTSE2023-06-19IMI.LIMIJoiner
7.FTSE2023-06-19BLND.LBritish LandLeaver
8.FTSE2023-09-18DPLM.LDiplomaJoiner
9.FTSE2023-09-18MKS.LM&SJoiner
10.FTSE2023-09-18DPH.L^A24Dechra PharmsJoiner
11.FTSE2023-09-18HIK.LHikma PharmaJoiner
12.FTSE2023-09-18JMAT.LJohnson MattheyLeaver
13.FTSE2023-09-18ABDN.LAberdeen GrpLeaver
14.FTSE2023-09-18HSX.LHiscoxLeaver
15.FTSE2023-09-18PSN.LPersimmonLeaver
16.FTSE2023-09-25HWDN.LHowden JoineryJoiner
17.FTSE2023-09-25CRH.LCRHLeaver
18.FTSE2023-12-18ICGIN.LICGJoiner
19.FTSE2023-12-18HRGV.L^C25HargreavesLeaver
20.FTSE2024-01-16PSN.LPersimmonJoiner
21.FTSE2024-01-16DPH.L^A24Dechra PharmsLeaver
22.FTSE2024-03-18EDV.LEndeavour MingLeaver
23.FTSE2024-03-18EZJ.LeasyJetJoiner
24.FTSE2024-05-31HRGV.L^C25HargreavesJoiner
25.FTSE2024-05-31FLTRF.LFlutterLeaver
26.FTSE2024-06-24DARK.L^J24DarktraceJoiner
27.FTSE2024-06-24VTYV.LVistry GroupJoiner
28.FTSE2024-06-24SJP.LSt James's PlaceLeaver
29.FTSE2024-06-24RS1R.LRS GroupLeaver
30.FTSE2024-06-24OCDO.LOcado GroupLeaver
31.FTSE2024-06-24LMPL.LLondonMetrc PrtyJoiner
32.FTSE2024-07-08SWR.LSmurfit WestRockLeaver
33.FTSE2024-07-08EDV.LEndeavour MingJoiner
34.FTSE2024-09-23BRBY.LBurberry GroupLeaver
35.FTSE2024-09-23HSX.LHiscoxJoiner
36.FTSE2024-10-01BLND.LBritish LandJoiner
37.FTSE2024-10-01DARK.L^J24DarktraceLeaver
38.FTSE2024-12-23BMEB.LB&M EuropeanLeaver
39.FTSE2024-12-23VTYV.LVistry GroupLeaver
40.FTSE2024-12-23ALWA.LAlliance WitanJoiner
41.FTSE2024-12-23SJP.LSt James's PlaceJoiner
42.FTSE2024-12-23GAW.LGames WorkshopJoiner
43.FTSE2024-12-23FRAS.LFrasers GrpLeaver
44.FTSE2025-02-03PCT.LPolar CapitalJoiner
45.FTSE2025-02-03SMDS.L^B25DS SmithLeaver
46.FTSE2025-03-24BLND.LBritish LandLeaver
47.FTSE2025-03-24CCEPC.LCoca-Cola UKJoiner
48.FTSE2025-03-24BAB.LBabcock IntlJoiner
49.FTSE2025-03-24HRGV.L^C25HargreavesLeaver
50.FTSE2025-09-22BRBY.LBurberry GroupJoiner
51.FTSE2025-09-22UTG.LUniteLeaver
52.FTSE2025-09-22TW.LTaylor PLCLeaver
53.FTSE2025-09-22MTLN.LMetlen EnergyJoiner
54.FTSE2025-12-22BLND.LBritish LandJoiner
55.FTSE2025-12-22WPP.LWPPLeaver

Company News

Workspace In LSEG Workspace, users can access real-time news headlines and stories for equities and other financial instruments through the News Monitor app by entering a news query, such as a RIC.

LSEG News

LDLib You can use the same news query in the LSEG Data Library for Python to retrieve news headlines related to a specific RIC. For example, the following code uses the query 'R:LSEG.L and LEN' to return English news headlines for LSEG.L

news_df = ld.news.get_headlines(
query = 'R:LSEG.L and LEN'
)
news_df

LDLib The retrieved response includes news headlines and their corresponding story IDs, which can be used to fetch the full news stories. The following code uses the first news story ID to fetch the first complete news story.

from IPython.display import HTML
story = ld.news.get_story(news_df.iloc[0]['storyId'])

#Display only the first 1000 characters of the story for brevity
HTML(story[:1000])

Top News

Top News is a browser-based research tool that displays financial news in a newspaper-style format.

Workspace In LSEG Workspace, users can access top news from the TOPNEWS app.

topnews

LDLib Top news can also be accessed through the LSEG Data Library for Python by using the news.top_news module.

from lseg.data.content import news
from IPython.display import HTML

hierarchy = news.top_news.hierarchy.Definition().get_data()

#Retrieve the top news headlines for the 'Front Page' section of the 'Main' hierarchy
news_response = news.top_news.Definition(hierarchy.data.hierarchy['Main']['Front Page'].top_news_id).get_data()

#Display the first headline, image, and a snippet of the story
display(news_response.data.df.iloc[0]["headline"])

display(news.images.Definition(news_response.data.df.iloc[0]["imageId"]).get_data().data.image.show())

#display the first 1000 characters of the story for brevity
display(HTML(ld.news.get_story(news_response.data.df.iloc[0]["storyId"])[:1000]))


Real-Time Streaming Data

LSEG Workspace provides access to real-time market data streams for financial instruments through the Quote application, allowing users and applications to subscribe to live market prices, quotes, trades, and status updates.

Workspace In LSEG Workspace, users can enter a RIC in the Quote application to access real-time streaming market data. For example, the following shows the Quote application that displays streaming data for LSEG.L.

LSEG Quote

LDLib Using the LSEG Data Library for Python, users can also access real‑time streaming data with the ld.open_pricing_stream method by specfying RICS and fields in the universe and fields parameter respectively. If the fields parameter is omitted, the response automatically includes all available real-time fields of the subscribed RICs. For example, the following code subscribes to real-time streaming data for LSEG.L and .FTSE.

import time
import datetime
from IPython.display import display, clear_output

def display_data(data, instrument, stream):
clear_output(wait=True)
current_time = datetime.datetime.now().time()
print(current_time, "- Data received for", instrument)
display(stream.get_snapshot())


stream = ld.open_pricing_stream(
universe=['LSEG.L','.FTSE'],
fields=['DSPLY_NAME','CF_DATE','CF_LAST','NETCHNG_1','PCTCHNG','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME','OPEN_PRC'],
on_data=display_data
)

#Run for 10 seconds to receive some data, then close the stream
time.sleep(10)

stream.close()

17:03:44.042610 - Data received for .FTSE

InstrumentDSPLY_NAMECF_DATECF_LASTNETCHNG_1PCTCHNGCF_HIGHCF_LOWCF_EXCHNGCF_VOLUMEOPEN_PRC
0LSEG.LLON.STK.EXCH/d2026-02-237830.0-74.0-0.9367886.07764.0LSE745007862.0
1.FTSEFTSE 100 INDEX/d2026-02-2310683.53-3.36-0.0310691.8910660.03FSI6897713410686.75
    <OpenState.Closed: 'Closed'>

Delayed Equities and Indices

If you require price levels for a share or index but do not have access to the real-time exchange feed, you can often use delayed quotes.

  • Most exchanges provide delayed data free of charge.
  • Delay times vary by exchange and by product.

Real-Time vs. Delayed Data

Real-time data reflects actual market prices as they occur, while delayed data (typically 15-20 minutes behind) is available for users without full real-time market data access. LSEG Workspace allows filtering by available data feeds to match your subscription level.

Checking delay times

  • Use WORLD/DELAY1 page RIC to see which exchanges offer delayed information and the length of each delay.

Requesting delayed quotes

  • For a delayed full quote on an equity or index, put a forward slash (/) in front of the RIC.

    • Example: /LSEG.L – delayed full quote for London Stock Exchange Group PLC.
  • For delayed index constituents (chains), put / between the chain command and the index RIC:

    • Example: 0#/.FTSE or /.FTSE – delayed constituents for the FTSE 100 Index.

LDLib For example, the following code subscribes to real-time streaming data for the delayed RICs /LSEG.L and /.FTSE.

import time
import datetime
from IPython.display import display, clear_output

def display_data(data, instrument, stream):
clear_output(wait=True)
current_time = datetime.datetime.now().time()
print(current_time, "- Data received for", instrument)
display(stream.get_snapshot())


stream = ld.open_pricing_stream(
universe=['/LSEG.L','/.FTSE'],
fields=['DSPLY_NAME','CF_DATE','CF_LAST','NETCHNG_1','PCTCHNG','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME','OPEN_PRC'],
on_data=display_data
)

#Run for 10 seconds to receive some data, then close the stream
time.sleep(10)

stream.close()

17:20:08.532593 - Data received for /.FTSE

InstrumentDSPLY_NAMECF_DATECF_LASTNETCHNG_1PCTCHNGCF_HIGHCF_LOWCF_EXCHNGCF_VOLUMEOPEN_PRC
0/LSEG.LLON.STK.EXCH/d2026-02-237818.0-86.0-1.0887886.07764.0LSE772127862.0
1/.FTSEFTSE 100 INDEX/d2026-02-2310683.91-2.98-0.0310691.8910660.03FSI7417410310686.75
    <OpenState.Closed: 'Closed'>

LDLib The following code uses the Chain object in LSEG Data Library for Python to expand the delayed chain RIC 0#/.FTSE and then use the resulting constituent RICs to retrieve data for those instruments.

from lseg.data.discovery import Chain

chain = Chain("0#/.FTSE")

ld.get_data(
universe=chain.constituents,
fields=['DSPLY_NAME','CF_DATE','CF_LAST','CF_BID','CF_ASK','CF_HIGH','CF_LOW','CF_EXCHNG','CF_VOLUME']
)


InstrumentDSPLY_NAMECF_DATECF_LASTCF_BIDCF_ASKCF_HIGHCF_LOWCF_EXCHNGCF_VOLUME
0/AAF.LAIRTEL AFRICA/d2026-02-23355.6355355.6359354.8LSE264723
1/AAL.LANGLO AMERICAN/d2026-02-233637.03633363536603604LSE204511
2/ABF.LA.B.FOOD/d2026-02-231968.01967196819741952LSE86527
3/ADML.LADMIRAL GRP/d2026-02-232868.02866286829022866LSE49710
4/AHT.LASHTEAD GRP./d2026-02-235178.05176518052085108LSE100243
.................................
95/ULVR.LUNILEVER/d2026-02-235394.05393539554235383LSE151660
96/UU.LUTD. UTILITIES/d2026-02-231333.51333.513341351.51333.5LSE55315
97/VOD.LVODAFONE GRP./d2026-02-23115.75115.75115.8116.4115.35LSE4338223
98/WEIR.LWEIR GRP./d2026-02-233472.03470347434783450LSE49751
99/WTB.LWHITBREAD/d2026-02-232695.02694269727302678LSE154804

100 rows × 10 columns

Second-Level (Order Book / Market Maker) Data

Some order-driven exchanges provide market-maker or depth-of-market information. For example, the London Stock Exchange RICs (LSEG.L) support the Level 2 Market-By-Order and Market-By-Price domains while the NASDAQ RICs (GOOG.O) support the Level 2 Market-Maker domain.

LDLib Using the LSEG Data Library for Python, users can access real‑time data from the Level 2 domains (MarketByOrder, MarketByPrice, and MarketMaker). The following example illustrates how to stream real‑time Level 2 Market‑By‑Order data for the RIC LSEG.L.

from lseg.data.delivery import omm_stream
import json
import time
import datetime

def display_event(eventType, event):
currentTime = datetime.datetime.now().time()
print("----------------------------------------------------------")
print(">>> {} event received at {}".format(eventType, currentTime))
print(json.dumps(event, indent=2))
return

stream = omm_stream.Definition(
domain="MarketByOrder",
name="LSEG.L"
).get_stream()

stream.on_refresh(lambda event, item_stream : display_event("Refresh", event))
stream.on_update(lambda event, item_stream : display_event("Update", event))
stream.on_status(lambda event, item_stream : display_event("Status", event))
stream.on_error(lambda event, item_stream : display_event("Error", event))

stream.open()

#Run for 10 seconds to receive some data, then close the stream
time.sleep(10)

stream.close()
    ----------------------------------------------------------
>>> Status event received at 16:29:39.797967
{
"Domain": "MarketByOrder",
"Type": "Status",
"ID": 20,
"Key": {
"Name": "LSEG.L"
},
"State": {
"Data": "Suspect",
"Stream": "Closed",
"Code": "NotEntitled",
"Text": "Access Denied: User req to PE(249)"
}
}





<OpenState.Closed: 'Closed'>

Real-Time Historical Data

Real-time historical data in LSEG Workspace provides access to current and recent pricing information for equities, indices, and other trading instruments. This data is essential for market analysis, trading decisions, and monitoring portfolio performance.

Workspace In LSEG Workspace, users can access real-time interday, intraday, and time and sales historical data through the Price History (PH) and Times & Sales (TAS) applications.

LSEG Price History

LSEG TAS

LDLib Using the LSEG Data Library for Python, users can also retrieve real‑time historical data with the ld.get_history method. The interval parameter allows users to specify the desired frequency and supports the following values:

tick, tas, taq, minute, 1min, 5min, 10min, 30min, 60min, hourly, 1h, daily, 1d, 1D, 7D, 7d, weekly, 1W, monthly, 1M, quarterly, 3M, 6M, yearly, 1Y

If the fields parameter is omitted, the response automatically includes all available fields for the selected interval.

Interday Historical Data

The following code is used to retrieve daily historical data (OHLC) for LSEG.L.

ld.get_history(
universe=['LSEG.L'],
fields = ['OPEN_PRC','HIGH_1','LOW_1','TRDPRC_1'],
interval = '1d')
LSEG.LOPEN_PRCHIGH_1LOW_1TRDPRC_1
Date
2026-01-268796883485788614.0
2026-01-278576866482248252.0
2026-01-288268838082168296.0
2026-01-298344838481188204.0
2026-01-308100821080508146.0
2026-02-028102832880668310.0
2026-02-038236828271247434.0
2026-02-047106720466847058.0
2026-02-057340774472987608.0
2026-02-067248771671847568.0
2026-02-097480763474567514.0
2026-02-107498762070127408.0
2026-02-117880798872507428.0
2026-02-127492761474087500.0
2026-02-137630773275407584.0
2026-02-167722772676007610.0
2026-02-177634765875107576.1579
2026-02-187500780874487728.0
2026-02-197832789277567780.0
2026-02-207812796878127924.0

Intraday Historical Data

The following code is used to retrieve hourly historical data (OHLC) for LSEG.L.

ld.get_history(
universe=['LSEG.L'],
fields = ['OPEN_PRC','HIGH_1','LOW_1','TRDPRC_1'],
interval = '1h')
LSEG.LOPEN_PRCHIGH_1LOW_1TRDPRC_1
Timestamp
2026-02-18 15:00:007718.077487687.79567730.0
2026-02-18 16:00:007730.078087718.07790.0
2026-02-19 08:00:007832.078927760.07796.0
2026-02-19 09:00:007800.078627767.89027827.9
2026-02-19 10:00:007820.078727812.07852.0
2026-02-19 11:00:007852.078527796.07796.0
2026-02-19 12:00:007798.078167772.07797.664
2026-02-19 13:00:007800.078087764.07808.0
2026-02-19 14:00:007808.078547794.07854.0
2026-02-19 15:00:007850.078507756.07774.0
2026-02-19 16:00:007776.078027766.07778.0
2026-02-20 08:00:007812.079307812.07850.0
2026-02-20 09:00:007850.078967848.07876.0
2026-02-20 10:00:007880.079007848.017866.0
2026-02-20 11:00:007866.078947862.07886.0
2026-02-20 12:00:007888.09779307884.07921.0177
2026-02-20 13:00:007922.007879347854.07885.816
2026-02-20 14:00:007882.37679187846.07906.415
2026-02-20 15:00:007906.079687892.07934.0
2026-02-20 16:00:007932.079567904.07904.0

Times and Sales Data

The following code is used to retrieve times and sales data for LSEG.L and the fields parameter is omitted.

ld.get_history(
universe=['LSEG.L'],
interval = 'tas')

C:\Users\jphuriph\AppData\Roaming\Python\Python312\site-packages\lseg\data_tools_dataframe.py:177:FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set pd.set_option('future.no_silent_downcasting', True)

LSEG.LEVENT_TYPERTLSOURCE_DATETIMESEQNUMTRDXID_1TRDPRC_1TRDVOL_1VWAPBIDBIDSIZE...TRNOVR_UNSNETCHNG_1MMT_CLASSTR_TRD_FLGACVOL_UNSOPEN_PRCHIGH_1LOW_1QUALIFIERSTAG
Timestamp
2026-02-20 16:35:10.782trade389422026-02-20T16:35:20.048000000Z1805306SINT7904.095789979041379...11151222768.700001<NA>47----1-MP----SI1413785781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38942_0_2
2026-02-20 16:35:10.782trade386862026-02-20T16:35:19.078000000Z1805194SINT7904.096789979041379...11142046224.700001<NA>47----1-MP----SI1412624781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38686_0_2
2026-02-20 16:35:10.782trade387182026-02-20T16:35:19.078000000Z1805196SINT7904.099789979041379...11142828720.700001<NA>47----1-MP----SI1412723781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38718_0_2
2026-02-20 16:35:10.782trade387502026-02-20T16:35:19.225000000Z1805211SINT7904.097789979041379...11143595408.700001<NA>47----1-MP----SI1412820781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38750_0_2
2026-02-20 16:35:10.782trade387822026-02-20T16:35:19.290000000Z1805216SINT7904.098789979041379...11144370000.700001<NA>47----1-MP----SI1412918781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38782_0_2
2026-02-20 16:35:10.782trade388142026-02-20T16:35:19.378000000Z1805231SINT7904.0325789979041379...11146938800.700001<NA>47----1-MP----SI1413243781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38814_0_2
2026-02-20 16:35:10.782trade388462026-02-20T16:35:19.689000000Z1805269SINT7904.091789979041379...11147658064.700001<NA>47----1-MP----SI1413334781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38846_0_2
2026-02-20 16:35:10.782trade388782026-02-20T16:35:19.905000000Z1805290SINT7904.0101789979041379...11148456368.700001<NA>47----1-MP----SI1413435781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38878_0_2
2026-02-20 16:35:10.782trade389102026-02-20T16:35:19.976000000Z1805297SINT7904.0255789979041379...11150471888.700001<NA>47----1-MP----SI1413690781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38910_0_2
2026-02-20 16:35:10.782trade386222026-02-20T16:35:18.564000000Z1805140SINT7904.0151789979041379...11140504944.700001<NA>47------MP----SI1412429781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38622_0_2
2026-02-20 16:35:10.782trade389742026-02-20T16:35:21.155000000Z1805391SINT7904.03789979041379...11151246480.700001<NA>47----1-MP----SI1413788781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38974_0_2
2026-02-20 16:35:10.782trade390062026-02-20T16:35:21.382000000Z1805425SINT7904.098789979041379...11152021072.700001<NA>47----1-MP----SI1413886781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_39006_0_2
2026-02-20 16:35:10.782trade386542026-02-20T16:35:18.653000000Z1805161SINT7904.099789979041379...11141287440.700001<NA>47----1-MP----SI1412528781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m35_s10_ms0000_0_38654_0_2
2026-02-20 16:38:46.374trade391822026-02-20T16:38:47.720000000Z1813932XLON7920.9625789979041385...11168793784.700001<NA>45------MT----RX1413911781279687812R[ACT_FLAG1];R[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m38_s46_ms0374_0_39182_0_2
2026-02-20 16:40:00.109mkt. condition392002026-02-20T16:40:00.075000000Z5864944<NA><NA><NA><NA><NA><NA>...<NA><NA><NA><NA><NA><NA><NA><NA>CLS[PRC_QL3];Mkt Conditions[USER]d20_m02_y2026_h16_m40_s00_ms0109_0_39200_0_20
2026-02-20 16:47:09.000trade393102026-02-20T16:47:10.278000000Z1826510SINT7908.03933000789979041385...11429759071.700001<NA>47----B-MP---2SI1446911781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m47_s09_ms0000_0_39310_0_2
2026-02-20 16:48:22.000trade393422026-02-20T16:48:23.392000000Z1827654SINT7904.0137789979041385...11430841919.700001<NA>47----B-MP---2SI1447048781279687812S[ACT_FLAG1];S[CONDCODE_1];[CONDCODE_2];N [EL...d20_m02_y2026_h16_m48_s22_ms0000_0_39342_0_2
2026-02-20 17:15:00.099mkt. condition395202026-02-20T17:15:00.046000000Z5867533<NA><NA><NA><NA><NA><NA>...<NA><NA><NA><NA><NA><NA><NA><NA>CLS[PRC_QL3];Mkt Conditions[USER]d20_m02_y2026_h17_m15_s00_ms0099_0_39520_0_20
2026-02-20 17:30:00.500mkt. condition396162026-02-20T17:30:00.099000000Z5868282<NA><NA><NA><NA><NA><NA>...<NA><NA><NA><NA><NA><NA><NA><NA>CLS[PRC_QL3];Mkt Conditions[USER]d20_m02_y2026_h17_m30_s00_ms0500_0_39616_0_20
2026-02-23 03:55:01.023trade39918<NA><NA><NA><NA><NA><NA><NA><NA>...<NA><NA><NA><NA><NA><NA><NA><NA><NA>d23_m02_y2026_h03_m55_s01_ms0023_0_39918_0_22

20 rows × 30 columns

The help(ld.get_history) command can be used to print the desciption of this method and list all available parameters.

help(ld.get_history)

Help on function get_history in module lseg.data._access_layer.get_history_func:

get_history(universe: Union[str, Iterable[str]], fields: Union[str, Iterable[str], NoneType] = None, interval: Optional[str] = None, start: 'OptDateTime' = None, end: 'OptDateTime' = None, adjustments: Optional[str] = None, count: Optional[int] = None, parameters: Union[str, dict, NoneType] = None, header_type: lseg.data.content._header_type.HeaderType = <HeaderType.TITLE: 2>) -> pandas.core.frame.DataFrame
Retrieves the pricing history, as well as Fundamental and Reference data history.

Parameters
----------
universe: str | list
Instruments to request
fields: str | list, optional
Fields to request
interval: str, optional
Date interval. Supported intervals are:
tick, tas, taq, minute, 1min, 5min, 10min, 30min, 60min, hourly, 1h, daily,
1d, 1D, 7D, 7d, weekly, 1W, monthly, 1M, quarterly, 3M, 6M, yearly, 1Y
start: str or date or datetime or timedelta, optional
The start date and timestamp of the requested history
end: str or date or datetime or timedelta, optional
The end date and timestamp of the requested history
adjustments : str, optional
Tells the system whether to apply or not apply CORAX (Corporate Actions)
events or exchange/manual corrections or price and volume adjustment
according to trade/quote qualifier summarization actions to historical time
series data. Possible values are:
exchangeCorrection, manualCorrection, CCH, CRE, RTS, RPO, unadjusted,
qualifiers
count : int, optional
The maximum number of data points returned. Values range: 1 - 10000.
Applies only to pricing fields.
parameters: str | dict, optional
Single global parameter key=value or dictionary
of global parameters to request.
Applies only to TR fields.
header_type: HeaderType, default HeaderType.TITLE
If HeaderType.TITLE - returns field title as column headers for data
If HeaderType.NAME - returns field name as column headers for data
If HeaderType.NAME_AND_TITLE - returns field name and title as column headers for data

Returns
-------
pandas.DataFrame

Examples
--------
>>> get_history(universe="GOOG.O")
>>> get_history(universe="GOOG.O", fields="tr.Revenue", interval="1Y")
>>> get_history(
... universe="GOOG.O",
... fields=["BID", "ASK", "tr.Revenue"],
... interval="1Y",
... start="2015-01-01",
... end="2020-10-01",
... )

Equity Views (LSEG Workspace)

Equity Views are web-based displays that provide a consolidated view of company information.

Workspace In LSEG Workspace, users can open the Equity View by entering a RIC in the global search bar and pressing Enter. The view displays the instrument's data across multiple categorized tabs.

LSEG Overview

Overview

The Overview tab includes corporate information, financial summaries, key ratios, and aggregated data from other tabs. This information can typically be retrieved using ld.get_data with the appropriate fundamental fields prefixed with TR. Users can locate these fields and parameters through the Data Item Browser tool, or—where available—by clicking the small (?) icon displayed next to a field name to identify the source field that provides the data.

LSEG Fields Hint

LDLib For example, the following code uses LSEG Data Library for Python to retrieve corporate information and some key ratios for LSEG.L.

ld.get_data(
universe = ['LSEG.L'],
fields = [
'TR.BusinessSummary',
'TR.OrganizationWebsite',
'TR.F.TotRevenue(Period=FY0)',
'TR.F.EVToEBITDA(Period=FY0)',
'TR.F.EVToEBIT(Period=FY0)',
'TR.F.Ev(Period=FY0)',
'TR.F.PriceToTotRevPerShr(Period=FY0)',
'TR.H.PE'

]
)

InstrumentBusiness DescriptionOrganization WebsiteRevenue from Business Activities - TotalEnterprise Value to EBITDAEnterprise Value to EBITEnterprise ValuePrice to Total Revenue per ShareP/E(Time Series Ratio)
0LSEG.LLondon Stock Exchange Group plc (LSEG) is a gl...https://www.lseg.com/768500000016.79832136.726093686043424017.85618140.753474

News

The News tab displays the news headlines that relates to the item.

LDLib Using the LSEG Data Library for Python, users can call the ld.news.get_headlines method with the 'R:<RIC>' news query to retrieve news headlines related to a specific RIC. For more information, please refer to the Company News section.

Price & Charts

The Price & Charts tab displays the current prices and historical prices.

LDLib Using the LSEG Data Library for Python, users can call the ld.get_data, ld.open_pricing_stream, and ld.get_history methods to retrieve current prices, streaming prices, and historical prices respectively. For more information, please refer to the following sections.

Estimates

The Estimates tab provides analyst‑driven forecasts, including detailed estimates, valuation multiples, recommendations, and historical surprises. It also offers tools such as guidance summaries, analyst revision tracking, and interactive financial views to help assess forward‑looking performance.

Estimates are part of the library’s Fundamental & Reference ("TR.") data items. You discover the exact field mnemonics (e.g., TR.EPSMean, TR.RevenueMean, TR.TargetPriceMean, TR.EpsSmartEst, TR.EpsPreSurprisePct etc.) and their parameters (period, currency, fiscal year) in the Data Item Browser (DIB) inside Workspace, then call them with the ld.get_data or ld.get_history methods.

LDLib The code below uses the LSEG Data Library for Python to retrieve monthly estimate data for the past ten months.

ld.get_data(
universe = ['LSEG.L'],
fields = ['TR.EpsSmartEst.Date','TR.EpsSmartEst','TR.RevenueSmartEst','TR.EBITDASmartEst','TR.EBITDAPreSurprise'],
parameters = {'Frq':'M', 'SDate':0,'Period':'FY1','EDate':'-9'}
)

InstrumentDateEarnings Per Share - SmartEstimate®Revenue - SmartEstimate®EBITDA - SmartEstimate®EBITDA - Predicted Surprise
0LSEG.L2026-01-294.13543289795797204518387170997840
1LSEG.L2025-12-184.1308618970049630450658098014950510
2LSEG.L2025-11-244.1266518969476400450421457013560490
3LSEG.L2025-10-314.1276878971498320450460165013590570
4LSEG.L2025-09-304.00121489682783404388766560-11512510
5LSEG.L2025-08-123.99317189883863404394642500-11390290
6LSEG.L2025-07-313.89542989581291104409912860-15137140
7LSEG.L2025-06-303.91926590119942704437918100-4739190
8LSEG.L2025-05-283.92870590330847804453312770-3749620
9LSEG.L2025-04-223.98224691174012604520368310-14925120

Financials

The Financials tab in LSEG Workspace provides a comprehensive view of a company’s fundamental data, including key financial statements such as the income statement, balance sheet, and cash flow. It also offers deeper analytical sections covering operating metrics, segments, valuation, pension details, and capital structure. Together, these tools help users evaluate a company’s financial performance, stability, and underlying drivers.

You can retrieve the data shown in the Financials tab by calling the TR.* fundamental data fields through the LSEG Data Library’s ld.get_data or ld.get_history functions, which provide access to income statements, balance sheets, cash flows, valuation metrics, and other fundamentals. The library exposes these items through the Fundamental & Reference content set, and you simply specify the fields along with parameters such as period type, fiscal year, currency, and scale. Exact field names and valid parameters can be found in the Data Item Browser (DIB) inside Workspace before using them in your Python requests.

LDLib The code below uses the LSEG Data Library for Python to retrieve the current income statment fields and values.

ld.get_data(
universe = ['VOD.L'],
fields = ['TR.F.IncomeStatement.fieldname', 'TR.F.IncomeStatement.fielddescription', 'TR.F.IncomeStatement'],
parameters={'Period': 'FY0', 'reportingState': 'Rsdt', 'curn': 'Native', 'Scale': '6', 'SORTA': 'LISeq'})

InstrumentNameDescriptionSTD Income Statement All
0VOD.LTR.F.RevGoodsSrvcRevenue from Goods & Services [SNTS] represent...30758.0
1VOD.LTR.F.SalesOfGoodsSrvcNetUnclassifSales of Goods & Services - Net - Unclassified...30758.0
2VOD.LTR.F.RevBizRelActivOthTotRevenue from Business-Related Activities - Oth...6690.0
3VOD.LTR.F.TotRevenueRevenue from Business Activities - Total [STLR...37448.0
4VOD.LTR.F.CostOfOpRevCost of Operating Revenue [SCOR] represents th...24929.0
...............
164VOD.LTR.F.DPSComGrossIssueByPrdEndDateDPS - Common - Gross - Issue - By Period End D...0.0
165VOD.LTR.F.OpExpnExclNonCashChrgTotOperating Expenses excluding Non-Cash Charges ...21626.0
166VOD.LTR.F.IncAvailToComShrBefDeprAmortIncome Available to Common Shares before Depre...6635.0
167VOD.LTR.F.FixedChrgFixed Charges [SFXC] represents the sum of Int...2541.0
168VOD.LTR.F.EstTaxRateEstimated Tax Rate [SETAXV] represents the est...0.19

169 rows × 4 columns

ESG

The ESG tab in LSEG Workspace provides a comprehensive view of a company’s environmental, social, and governance performance, including dashboards, scores, peer comparisons, and controversy tracking. It also offers climate‑related analytics such as Climate MAP and green revenue data, along with regulatory frameworks like EU Taxonomy and SFDR. Additional sections cover sustainable debt, sovereign sustainability, and research insights to support deeper sustainable‑finance analysis.

You can retrieve ESG data by requesting the appropriate TR.* ESG fields using the LSEG Data Library’s ld.get_data or ld.get_history functions. These fields are part of the library’s Fundamental & Reference content set, and you simply provide the field names with any required parameters. Use the Data Item Browser (DIB) in Workspace to look up the exact ESG field mnemonics and valid parameters before querying them.

LDLib The code below uses the LSEG Data Library for Python to retrieve the ESG data from the past 10 years.

ld.get_history(
universe=['LSEG.L'],
fields=[
'TR.TRESGCScore',
'TR.ESGPeriodLastUpdateDate'
'TR.TRESGResourceUseScore',
'TR.TRESGInnovationScore',
'TR.TRESGWorkforceScore',
'TR.TRESGHumanRightsScore',
'TR.TRESGCommunityScore',
'TR.TRESGProductResponsibilityScore',
'TR.TRESGShareholdersScore'
],
parameters={'Frq':'FY', 'SDate':0,'EDate':-9,'Period':'FY0'})
LSEG.LESG Combined ScoreEnvironmental Innovation ScoreWorkforce ScoreHuman Rights ScoreCommunity ScoreProduct Responsibility ScoreShareholders Score
Date
2015-12-3156.8459338.39285782.59493787.17948787.02531648.16513861.180905
2016-12-3159.80421939.39393980.16759897.22222287.43016848.57142991.287879
2017-12-3168.08772739.32584392.08144896.75324788.40909145.15151569.515306
2018-12-3171.09793254.24528396.97580693.39622697.36842146.03960463.127854
2019-12-3175.22266751.71232999.83050891.72413896.77966145.0199261.630219
2020-12-3172.76898749.41176598.94894990.96385598.04804843.7956260.142631
2021-12-3167.71959950.49261197.14673992.19512280.29891343.55345958.653846
2022-12-3169.39300367.40088197.88557289.894.15422942.45810152.777778
2023-12-3158.87772767.08333398.88059787.77372393.65671642.46575348.846154
2024-12-3176.29754464.497.38154687.14788792.89276842.20430189.137134

Corporate Governance & Officers

The Corporate Governance & Officers tab in LSEG Workspace provides insights into a company’s governance structure, including takeover defenses, activism activity, and peer comparisons of governance practices. It also offers detailed information on officers and directors, their relationships, and organizational connections. Together, these tools help users evaluate leadership, governance risks, and corporate influence networks.

You can retrieve Corporate Governance & Officers data by calling the appropriate TR.* fundamental fields through the LSEG Data Library for Python using ld.get_data or ld.get_history. These fields cover items such as takeover defenses, activism activity, officer/director details, and relationship data, all of which are part of the library’s Fundamental & Reference content set. To use them, look up the exact TR. field mnemonics in the Data Item Browser (DIB) in Workspace, then pass those fields—along with any required parameters like period or entity identifiers—into your Python requests.

LDLib The code below uses the LSEG Data Library for Python to retrieve the key company officers of LSEG.L.

ld.get_data(
universe=['LSEG.L'],
fields=['TR.OfficerName',
'TR.OfficerTitle',
'TR.OfficerTitleSince',
'TR.OfficerAge',
],
parameters={'RNK':'R1:R30'}
)

C:\Users\jphuriph\AppData\Roaming\Python\Python312\site-packages\lseg\data_tools_dataframe.py:192:FutureWarning: Downcasting behavior in replace is deprecated and will be removed in a future version. To retain the old behavior, explicitly call result.infer_objects(copy=False). To opt-in to the future behavior, set pd.set_option('future.no_silent_downcasting', True)

InstrumentOfficer NameOfficer TitleOfficer Title SinceOfficer Age
0LSEG.LMr. Donald (Don) Robert, CBENon-Executive Independent Chairman of the Board2019<NA>
1LSEG.LMr. David Schwimmer, J.D.Group Chief Executive Officer, Executive Director202354
2LSEG.LMr. Michel-Alain ProchGroup Chief Financial Officer, Executive Director202455
3LSEG.LMr. Daniel MaguireGroup Head - LSEG Markets, Chief Executive Off...202447
4LSEG.LMr. Pascal BoillatChief Operating Officer2024<NA>
5LSEG.LMs. Erica BourneChief People Officer2023<NA>
6LSEG.LMr. Irfan HussainChief Information Officer2024<NA>
7LSEG.LMr. Steve JohnChief Corporate Affairs and Marketing Officer2025<NA>
8LSEG.LMr. Balbir BakhshiChief Risk Officer202155
9LSEG.LMs. Catherine JohnsonGeneral Counsel202056
10LSEG.LGianluca BiaginiCo-Head of Data & Analytics2025<NA>
11LSEG.LMr. Chris ColemanGroup Head of Sales and Account Management2026<NA>
12LSEG.LMr. Ron LeffertsCo-Head of Data & Analytics2025<NA>
13LSEG.LMs. Lisa Margaret CondronGroup Company Secretary175357
14LSEG.LMr. Scott GuthrieNon-Executive Director2023<NA>
15LSEG.LMr. Dominic BlakemoreNon-Executive Independent Director202054
16LSEG.LMr. Martin J. BrandNon-Executive Independent Director202550
17LSEG.LDame Elizabeth CorleyNon-Executive Independent Director2025<NA>
18LSEG.LProf. Kathleen Traynor DeroseNon-Executive Independent Director201865
19LSEG.LMrs. Tsega GebreyesNon-Executive Independent Director202155
20LSEG.LMs. Cressida M. Hogg, CBESenior Non-Executive Independent Director2021<NA>
21LSEG.LMr. Lloyd PitchfordNon-Executive Independent Director202553
22LSEG.LDr. Valerie (Val) RahmaniNon-Executive Independent Director201767
23LSEG.LMr. William VerekerNon-Executive Independent Director2022<NA>

Events

The Events tab in LSEG Workspace provides a consolidated view of a company’s key corporate events, including earnings announcements, meetings, and other scheduled activities. It also covers major transactions such as company deals and M&A insights, along with detailed corporate actions like capital changes and dividend events. These tools help users track important milestones and structural changes affecting a company.

You can retrieve data from the Events tab by calling the appropriate TR.* corporate‑events and corporate‑actions fields using the LSEG Data Library’s ld.get_data or ld.get_history functions. These fields cover items such as earnings events, company deals, M&A indicators, capital changes, and dividend details, and can be queried by supplying the required event parameters (e.g., date range or event type). The exact field mnemonics can be looked up in the Data Item Browser (DIB) inside Workspace, then passed directly into your Python requests.

LDLib The code below uses the LSEG Data Library for Python to retrieve upcoming events scheduled for the next five months.

ld.get_data(
universe = ['LSEG.L'],
fields = [
'TR.EventStartDate',
'TR.EventType',
'TR.EventTitle',
'TR.EventEndDate'
],
parameters={'SDate':'1D','EDate':'5M','EventType':'ALL'}
)
InstrumentEvent Start DateCompany Event TypeEvent TitleEvent End Date
0LSEG.L2026-02-28Self Tender/Repurchase - UpcomingBuyback: London Stock Exchange Group / US$1.3B2026-02-28
1LSEG.L2026-04-16ExDividendsLSE.DEU Final Cash Dividend of gross GBP 1.03 ...2026-04-16
2LSEG.L2026-04-16ExDividendsLSEGGBP.xbo Final Cash Dividend of gross GBP 1...2026-04-16
3LSEG.L2026-04-16ExDividendsLSEGl.EDv Final Cash Dividend of gross GBP 1.0...2026-04-16
4LSEG.L2026-04-16ExDividendsLSEGl.TQ Final Cash Dividend of gross GBP 1.03...2026-04-16
5LSEG.L2026-04-16ExDividendsLSEGl.BS Final Cash Dividend of gross GBP 1.03...2026-04-16
6LSEG.L2026-04-16ExDividendsLSEGl.ED Final Cash Dividend of gross GBP 1.03...2026-04-16
7LSEG.L2026-04-16ExDividendsLSE.xt Final Cash Dividend of gross GBP 1.03 p...2026-04-16
8LSEG.L2026-04-16ExDividendsLSEGl.AQX Final Cash Dividend of gross GBP 1.0...2026-04-16
9LSEG.L2026-04-16ExDividendsLSE.TG Final Cash Dividend of gross GBP 1.03 p...2026-04-16
10LSEG.L2026-04-16ExDividendsLSEGl.TRE Final Cash Dividend of gross GBP 1.0...2026-04-16
11LSEG.L2026-04-16ExDividendsLSEl.ICEM Final Cash Dividend of gross GBP 1.0...2026-04-16
12LSEG.L2026-04-16ExDividendsLSEGl.EDM Final Cash Dividend of gross GBP 1.0...2026-04-16
13LSEG.L2026-04-16ExDividendsLSEGl.TRU Final Cash Dividend of gross GBP 1.0...2026-04-16
14LSEG.L2026-04-16ExDividendsLSE.HA Final Cash Dividend of gross GBP 1.03 p...2026-04-16
15LSEG.L2026-04-16ExDividendsLSE.BN Final Cash Dividend of gross GBP 1.03 p...2026-04-16
16LSEG.L2026-04-16ExDividendsLSE.F Final Cash Dividend of gross GBP 1.03 pa...2026-04-16
17LSEG.L2026-04-16ExDividendsLSE.MU Final Cash Dividend of gross GBP 1.03 p...2026-04-16
18LSEG.L2026-04-16ExDividendsLSEGl.CHI Final Cash Dividend of gross GBP 1.0...2026-04-16
19LSEG.L2026-04-16ExDividendsLSE.SG Final Cash Dividend of gross GBP 1.03 p...2026-04-16
20LSEG.L2026-04-16ExDividendsLSEG.L Final Cash Dividend of gross GBP 1.03 p...2026-04-16
21LSEG.L2026-04-16ExDividendsLSE.D Final Cash Dividend of gross GBP 1.03 pa...2026-04-16
22LSEG.L2026-04-16ExDividendsLSE.LAS Final Cash Dividend of gross GBP 1.03 ...2026-04-16
23LSEG.L2026-04-16ExDividendsLSEGl.TWEM Final Cash Dividend of gross GBP 1....2026-04-16
24LSEG.L2026-04-16ExDividendsLSEGl.STp Final Cash Dividend of gross GBP 1.0...2026-04-16
25LSEG.L2026-04-16ExDividendsLSE.DE Final Cash Dividend of gross GBP 1.03 p...2026-04-16
26LSEG.L2026-04-16ExDividendsLSE.H Final Cash Dividend of gross GBP 1.03 pa...2026-04-16
27LSEG.L2026-04-17ExDividendsLDNXF.PQ Final Cash Dividend of gross GBP 1.03...2026-04-17
28LSEG.L2026-04-17ExDividendsLDNXF.PK Final Cash Dividend of gross GBP 1.03...2026-04-17
29LSEG.L2026-04-23SalesAndTradingStatementReleasesQ1 2026 London Stock Exchange Group PLC Tradin...2026-04-23
30LSEG.L2026-04-23ShareholderAndAnnualMeetingsLondon Stock Exchange Group PLC Annual Shareho...2026-04-23

Ownership

The Ownership tab in LSEG Workspace provides a detailed view of a company’s shareholder base, including major holders, institutional ownership, and insider positions. It also offers tools for analyzing shareholder peers, tracking regulatory filings such as UK register and RNS updates, and reviewing equity and short‑position data. These insights help users understand ownership concentration, investor behavior, and shifts in market positioning.

Ownership content is exposed as TR.* fundamentals within the library’s Fundamental & Reference set. You call these fields with ld.get_data and ld.get_history, supplying parameters like date (or date range), holder type, and currency/scale. Use the Data Item Browser (DIB) inside Workspace to find the exact TR. mnemonics and valid parameters before you query.

LDLib This code pulls recent ownership records for LSEG.L (including investor PermID, date, and held value), then extracts the unique investor IDs from that result. It makes a second query to fetch each investor’s common name and renames columns so IDs and names can be matched consistently. Finally, it merges those names back into the original ownership table.

df = ld.get_data(
universe=['LSEG.L'],
fields=[
'TR.SharesheldValue.investorpermid',
'TR.SharesheldValue.date',
'TR.SharesheldValue'
],
parameters={'Scale': '6', 'EndNum': 20}
)

investor_ids = df['Investor Perm Id'].dropna().astype(str).unique().tolist()

df_names = ld.get_data(
universe=investor_ids,
fields=['TR.CommonName']
)

df_names = df_names.rename(columns={
'Instrument': 'Investor Perm Id',
'Company Common Name': 'Company Name'
})

df = df.assign(**{'Investor Perm Id': df['Investor Perm Id'].astype(str)}).merge(
df_names[['Investor Perm Id', 'Company Name']],
on='Investor Perm Id',
how='left'
)

df
InstrumentInvestor Perm IdDateHoldings Value HeldCompany Name
0LSEG.L50000095562025-02-264704.406539Qatar Investment Authority
1LSEG.L50000256072025-02-264427.602927Blackrock Investment Management (UK) Ltd
2LSEG.L42979544952025-02-263883.877379Capital World Investors
3LSEG.L42959071682025-02-263262.444309Microsoft Corp
4LSEG.L50000044232025-02-263092.649165Lindsell Train Ltd
5LSEG.L42976519922025-10-231999.803864Vanguard Group Inc
6LSEG.L42963342942026-02-011392.564266Massachusetts Financial Services Co
7LSEG.L42964774822026-02-011391.654887Blackrock Institutional Trust Co NA
8LSEG.L50006678812026-02-011296.13521Norges Bank Investment Management
9LSEG.L50006502462026-02-01717.219763BlackRock Advisors (UK) Ltd
10LSEG.L50000640722025-10-23734.622087Ninety One UK Ltd
11LSEG.L50375889192025-10-23734.188581Fidelity Management & Research Company LLC
12LSEG.L50000572232025-10-17557.768442Invesco Asset Management Japan Ltd
13LSEG.L42959557512026-02-01464.575064Legal & General Investment Management Ltd
14LSEG.L42978361302026-02-01401.271113State Street Global Advisors Inc
15LSEG.L42960308572025-10-23450.987943Cantillon Capital Management LLC
16LSEG.L42979545012025-10-23448.210631Capital Research Global Investors
17LSEG.L50585984182025-10-17425.727663Vanguard Global Advisers LLC
18LSEG.L50000583402025-10-23400.634049Schroder Investment Management North America Inc
19LSEG.L42967757032026-02-01317.331062DWS Investment GmbH

Debt & Credit

The Debt & Credit tab in LSEG Workspace provides access to tools for analyzing a company’s debt profile and credit risk. Under the Debt section, users can view debt structure, issuer ratings, issuer curves, and information on exchangeables and convertible notes. The Credit section offers various credit‑risk analytics, including combined credit risk, text‑mining‑based credit insights, structural credit models, and smart‑ratio credit risk measures.

Using the LSEG Data Library for Python, you can retrieve data shown in the Debt & Credit tab of LSEG Workspace by calling the library’s Search API, Fundamental & Reference data, and Bond (FinancialContracts) endpoints. For example, debt structure information can be replicated by searching for an issuer’s bonds and then retrieving details such as maturity, coupon rate, and outstanding amounts. Issuer ratings, yield‑curve data, and credit‑risk metrics can also be accessed through standard ld.get_data calls using the appropriate fundamental fields.

LDLib This code first retrieves the organization identifier for LSEG.L, then use it to search for active bonds issued by this organization identifier. The query limits output to 100 rows.

org_df = ld.get_data(
universe=['LSEG.L'],
fields=['TR.OrganizationID']
)

org_id = org_df['Organization PermID'].iloc[0]

select_fields = [
'ISIN',
'DTSubjectName',
'RIC',
'IssueDate',
'Currency',
'RCSCurrencyLeaf',
'FaceIssuedTotal',
'EOMAmountOutstanding',
'NextCallDate',
'CouponRate',
'IsPerpetualSecurity',
'MaturityDate',
'CdsSeniorityEquivalentDescription'
]

bonds_df = ld.discovery.search(
view=ld.discovery.Views.GOV_CORP_INSTRUMENTS,
filter=(
f"ParentOAPermID eq '{org_id}' and IsActive eq true "
"and not(AssetStatus in ('MAT'))"
),
select=', '.join(select_fields),
top=100
)

bonds_df
ISINDTSubjectNameRICIssueDateCurrencyRCSCurrencyLeafFaceIssuedTotalEOMAmountOutstandingNextCallDateCouponRateIsPerpetualSecurityMaturityDateCdsSeniorityEquivalentDescription
0US50220WC227LSEG US Fin Corp50220WC22=2026-02-09USDUS Dollar<NA><NA>NaT0.0False2026-03-02Senior Unsecured
1XS3289879705LSEG Netherlands BVGB328987970=RRPS2026-02-02EUREuro5000000050000000NaT0.0False2026-03-02Senior Unsecured
2US50220WC300LSEG US Fin Corp50220WC30=2026-02-17USDUS Dollar<NA><NA>NaT0.0False2026-03-03Senior Unsecured
3XS3291822313LSEG Netherlands BVGB329182231=RRPS2026-02-04EUREuro30000000<NA>NaT0.0False2026-03-04Senior Unsecured
4US50220WC482LSEG US Fin Corp50220WC48=2026-02-18USDUS Dollar<NA><NA>NaT0.0False2026-03-04Senior Unsecured
..........................................
64US50220WCS52LSEG US Fin Corp<NA>2026-02-26USDUS Dollar<NA><NA>NaT0.0False2026-03-26Senior Unsecured
65XS3309692708LSEG Netherlands BV<NA>2026-02-27EUREuro17000000<NA>NaT0.0False2026-03-30Senior Unsecured
66XS3304270518LSEG Finance PLC<NA>2026-02-19GBPBritish Pound51000000<NA>NaT0.0False2026-05-19Senior Unsecured
67XS3304268538LSEG Finance PLC<NA>2026-02-19EUREuro51000000<NA>NaT0.0False2026-05-19Senior Unsecured
68XS3273860000LSEG Finance PLC<NA>2026-01-13GBPBritish Pound10000000<NA>NaT0.0False2026-06-15Senior Unsecured

69 rows × 13 columns

LDLib This code requests issuer credit-rating data for LSEG.L using ld.get_data.

ld.get_data(
universe=['LSEG.L'],
fields =['TR.IssuerRating','TR.IssuerRating.RatingSourceDescription'],
parameters={'Top':10}
)
InstrumentIssuer RatingRating Source Description
0LSEG.LP-2Moody's Commercial Paper
1LSEG.LA3Moody's Long-term Issuer Rating
2LSEG.L(P)A3Moody's Long-term Senior Unsecured MTN Rating
3LSEG.LA3Moody's Senior Unsecured
4LSEG.LBaa1Moody's Long-term Issuer Rating
5LSEG.L(P)Baa1Moody's Long-term Senior Unsecured MTN Rating
6LSEG.LBaa1Moody's Senior Unsecured
7LSEG.L(P)Baa2Moody's Long-term Senior Unsecured MTN Rating
8LSEG.LBaa2Moody's Senior Unsecured
9LSEG.LWRMoody's Corporate Family Rating

Peers & Valuation

The Peers & Valuation tab provides quick access to tools for comparing a company with its competitors and evaluating its valuation. The Peers section covers peer, sector, and index comparisons, along with stock and value‑chain analysis. The Valuation section offers models for relative valuation, intrinsic value, momentum factors, price targets, and alpha modeling.

You can ues the Peers class in LSEG Data Library for Python to retrieve the RICs of the peer companies. Then, use those RICs with the ld.get_data method to pull valuation, fundamentals, and comparison fields for those universes. The valuation tools in Workspace (e.g., relative valuation, intrinsic valuation, momentum, and price‑target models) are simply combinations of standard TR.* fundamental and analyst‑estimate fields, which the library exposes directly. To find the exact field codes needed for each model, you use the Data Item Browser (DIB) within Workspace.

LDLib This code identifies a set of peer companies for LSEG and then retrieves key valuation measures for those peers, such as earnings multiples, sales multiples, cash-flow multiples, and dividend yield. The output gives a quick cross-company comparison that helps assess relative valuation within the peer group.

from lseg.data.discovery import Peers

peers = Peers('LSEG.L')
ld.get_data(
universe=list(peers),
fields= [
'TR.PE',
'TR.PtoEPSMeanEst',
'TR.PriceToSalesPerShare',
'TR.EVToEBITDA',
'TR.PricetoCFPerShare',
'TR.PriceToBVPerShare',
'TR.DividendYield'],
parameters={'Period': 'FY0'})

C:\Users\jphuriph\AppData\Roaming\Python\Python312\site-packages\lseg\data_tools_dataframe.py:192:FutureWarning: Downcasting behavior in replace is deprecated and will be removed in a future version. To retain the old behavior, explicitly call result.infer_objects(copy=False). To opt-in to the future behavior, set pd.set_option('future.no_silent_downcasting', True) C:\Users\jphuriph\AppData\Roaming\Python\Python312\site-packages\lseg\data_tools_dataframe.py:192:FutureWarning: Downcasting behavior in replace is deprecated and will be removed in a future version. To retain the old behavior, explicitly call result.infer_objects(copy=False). To opt-in to the future behavior, set pd.set_option('future.no_silent_downcasting', True)

InstrumentP/E (Daily Time Series Ratio)Price / EPS (Mean Estimate)Price To Sales Per Share (Daily Time Series Ratio)Enterprise Value To EBITDA (Daily Time Series Ratio)Price To Cash Flow Per Share (Daily Time Series Ratio)Price To Book Value Per Share (Daily Time Series Ratio)Dividend yield
0DB1Gn.DE20.80420920.3807285.68998814.38681517.5040243.8660541.854305
1ENX.PA21.96389319.3454467.81038114.36395417.492333.0860112.116788
2PGHN.S19.11695521.26139410.47838217.86203330.45066513.5262914.798903
3AMUN.PA10.51679612.6192355.0268849.36979710.5637421.3832235.22113
4DWSG.DE15.9681713.3856314.36706610.67953716.9816641.7328734.983389
5ABDN.L11.9530317.7183272.98671211.08328413.9870650.7793466.765524
6EQTAB.ST43.20307724.73726412.52180921.47516276.6742394.1984381.635596
7ICGIN.L8.44800512.7491224.40146813.9598398.4593751.9109074.909831
8EMG.L22.79123815.7432933.14942513.29861812.6851832.8252364.789779
9CVC.AS17.76810718.3482147.39932312.0823221.67727210.8032443.62412
10QLT.L<NA>21.6086240.5969040.2193640.4909131.9615593.152008
11SDR.L17.43580617.2727332.9036117.72402410.3223622.1182153.668942
12AJBA.L16.96784817.4985755.4388946.43712419.9888558.0567483.284924
13III.L5.1009435.7814225.0623845.3179440.3953821.1515252.414425
14FBK.MI19.25223719.87188318.32797711.35465680.3322734.8736063.882064
15SJP.L13.96246316.3077430.241251.1479226.8093944.9136061.305767
16BPTB.L41.92495915.4124424.03275916.779198111.6195692.2186443.618677
17SAVE.ST24.25097824.17675910.86009235.7128915.7157018.5074133.000698
18AVANZ.ST19.79277919.7921149.07268344.1939651.6401936.5619453.867152
19TKOO.PA18.06785716.96304412.97751215.978158<NA>1.0254344.343105
20ASHM.L14.4953827.13156711.17294519.63040339.9667742.2163497.041667
21ABNd.AS11.788511.2518731.23205317.730958<NA>0.8801315.326877
22CBKG.DE17.42921514.7769092.059882-4.250545<NA>1.1821693.057254
23KBC.BR13.23647313.4489482.7709373.70456310.6639281.6363154.43093
24BAER.S17.70964616.3023547.41331418.16800310.9981311.8655573.952569
25RAT.L38.85714313.2865431.97751215.43611.4220911.4309254.253394
26FTKn.DE25.06141320.0940376.45795418.921712.3532743.9808660.990099
27JUP.L18.08718313.5205742.7007468.66335818.2073311.2289192.261048
28ALLFG.AS6.73524121.31003913.1013233.5242473.631442.6034181.584039
29ANTIN.PA14.47704914.1148635.6171868.26942913.7147153.6894557.185629
30INGA.AS11.77830212.0854554.9670415.069336<NA>1.4582665.038046
31UBSG.S17.70306316.3345934.0688116.73112732.4936341.4309893.404519
32CAGR.PA8.7276258.7847291.044162-11.6355363.0279710.7411645.939553
33SOGN.PA10.9715111.6337281.297383-2.097234<NA>0.813422.138114
34SEBa.ST12.69305312.504273.42413622.39151111.52221.6684174.340056
35DANSKE.CO11.9315312.2472283.70487424.94806912.3092831.4958266.833083
36DNB.OL10.67641610.9171332.53773719.3851766.1798411.5131595.928854
37SWEDa.ST12.07257912.4683044.73602915.6650316.7992391.7425925.842857
38EXPN.L25.4499923.8680854.30404414.16584716.0871466.3783091.706695
39SHBa.ST12.01151412.399572.22751117.185272<NA>1.4456512.02336
40BMED.MI10.94953612.62440712.6722548.51980511.8910233.0230886.692057
41CABK.MC12.77619813.240054.1496134.47652216.9560141.9371944.697041
42FLOW.AS8.7785238.6593842.48651521.7569437.2655321.3884110.0
43SQN.S20.27511320.7350148.20629228.5101082.863325.1632951.452785
44NWG.L9.3077739.8097641.9487597.8324927.0813361.2978715.176808
45EURA.PA<NA>94.3893138.63075764.76357628.247940.5198755.357865
46FSGF.L12.43863512.9966192.9071377.6788378.5079735.3946026.029056
47IHPI.L20.53732919.4754246.719413-287.2423363.1917724.6847673.553459
48NDASE.ST11.96947311.7480563.29397218.232782<NA>1.7538335.695922
49LLOY.L15.1392713.4211972.78971412.59128510.823661.2958623.479504

Derivatives

The Derivatives tab in LSEG Workspace provides quick access to key options, futures, and warrant data for a selected company or instrument. It includes views for the most traded options, a full options chain, all available futures contracts, and a warrant overview. These tools allow users to analyze market activity, derivative pricing, and contract structures in one place.

Using the LSEG Data Library for Python, you can the Search API to search for futures, options, and warrant that are issued under a specific RIC and then tuse the retrieved RICs to request required by through the ld.get_data method using the appropriate fields.

LDLib This code searches for active derivative futures linked to LSEG.L and then uses the returned RICs to retrieve essential quote and contract information, including bid/ask prices, last trade, open/high/low levels, settlement values, and expiry dates. The search filter can be adjusted to retrieve other asset classes as needed.

futures = ld.discovery.search(
view=ld.discovery.Views.EQUITY_QUOTES,
filter=("RCSAssetCategoryLeaf eq 'Equity Future' and UnderlyingQuoteRIC eq 'LSEG.L' "
"and AssetState eq 'AC' and AssetType eq 'DERIVATIVE' "
"and IsChain eq false and AssetCategory eq 'EIF' and DisplayType eq 'FQUOTE'"),
top=100)

ld.get_data(
universe=futures['RIC'].tolist(),
fields=['DSPLY_NAME','CONTR_MNTH','TRDPRC_1','BID','ASK','SETTLE','OPEN_PRC','HIGH_1','LOW_1','HST_CLOSE','EXPIR_DATE']
)

C:\Users\jphuriph\AppData\Roaming\Python\Python312\site-packages\lseg\data_tools_dataframe.py:177:FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set pd.set_option('future.no_silent_downcasting', True)

InstrumentDSPLY_NAMECONTR_MNTHTRDPRC_1BIDASKSETTLEOPEN_PRCHIGH_1LOW_1HST_CLOSEEXPIR_DATE
0LSEFK26LSE MAY6/dMAY6<NA><NA><NA>8466.3505<NA><NA><NA>8466.35052026-05-15
1TLSEH27LSE MAR7/dMAR7<NA><NA><NA>29.0<NA><NA><NA>29.02027-03-19
2LSEFM26LSE JUN6/dJUN6<NA><NA><NA>8497.4891<NA><NA><NA>8497.48912026-06-19
3LSEFJ26LSE APR6/dAPR6<NA><NA><NA>8441.3428<NA><NA><NA>8441.34282026-04-17
4TLSEZ27LSE DEC7/dDEC7<NA><NA><NA>31.0<NA><NA><NA>31.02027-12-17
5LSEFZ28LSE DEC8/dDEC8<NA><NA><NA>8969.3814<NA><NA><NA>8969.38142028-12-15
6TLSEM26LSE JUN6/dJUN6<NA><NA><NA>24.0<NA><NA><NA>24.02026-06-19
7LSEGLFDCN1726London Stock 1/dJUL6<NA><NA><NA>8615.8<NA><NA><NA>8615.82026-07-17
8LSEGLFDCJ1726London Stock 1/dAPR6<NA><NA><NA>8542.3<NA><NA><NA>8542.32026-04-17
9LSEGLFDCH2026London Stock 2/dMAR6<NA><NA><NA>8518.92<NA><NA><NA>8518.922026-03-20
10LSEFG27LSE FEB7/dFEB7<NA><NA><NA>8656.4898<NA><NA><NA>8656.48982027-02-19
11LSEGLFDCM1926London Stock 1/dJUN6<NA><NA><NA>8593.4<NA><NA><NA>8593.42026-06-19
12LSEFX26LSE NOV6/dNOV6<NA><NA><NA>8582.6974<NA><NA><NA>8582.69742026-11-20
13LSEFN26LSE JUL6/dJUL6<NA><NA><NA>8522.2369<NA><NA><NA>8522.23692026-07-17
14LSEGLFDCU1826London Stock 1/dSEP6<NA><NA><NA>8665.59<NA><NA><NA>8665.592026-09-18
15LSEFH27LSE MAR7/dMAR7<NA><NA><NA>8680.0277<NA><NA><NA>8680.02772027-03-19
16LSEFQ26LSE AUG6/dAUG6<NA><NA><NA>8553.1638<NA><NA><NA>8553.16382026-08-21
17LSEFU26LSE SEP6/dSEP6<NA><NA><NA>8530.0795<NA><NA><NA>8530.07952026-09-18
18LSEFZ27LSE DEC7/dDEC7<NA><NA><NA>8776.6371<NA><NA><NA>8776.63712027-12-17
19LSEFZ26LSE DEC6/dDEC6<NA><NA><NA>8605.6839<NA><NA><NA>8605.68392026-12-18
20LSEGLFDCQ2126London Stock 2/dAUG6<NA><NA><NA>8643.57<NA><NA><NA>8643.572026-08-21
21TLSEU26LSE SEP6/dSEP6<NA><NA><NA>32.5<NA><NA><NA>32.52026-09-18
22TLSEH26LSE MAR6/dMAR6<NA><NA><NA>-28.0<NA><NA><NA>-28.02026-03-20
23TLSEJ26LSE APR6/dAPR6<NA><NA><NA>4.0<NA><NA><NA>4.02026-04-17
24LSEFH26LSE MAR6/dMAR6<NA><NA><NA>8519.3412<NA><NA><NA>8519.34122026-03-20
25LSEFF27LSE JAN7/dJAN7<NA><NA><NA>8628.4214<NA><NA><NA>8628.42142027-01-15
26TLSEM27LSE JUN7/dJUN7<NA><NA><NA>30.5<NA><NA><NA>30.52027-06-18
27TLSEZ26LSE DEC6/dDEC6<NA><NA><NA>31.0<NA><NA><NA>31.02026-12-18
28TLSEK26LSE MAY6/dMAY6<NA><NA><NA>14.0<NA><NA><NA>14.02026-05-15
29LSEFV26LSE OCT6/dOCT6<NA><NA><NA>8553.6177<NA><NA><NA>8553.61772026-10-16
30LSEGLFDCK1526London Stock 1/dMAY6<NA><NA><NA>8565.1<NA><NA><NA>8565.12026-05-15
31LSEGIGH6IDX LSEGI MAR6/dMAR6<NA><NA><NA>1684.98<NA><NA><NA>1684.982026-03-16
32LSEGIDH6IDX LSEGI MAR6/dMAR6<NA><NA><NA>1684.98<NA><NA><NA>1684.982026-03-16
33LSEGIDM6IDX LSEGI JUN6/dJUN6<NA><NA><NA>1711.88<NA><NA><NA>1711.882026-06-12
34LSEGIGM6IDX LSEGI JUN6/dJUN6<NA><NA><NA>1689.53<NA><NA><NA>1689.532026-06-12
35LSEGIDU6IDX LSEGI SEP6/dSEP6<NA><NA><NA>1740.39<NA><NA><NA>1740.392026-09-14
36LSEGIGU6IDX LSEGI SEP6/dSEP6<NA><NA><NA>1707.16<NA><NA><NA>1707.162026-09-14
37LSEGIGZ6IDX LSEGI DEC6/dDEC6<NA><NA><NA>1734.05<NA><NA><NA>1734.052026-12-14
38LSEGIDZ6IDX LSEGI DEC6/dDEC6<NA><NA><NA>1767.8<NA><NA><NA>1767.82026-12-14
39LSEGIGH7IDX LSEGI MAR7/dMAR7<NA><NA><NA>1760.92<NA><NA><NA>1760.922027-03-15
40LSEGIDH7IDX LSEGI MAR7/dMAR7<NA><NA><NA>1795.2<NA><NA><NA>1795.22027-03-15

Filings

The Filings tab in LSEG Workspace provides streamlined access to key company filing documents, allowing users to quickly view, track, and analyze regulatory disclosures. It serves as a centralized hub for navigating important corporate filings and related updates.

Using the LSEG Data Library for Python, you can leverage the Filings API to access LSEG’s extensive global repository of corporate disclosures—including Global Filings and EDGAR (U.S. SEC) documents—through the dedicated filings class. This interface provides a streamlined way to search, retrieve, and analyze filing metadata and documents directly from Python, enabling seamless integration into research and analytics workflows.

LDLib This following code looks up IBM’s issuer identifier and then queries the EDGAR source for the company’s most recent 10‑Q filings, limited to a small number of results. It displays a preview of the returned filing records so you can quickly verify what was found. Finally, it downloads the first filing document from that result set.

Note: To retrieve filing documents, the account must be entitled to the Filings APIs.

from lseg.data.content import symbol_conversion
from lseg.data.content import filings

symbol_resp = symbol_conversion.Definition("IBM.N").get_data()
permID = symbol_resp.data.df['IssuerOAPermID'].iloc[0]
filings_resp = filings.search.Definition(
org_id=permID,
feed="Edgar",
form_type="10-Q",
limit=5
).get_data()
display(filings_resp.data.df.head(5))
filings_resp.data.files[0].download()
DocumentTitleFilenameMimeTypeDcnDocIdFinancialFilingId
0QUARTERLY REPORT PURSUANT TO SECTION 13 or 15(...20251023_4295904307_97689768787_1_12_10-Q_raw.pdfapplication/pdf2514133508509016497689768787
1QUARTERLY REPORT PURSUANT TO SECTION 13 or 15(...20251023_4295904307_97689768787_1_12_10-Q_with...text/html2514133508509016497689768787
2QUARTERLY REPORT PURSUANT TO SECTION 13 or 15(...20251023_4295904307_97689768787_1_12_10-Q_diss...text/plain2514133508509016497689768787
3QUARTERLY REPORT PURSUANT TO SECTION 13 or 15(...20251023_4295904307_97689768787_1_12_10-Q_delt...application/pdf2514133508509016497689768787
4QUARTERLY REPORT PURSUANT TO SECTION 13 or 15(...20251023_4295904307_97689768787_1_12_10-Q_xbrl...application/zip2514133508509016497689768787
    <lseg.data.content.filings._retrieval_data_provider.DownloadAllFileResponse at 0x1cde13e5430>

Summary

This chapter explains how to find, retrieve, and analyze equity-market data using LSEG Workspace tools and the LSEG Data Library for Python. It covers practical workflows for instrument discovery, quote retrieval, index analysis, news access, streaming data, delayed data, historical data, and equity-related reference views.

Key topics covered

  • Data discovery tools: Global Search, Advanced Search, Screener, RIC Search, Search APIs, and Data Item Browser.
  • RIC structure and conventions: Exchange identifiers, numeric roots, brokerage characters, and case sensitivity.
  • Equity and index workflows: Full quotes, chain constituents, index weightings, and leavers/joiners.
  • News and research content: Company headlines, story retrieval, and top-news hierarchy access.
  • Real-time and delayed data: Streaming quotes, delayed prefixes, and delayed chain usage.
  • Market-depth and tape data: Order-book/market-maker streams and times-and-sales retrieval.
  • Historical pricing: Interday, intraday, and tick/tas history with interval options.
  • Equity Views mapping: Overview, financials, ESG, governance, events, ownership, debt/credit, peers/valuation, derivatives, and filings.

Practical outcomes

  • Build reliable searches for equities, indices, and related instruments.
  • Pull current, streaming, delayed, and historical datasets programmatically.
  • Use TR fields and view metadata effectively for analytics and reporting.
  • Reproduce key Workspace views in Python-based workflows.

Takeaway

By the end of the page, you have an end-to-end guide for navigating equity content in LSEG ecosystems—from finding the right instruments to extracting real-time, reference, and filings data for analysis.