Skip to main content

Chapter 11 – Contributed data

import warnings
warnings.filterwarnings('ignore')

Many leading market participants – such as investment banks, dealers and brokers – publish financial information on the LSEG network. This can include:

  • Prices.
  • Analysis.
  • Market commentary.

These contributors provide insight and market rates in all asset classes, from vanilla equities to exotic energy derivatives.

Contributed data is available both as pages and as RICs. Expert information is also available from specialist data providers who publish analytics and market commentary. This can be ordered in addition to the LSEG service you have subscribed to.

LSEG ensures that the quality of data published is always high. All contributors have contractually agreed:

  • To provide data that reflects their position or trading in the marketplace.
  • To update in a timely manner, reflecting the level of activity in a particular market.
  • Not to copy data from another source and republish onto their pages/RICs.
  • Not to publish defamatory or obscene material, or include advertising statements on behalf of third parties.

The Data Library for Python can get the Contribution RIC data dynamically.

The first step is importing the library.

import lseg.data as ld

Before we move on, I am expecting that you have open and log in to the LSEG Workspace Desktop application in the same machine that run this Jupyter Notebook.

Next, open the session.

ld.open_session()
    <lseg.data.session.Definition object at 0x1ba6f150dd0 {name='workspace'}>

There is a legacy index page CONTRIBUTIONS that gives you information about country, market, and contributor name.

CONTRIBUTIONS

As mentioned in Chapter 3, Page RICs were originally designed for terminal screen displays prevalent during the 1980s and 1990s. The LSEG Workspace Search makes it easy to find contributed RICs with just a few clicks.

The Search app displays the Contributor column when you select a universe that contains contribution data. Let's demonstrate with the FX & Money universe.

search contribution

You can use the Contributor filter to narrow down to specific contributor(s) as follows.

search contribution

search contribution

Once you have selected the contributors you need, click Done. Workspace returns the list of instruments from the selected contributor(s).

search contribution

You can click the Export Query menu to export the search query for use with the Data Library Search method. The Search method lets you build your own search dynamically to retrieve the same data as the Workspace Search app.

search contribution

In the Export Query window, select the CODEBOOK tab. Note that the Search app displays the Data Library version 1 (RD) syntax, but the search code and syntax are fully compatible with the LSEG Data Library (version 2, LD). For more details on the differences between RD and LD, see the Essential Guide to the Data Libraries - Generations of Python library (EDAPI, RDP, RD, LD) article.

search contribution

Note that you don't need to use the full complex search query shown above. A simpler query like the one below works just as well to get the list of contributed RICs you need.

To learn more about using the Workspace Search app with the Data Library Search function, see the following articles:

from lseg.data.content import search

search_result = ld.discovery.search(
view = search.Views.STIRS,
top = 20,
filter = "(SearchAllCategory eq 'FX & Money') and (ContributorCommonName xeq 'BARCLAYS')",
select = "CommonName,RIC,ContributorCommonName"
)

search_result
CommonNameRICContributorCommonName
0US Dollar FX Forward SwapUSDFWD=BARLBARCLAYS
1Tanzanian Shilling Multiple InstrumentsTZSFX=BBTZBARCLAYS
2Euro/US Dollar FX Spot RateEUR=BARLBARCLAYS
3US Dollar/Swiss Franc FX Spot RateCHF=BARLBARCLAYS
4US Dollar/Tanzanian Shilling FX Spot RateTZS=BBTZBARCLAYS
5US Dollar/Ugandan Shilling FX Spot RateUGX=BAUGBARCLAYS
6US Dollar/Indian Rupee FX Spot RateINR=BARLBARCLAYS
7US Dollar/Japanese Yen FX Spot RateJPY=BARLBARCLAYS
8UK Pound Sterling/US Dollar FX Spot RateGBP=BARLBARCLAYS
9US Dollar/Hong Kong Dollar FX Spot RateHKD=BARLBARCLAYS
10US Dollar/South African Rand FX Spot RateZAR=BARLBARCLAYS
11US Dollar/Canadian Dollar FX Spot RateCAD=BARLBARCLAYS
12US Dollar/Singapore Dollar FX Spot RateSGD=BARLBARCLAYS
13US Dollar/Thai Baht FX Spot RateTHB=BARLBARCLAYS
14US Dollar/Kuwaiti Dinar FX Spot RateKWD=BARLBARCLAYS
15US Dollar/Mauritius Rupee FX Spot RateMUR=BBMRBARCLAYS
16US Dollar/Nigerian Naira FX Spot RateNGN=BARLBARCLAYS
17Australian Dollar/US Dollar FX Spot RateAUD=BARLBARCLAYS
18US Dollar/Moroccan Dirham FX Spot RateMAD=BARLBARCLAYS
19US Dollar/Mauritius Rupee FX Spot RateMUR=BARLBARCLAYS

Or if you want all non-LSEG contribution RICs, you can use (ContributorCommonName ne 'REFINITIV') query as follows.

search_result = ld.discovery.search(
view = search.Views.STIRS,
top = 10,
filter = "(SearchAllCategory eq 'FX & Money') and (ContributorCommonName ne 'REFINITIV')",
select = "CommonName,RIC,ContributorCommonName"
)

search_result
CommonNameRICContributorCommonName
0Euro/US Dollar FX Spot RateEURUSD=AUAustralia Contributions
1Euro/US Dollar FX Cross RateEURUSD=BACRCentral Bank of Costa Rica
2US Dollar/Japanese Yen FX Spot RateUSDJPY=AUAustralia Contributions
3Australian Dollar/US Dollar FX Spot RateAUDUSD=AUAustralia Contributions
4US Dollar/Japanese Yen FX Spot RateJPYA=NMSTNomura Securities EOD
5US Dollar/Swiss Franc FX Spot RateUSDCHF=AUAustralia Contributions
6Australian Dollar/US Dollar FX Cross RateAUDUSD=BCRABanco Central De La Republica
7New Zealand Dollar/US Dollar FX Cross RateNZDUSD=BCRABanco Central De La Republica
8New Zealand Dollar/US Dollar FX Spot RateNZDUSD=AUAustralia Contributions
9US Dollar/Canadian Dollar FX Spot RateCADT=BMMABank Of Montreal Nesbitt Burns

Example of FX Cross Rate's non-LSEG contribution RICs.


ld.discovery.search(
view = search.Views.STIRS,
top = 10,
filter = "(SearchAllCategory eq 'FX & Money') and (ContributorCommonName ne 'REFINITIV') and (RCSAssetCategoryLeaf xeq 'FX Cross Rate')",
select = "CommonName,RIC,ContributorCommonName"
)
CommonNameRICContributorCommonName
0Euro/US Dollar FX Cross RateEURUSD=BACRCentral Bank of Costa Rica
1Australian Dollar/US Dollar FX Cross RateAUDUSD=BCRABanco Central De La Republica
2New Zealand Dollar/US Dollar FX Cross RateNZDUSD=BCRABanco Central De La Republica
3US Dollar/Danish Krone FX Cross RateUSDDKK=FEDAFedai
4Euro/Japanese Yen FX Cross RateEURJPYA=NMSTNomura Securities EOD
5UK Pound Sterling/Japanese Yen FX Cross RateGBPJPYA=NMSTNomura Securities EOD
6US Dollar/Polish Zloty FX Cross RateUSDPLN=NBPCNARODOWY BANK POLSKI
7US Dollar/Czech Koruna FX Cross RateUSDCZK=VALRValmer
8US Dollar/Hungarian Forint FX Cross RateUSDHUF=VALRValmer
9US Dollar/Romanian New Leu FX Cross RateUSDRON=REUREUTERS

Contributed data is not limited to the FX & Money universe category. You can use the Workspace Search app to explore other universes that include the Contributor column and export their example queries in the same way.

search contribution

search contribution

The example below shows how to search for OTC Interest Rate Derivatives contribution RICs.

ld.discovery.search(
view = search.Views.STIRS,
top = 20,
filter = "((SearchAllCategory eq 'OTC Interest Rate Derivatives') and (ContributorCommonName xeq 'ICAP'))",
select = "CommonName,RIC,ContributorCommonName"
)
CommonNameRICContributorCommonName
0UK Pound Sterling Base Rate vs Sonia MPC Meeti...GBBRSOMPC=ICAPICAP
1Euro Annual Bond 3 Month Euribor Interest Rate...EURIRS3M=ICAPICAP
2Euro Interest Rate SwapEURABIRS=ICAPICAP
3UK Pound Sterling Annual Bond Base Rate Intere...GBPABBRIRS=ICAPICAP
4Swiss Franc SARON CME Cleared Expiry Overnight...CHFSACOIS=ICAPICAP
5Romanian New Leu Annual Money 3 Month Euribor ...ROEUCS=ICAPICAP
6Canadian Dollar BOC Meeting date Overnight Ind...BOCOIS=GCMNICAP
7Canadian Dollar Overnight Index Swap0#OIS=ICAPICAP
8Polish Zloty 3 Month Wibor vs 1 Month Wibor Ba...PLN3W1WBS=ICAPICAP
9US Dollar SOFR ATM Caps/FloorsUSDSRCAPATM=ICAPICAP
10Czech Koruna/Euro Currency Basis SwapCZKEURBS=ICAPICAP
11Swiss Franc SARON Wedge Caps/FloorsCHSAWEDGE=ICAPICAP
12Swiss Franc SARON ATM Caps/FloorsCHFSACAPATM=ICAPICAP
13Swiss Franc 10 Year SARON ATM SwaptionCHFSASWATM=ICAPICAP
14Euro Short Term Rate ESTR Overnight Index SwapEURESTOIS=ICAPICAP
15UK Pound Sterling GILT SONIA Treasury Swap Spr...GBPTOIS=ICAPICAP
16Euro ECB ESTR Forward Starting Overnight Index...EUESTECBF=ICAPICAP
17Euro ESTR IMM Dated Forward Starting FRA-OIS S...EUFRESTIM=ICAPICAP
18Euro Interest Rate Swap PM FixingEURSFIXP=ICAPICAP
19Euro ESTR vs 3 Month Euribor Basis SwapEUREST3EBS=ICAPICAP

The Workspace Data Item Browser (DIB) supports contributed RICs for exploring the fields too.

EUR=BARL

Now you have the list of contributed data with the information you need. Let move on to the contributed data RIC code and FIDs information.

RICs and FIDs

RICs (also known as logical records) are now the preferred format for publishing information on LSEG Platform.

  • Each RIC has a set of fields that hold specific items of information about a single financial instrument (Bid/Ask/High/Low, etc.).
  • These fields are also referred to as FIDs (Field Identifiers) because each field has a unique numeric identifier.

Example full-quote contributed RIC:

  • EUR=BARL

The Overview application of the contributed RIC is as follows:

EUR=BARL

Or you can use EUR=BARL Quote to get the Quote data specifically.

EUR=BARL

When you request a full quote on a RIC, the key information for the instrument is displayed (for example: Bid, Ask, Contributor, Location, Time, Date). LSEG uses a display template to control this display.

It is important to realize that a RIC contains many more FIDs than are shown in the full quote. These are defined by the record template.

LSEG Workspace application can right-click on the Quote app and choose the options on the Template menu to to toggle between

EUR=BARL

display the RIC data as all the fields available.

  • The Display All Fields (all fields contained in the record).
  • The Select template (choose which display template you want to display this data).

You can check the Contributor information from the CTBTR_1 field by displaying all fields.

EUR=BARL

Alternatively, you can use the Data Item Browser app (DIB on the Workspace) to check the field data that you need.

EUR=BARL

In short:

  • LSEG has thousands of different fields (FIDs) to cover the full breadth of market requirements.
  • For a specific RIC, only some of those fields are relevant.
  • The record template indicates which fields are relevant for that instrument type (cash vs futures, etc.).
  • The display template defines which of those fields are shown when you view a full quote (the most important fields).

You can use the Library get_data method to get the full-quote contributed RIC programmatically.

contrib_quote = ld.get_data(
universe=['EUR=BARL','JPY=BARL','GBPJPYA=NMST'],
fields=['CTBTR_1','CF_ASK','CF_BID','CF_DATE','CF_TIME']
)

contrib_quote
InstrumentCTBTR_1CF_ASKCF_BIDCF_DATECF_TIME
0EUR=BARLBARCLAYS1.169911.16962026-04-0806:27:29
1JPY=BARLBARCLAYS158.179158.1342026-04-0806:27:28
2GBPJPYA=NMSTNOMURA SEC<NA>212.722026-04-0800:00:05

Some contributed quote RICs are not supported by the get_history method.

For those instruments, use the Content layer historical_pricing module to request historical data instead.

To learn more, see:

from lseg.data.content import historical_pricing
from lseg.data.content.historical_pricing import Intervals

eur_barl_history = historical_pricing.summaries.Definition(
universe = 'EUR=BARL',
interval=Intervals.FIVE_MINUTES
).get_data()
eur_barl_history.data.df.head(10)
EUR=BARLBID_HIGH_1BID_LOW_1OPEN_BIDBIDBID_NUMMOVASK_HIGH_1ASK_LOW_1OPEN_ASKASKASK_NUMMOVMID_HIGHMID_LOWMID_OPENMID_PRICE
Timestamp
2026-04-08 04:50:001.167611.167351.167581.16752141.167911.167671.167841.167781981.1677451.167531.167711.16764
2026-04-08 04:55:001.167621.167251.167511.16752181.167871.167531.167781.167762061.167741.1674051.1676451.16763
2026-04-08 05:00:001.167661.167251.167531.167442121.167971.167571.167871.167732301.1678151.1674151.16771.167585
2026-04-08 05:05:001.167771.167371.167461.167532111.168071.167721.167721.167831841.1679151.1675651.167591.16768
2026-04-08 05:10:001.167711.166981.167521.167612161.168021.167431.167831.167882041.1678451.1672051.1676751.167745
2026-04-08 05:15:001.167971.167441.167571.167922041.16831.167751.167891.168252071.16811.1675951.167731.168085
2026-04-08 05:20:001.168571.167841.167941.168542131.168881.168211.168241.168792041.1687151.168031.168091.168665
2026-04-08 05:25:001.168621.168281.168521.168452031.168941.168561.16881.168692011.1687551.168441.168661.16857
2026-04-08 05:30:001.168631.168231.168371.168592091.169021.168561.168691.168841971.16881.16841.168531.168715
2026-04-08 05:35:001.168751.168421.168591.168682001.169011.168691.168831.168951991.168871.1685551.168711.168815

You can use any Python graph libraries likes Matplotlib, Plotly, seaborn, bokeh, etc. to plot this historical data dataframe object into graphs for visualization.

I am demonstrating with the Matplotlib library.

import matplotlib.pyplot as plt

# Fields requested for visualization from the historical pricing DataFrame
fields_to_plot = ['BID', 'ASK', 'MID_HIGH', 'MID_LOW', 'MID_OPEN', 'MID_PRICE']

# Work on a copy to avoid mutating the original eur_barl_history.data.df object
plot_df = eur_barl_history.data.df.copy()

# Use TIMESTAMP as the x-axis if this column is available
if 'TIMESTAMP' in plot_df.columns:
plot_df = plot_df.set_index('TIMESTAMP')

# Keep only fields that exist in the current dataset and track missing ones
available_fields = [field for field in fields_to_plot if field in plot_df.columns]
missing_fields = [field for field in fields_to_plot if field not in plot_df.columns]

# Stop execution if none of the requested fields are present
if not available_fields:
raise ValueError('None of the requested fields were found in response.data.df')

# Inform the user about fields that are not returned in this response
if missing_fields:
print(f"Skipping missing fields: {missing_fields}")

# Plot all available fields as line series
ax = plot_df[available_fields].plot(figsize=(12, 6), linewidth=1.5)
ax.set_title('EUR=BARL Historical Pricing (5-minute interval)')
ax.set_xlabel('Time')
ax.set_ylabel('Price')
ax.grid(True, alpha=0.3)

# Add legend and optimize layout for display
plt.legend(title='Field')
plt.tight_layout()
plt.show()

png

The advantages of contributing to RICs

If you want to be a contributor, RICs have significant advantages over page-based items.

The table below summarises the relative merits:

Logical contribution (RICs)Page contribution
Real-time intraday prices.Free format – contributor defines content and layout.
Record/display templates determine content and format of the display.Potentially more than one instrument per page.
Discrete FID list per instrument type.Can mix prices, commentary, menus, disclaimers, etc.
Predictable format (Bid/Ask etc.).Content limited by page size.
Consistent logical structure.No automatic inclusion in aggregated displays.
Ripple fields to show price history.Page content is not archived.
Automatic sourcing to value-added displays (Super RICs), e.g. EUR=.
Use of colour improves readability.Monochrome only.
Chains and tiles to retrieve multiple instruments in one display.
Historical data available.
Easy export/control (Excel, in-house apps).
Tick indicators and RIC name specify instrument.

Restricted Data Sets (RDS)

The vast majority of contributed data is made available to all LSEG clients subscribing to the relevant LSEG service.

  • A contributor page classified as FX, for example, is available to all clients subscribing to a service containing FX information.
  • This is known as unrestricted or public data.

Some contributed pages have restricted access to protect the publishers of the data from their competitors (for example, brokers restricting competing brokers from viewing their pages).

Restricted Data Sets (RDS) control who can and cannot view contributed data:

  • Public restricted

    • Data is released to all subscribers to the relevant service, except those specified by the contributor.
    • Typically used where a contributor requires a wide audience with certain key exclusions.
  • Private restricted

    • Data is released only to LSEG subscribers specified by the contributor.
    • Typically used for communication between contributor sites or to send information to a limited number of subscribers.
    • These subscribers can view the RDS data regardless of the products they subscribe to.

What to do if you can’t see a RIC or page you think you should see

Access is usually granted per billing address. If you’ve changed your office location or billing address, it can affect your access to some restricted data sets.

Action:

  • Contact the LSEG Help Desk or your LSEG Account Manager.
  • They can tell you whether you are still entitled to see that information.
  • You may need to contact the owner of the restricted data set to arrange permission again.

To contact the LSEG Help Desk or search for Helps and Tutorials, you can click on the Get Help & Support option on the ? menu of LSEG Workspace.

Help &amp; Support

Alternatively, you can submit a support ticket via LSEG Support website.

Help &amp; Support

Super RICs

Some contributed prices on pages or RICs can also appear on Super RICs.

A Super RIC displays a single issue with the three latest contributed prices available. These prices may be sourced from a single contributor or from three different ones.

Example Super RICs:

  • EUR= – shows the last three contributed FX rates (with contributor identifiers).
  • DE113514= – German Bund 6.25%; includes more detailed bond information plus the last three prices and contributors.

DE113514=

The recommended method is to contribute price information directly to logical records (RICs). Super RIC updates are triggered automatically by updates from the contributed RICs, as long as the updates meet the relevant tolerance requirements.

  • This ensures that clearly incorrect updates are not passed through automatically and maintains the integrity of the composite display.

You can use the Data Library methods together with the Data Item Browser app for getting these super RICs data programmatically.

DE113514=

ld.get_data(
universe=['DE113514=','EUR='],
fields=['NETCHNG_1','CF_ASK','CF_BID','PCTCHNG','PRIMACT_1','SEC_ACT_1','RT_YIELD_1']
)

InstrumentNETCHNG_1CF_ASKCF_BIDPCTCHNGPRIMACT_1SEC_ACT_1RT_YIELD_1
0DE113514=0.889113.156113.1140.7922113.114113.1562.5243
1EUR=0.01031.171.16970.891.16971.17<NA>

The Super RICs are supported by the Library get_history method as follows.

history = ld.get_history(
universe='DE113514=',
count=20
)
history.head(15)
DE113514=BIDASKB_YLD_1A_YLD_1ASP6MBID_HIGH_1OPEN_BIDBID_LOW_1HIGH_YLDLOW_YLD...ZSPREADINT_BASISINT_CDSTRTN_PRICEOIS_SPREADTED_SPREADASP1MREDEM_DATEDIRTY_PRCCLEAN_PRC
Date
2026-03-09113.798113.8462.4212.4088-17.9317113.84113.319113.2822.55262.4103...-16.651520.46813.8166-0.00876.7088<NA>0.5672<NA>114.9281113.798
2026-03-10113.933114.022.38422.3621-17.0677114.098113.788113.7732.42492.3423...-16.143520.18514.04160.12458.5434<NA>3.7009<NA>115.0803113.933
2026-03-11113.51113.5972.48962.4673-16.2228113.933113.89113.4812.4972.3818...-14.992118.55593.5638-0.00097.6757<NA>2.3479<NA>114.6744113.51
2026-03-12113.476113.5562.4912.4706-17.1539113.585113.42113.3292.52872.4632...-14.942318.73033.7880.01437.9952<NA>2.1925<NA>114.6918113.476
2026-03-13113.349113.3922.52122.5102-19.1321113.548113.427113.2442.54822.4702...-16.104819.88253.7778-0.0077.2533<NA>0.8531<NA>114.5819113.349
2026-03-16113.412113.4492.50262.4932-19.2653113.555113.246113.2452.54552.466...-15.639319.6714.0318-0.01058.2228<NA>1.3985<NA>114.662113.412
2026-03-17113.561113.5982.4622.4525-18.6758113.584113.358113.2772.53492.4561...-17.289121.32754.03840.00178.988<NA>2.5655<NA>114.8281113.561
2026-03-18113.308113.3742.52462.5076-18.3979113.622113.59113.2492.53972.444...-16.873720.66473.791-0.01138.242<NA>1.8453<NA>114.5922113.308
2026-03-19112.972113.0142.60412.5933-18.067113.15113.119112.7692.65672.5581...-16.672520.44133.7688-0.00177.7898<NA>0.8559<NA>114.3076112.972
2026-03-20112.573112.6162.70532.6941-19.2186113.116112.822112.5732.70532.5645...-17.697421.69223.9948-0.00713.5657<NA>-0.2331<NA>113.9257112.573
2026-03-23112.725112.7892.66352.6469-20.5794113.067112.387112.2832.77862.5748...-18.919323.914.99070.01146.5609<NA>-0.2338<NA>114.0949112.725
2026-03-24112.659112.7062.67832.6661-22.0106112.884112.703112.5762.69992.6199...-20.250825.2755.02420.00536.4601<NA>-0.2822<NA>114.046112.659
2026-03-25112.845112.8892.62772.6162-20.657112.915112.584112.5822.69612.6095...-18.917523.67784.76030.00967.1949<NA>0.8172<NA>114.2491112.845
2026-03-26112.376112.4112.7432.7338-20.7484112.593112.575112.3762.7432.6863...-8.569613.33854.769-0.0076.6232<NA>-0.2272<NA>113.8315112.376
2026-03-27112.4112.4442.73442.7229-22.1645112.441112.244112.1252.80652.7237...-20.52325.25624.73310.01325.9614<NA>-0.806<NA>113.8726112.4

15 rows × 37 columns

Logicisation

If you contribute to pages rather than RICs, it may still be possible for your page-based contributions to be passed automatically to a Super RIC.

  • This process is called logicisation.
  • LSEG picks up the coordinates of an instrument on your page and inserts the information into a RIC or Super RIC.

Because logicisation depends on knowing the precise location and format of each piece of data on the contributed page, you must notify LSEG in advance if you want to change the format of that page.

Contributed pages

Pages are the alternative medium for contributing. They are particularly useful where you want to publish text of any kind.

There are two page sizes on IDN:

  • Small page – 14 rows × 64 characters.
  • Large page – 25 rows × 80 characters .

Example: SGTRE Page RIC (Societe Generale Depos and CD's) with 25 rows × 80 characters (contains ROW80_1 to ROW80_25 fields)

STGE

STGE

The top row of each page is owned by LSEG. It usually contains:

  • Date and time stamp (time of most recent insert).
  • Name and subscriber number of the page owner.

The rest of the page belongs entirely to the contributor.

The library get_data method can retrieve the contributed Page RICs dynamically.

rows_list = [f'ROW80_{i}' for i in range(1, 26)]
# Request page rows based on detected format
df = ld.get_data(
universe=['SGTRE'],
fields=rows_list
)

# Print each returned row field and its value
for col in df.columns:
print(f'{col}: {df[col].values[0]}')
    Instrument: SGTRE
ROW80_1: 06:27 08APR26 SOCIETE GENERALE PARIS FR07436 SGTRE
ROW80_2: SPOT TEL: 33 142136307 DEALING: SGSP / DEPOT TEL: 33 142136963 DEALING: SOGP
ROW80_3:
ROW80_4: EUR/USD EUR/GBP EUR/CHF USD/JPY EUR/JPY
ROW80_5: 1.1700/1.1700 0.8707/0.8708 0.9211/0.9218 157.9800/158.2800 185.00/185.0
ROW80_6:
ROW80_7: DEPOT EUR USD GBP JPY CHF * = NOT UPDATED
ROW80_8: ON 1.67 3.55
ROW80_9: TN 1.67 3.56 3.72 0.50 -0.20
ROW80_10: 1W 1.68 3.51 3.73 0.50 -0.20
ROW80_11: 1M 1.69 3.55 3.81 0.55 -0.15
ROW80_12: 2M 2.07 3.75 3.95 0.75 -0.10
ROW80_13: 3M 2.15 3.84 4.12 0.83 -0.10
ROW80_14: 6M 2.37 3.97 4.35 0.95 0.14
ROW80_15: 9M 2.51 4.03 4.55 1.04 0.28
ROW80_16: 1Y 2.63 4.07 4.68 1.15 0.39
ROW80_17: DKK SEK NOK CAD RUB CDs
ROW80_18: TN 1.40 1.20 3.50 1.60 #Parameter in error USD EUR
ROW80_19: 1W 1.40 1.20 3.50 1.75 #Parameter in error 3.51 1.7
ROW80_20: 1M 1.71 1.20 3.50 1.80 -5.00 3.55 1.72
ROW80_21: 2M 1.91 2.06 4.15 1.13 -5.00 3.75 2.10
ROW80_22: 3M 1.97 2.05 4.36 1.48 -5.00 3.84 2.18
ROW80_23: 6M 2.25 2.30 4.57 1.27 -5.00 3.97 2.40
ROW80_24: 9M 2.51 2.47 4.90 1.31 -5.00 4.03 2.54
ROW80_25: 1Y 2.60 2.64 5.05 1.17 -5.00 4.07 2.66

Contributing and Updating your RICs

As a contributor, you'll find that RICs and pages can be contributed and updated with minimal effort:

  • Manually – by typing the updated quote.
  • Automatically – using spreadsheets or programmatically.

The Workspace desktop application Real-Time Contribution RTCONTRIB app lets enables you to publish your data to LSEG. It is a Workspace graphic user interface (GUI) alternative to using the contribution formulae in Excel.

RTCONTRIB

RTCONTRIB

You can search for this RTCONTRIB help and documentation from the Workspace search bar.

RTCONTRIB

RTCONTRIB

Please contact your LSEG Representative or Account Manager for more detail.

Programmatic contribution is also supported. The available approach depends on how your LSEG Workspace application is connected to the LSEG Platform.

If your LSEG Workspace application connects to LSEG Platform directly

The LSEG Contributions Real-Time Cloud (RCC) is a new service for contributing content to LSEG Real-Time and Workspace platforms. The RCC aims for replacing the legacy Market Link-IP (MLIP) system.

You can use the Real-Time WebSocket API and Real-Time SDK (RTSDK - ETA and EMA APIs) C/C++, and Java editions to contribute and update data to the LSEG platforms directly. The contributed and updated data will be stream to LSEG Workspace Platform.

Please see more details on the following resources:

If your LSEG Workspace application connects to your local Real-Time Market Data System

This scenario means your Market Data team has Real-Time Data Distribution System (RTDS) or Advanced Transformation Server (ATS) deploys in your organization local environment, and your LSEG Workspace desktop application connects to it.

In this case, you can use the Data Library Content Layer Pricing's contribute method to contribute and update Page and Quote data to your local Market Data System directly. The contributed and updated data will be stream to your LSEG Workspace application.

Please see more details on the Content - Pricing stream - How to send contributions example

In brief: contributed data

  • LSEG customers can publish their own rates using RICs (logical records) or pages.
  • Contributors are contractually obliged to ensure the quality and accuracy of the information they publish.

Data can be contributed as:

  • Public (unrestricted) – any customer with access to the service can see it.
  • Public restricted – everyone except a particular user group defined by the contributor can see it.
  • Private restricted – only a pre-defined group of customers can see the information.

Logicisation is the process of transforming page-based information into record-based information.

To end the Data Library session, please use the ld.close_session method.

ld.close_session()