xiaohongshu
xiaohongshu
lseg-data
This skill should be used when the user asks to “access LSEG data”, “query Refinitiv”, “get market data from Refinitiv”, “download fundamentals from LSEG”, “access ESG scores”, “convert RIC to ISIN”, “get shareholder activism data”, “query poison pills”, “access corporate governance data”, “find ...
Full skill instructions
Access financial data from LSEG (London Stock Exchange Group), formerly Refinitiv, via the lseg.data Python library.
Before claiming ANY LSEG query succeeded, follow these steps:
.head() or .sample()This is not negotiable. Claiming data retrieval without inspecting results is LYING to the user about data quality.
| Excuse | Reality | Do Instead |
|---|---|---|
| “The query returned data, so it worked” | Returned data ≠ correct data | INSPECT for NULLs, wrong dates, invalid values |
| “User gave me the RIC” | Users often use wrong suffixes | VERIFY symbology against RIC Symbology section |
| “I’ll let pandas handle missing data” | You’ll propagate bad data downstream | CHECK for NULLs BEFORE returning |
| “Field names look right” | Typos are common (TR.EPS vs TR.Eps) | VALIDATE field names in documentation first |
| “Just a quick test” | Test queries teach bad habits | Full validation even for tests |
| “I can check the data later” | You won’t | Inspection is MANDATORY before claiming success |
| “Rate limits don’t matter for small queries” | Small queries add up | CHECK rate limits section, use batching |
Before EVERY data retrieval claim, verify the following:
For ld.get_data() (fundamentals/ESG):
.head() or .sample() executedFor ld.get_history() (time series):
For symbol_conversion.Definition() (mapping):
For ALL queries:
open_session() at start, close_session() at endTo get started with LSEG Data Library, initialize a session and execute queries:
import lseg.data as ld
# Initialize session
ld.open_session()
# Get fundamentals
df = ld.get_data(
universe=[‘AAPL.O’, ‘MSFT.O’],
fields=[‘TR.CompanyName’, ‘TR.Revenue’, ‘TR.EPS’]
)
print(df.head()) # Inspect sample data
# Get historical prices
prices = ld.get_history(
universe=’AAPL.O’,
fields=[‘OPEN’, ‘HIGH’, ‘LOW’, ‘CLOSE’, ‘VOLUME’],
start=‘2023-01-01’,
end=‘2023-12-31’
)
print(prices.head()) # Inspect sample data
# Close session
ld.close_session()
Configure LSEG authentication using either a config file or environment variables.
Create lseg-data.config.json:
{
“sessions”: {
“default”: “platform.ldp”,
“platform”: {
“ldp”: {
“app-key”: “YOUR_APP_KEY”,
“username”: “YOUR_MACHINE_ID”,
“password”: “YOUR_PASSWORD”
}
}
}
}
Set the following environment variables for LSEG authentication:
# Configure LSEG credentials via environment variables
export RDP_USERNAME=”YOUR_MACHINE_ID”
export RDP_PASSWORD=”YOUR_PASSWORD”
export RDP_APP_KEY=”YOUR_APP_KEY”
| API | Use Case | Example |
|---|---|---|
ld.get_data() | Point-in-time data | Fundamentals, ESG scores |
ld.get_history() | Time series | Historical prices, OHLCV |
ld.news.get_headlines() | News headlines | Company news, topic filtering |
symbol_conversion.Definition() | ID mapping | RIC ↔ ISIN ↔ CUSIP |
| Prefix | Type | Example |
|---|---|---|
TR. | Refinitiv fields | TR.Revenue, TR.EPS |
TR.MnA | Mergers & Acquisitions | TR.MnAAcquirorName, TR.MnADealValue |
TR.NI | Equity/New Issues (IPOs) | TR.NIIssuer, TR.NIOfferPrice |
TR.JV | Joint Ventures/Alliances | TR.JVDealName, TR.JVStatus |
TR.SACT | Shareholder Activism | TR.SACTLeadDissident |
TR.PP | Poison Pills | TR.PPPillAdoptionDate |
TR.LN | Syndicated Loans | TR.LNTotalFacilityAmount |
TR.PJF | Infrastructure/Project Finance | TR.PJFProjectName |
TR.PEInvest | Private Equity/Venture Capital | TR.PEInvestRoundDate |
TR.Muni | Municipal Bonds | TR.MuniIssuerName |
CF_ | Composite (real-time) | CF_LAST, CF_BID |
| Suffix | Exchange | Example |
|---|---|---|
.O | NASDAQ | AAPL.O |
.N | NYSE | IBM.N |
.L | London | VOD.L |
.T | Tokyo | 7203.T |
| Endpoint | Limit |
|---|---|
get_data() | 10,000 data points/request |
get_history() | 3,000 rows/request |
| Session | 500 requests/minute |
references/fundamentals.md - Financial statement fields, ratios, estimatesreferences/esg.md - ESG scores, pillars, controversiesreferences/symbology.md - RIC/ISIN/CUSIP conversionreferences/pricing.md - Historical prices, real-time datareferences/screening.md - Stock screening with Screener objectreferences/news.md - News headlines, pagination, query syntaxreferences/mna.md - Mergers & acquisitions deals (SDC Platinum, 2,683 fields)references/equity-new-issues.md - IPOs, follow-ons, equity offerings (SDC Platinum, 1,708 fields)references/joint-ventures.md - Joint ventures, strategic alliances (SDC Platinum, 301 fields)references/corporate-governance.md - Shareholder activism, poison pills (SDC Platinum)references/syndicated-loans.md - Syndicated loan deals (SDC Platinum)references/infrastructure.md - Infrastructure/project finance deals (SDC Platinum)references/private-equity.md - Private equity/venture capital investments (SDC Platinum)references/municipal-bonds.md - Municipal bond issuances (SDC Platinum)references/api-discovery.md - Reverse-engineering APIs via CDP network monitoringreferences/troubleshooting.md - Common issues and solutionsreferences/wrds-comparison.md - LSEG vs WRDS data mappingexamples/historical_pricing.ipynb - Historical price retrievalexamples/fundamentals_query.py - Fundamental data patternsexamples/stock_screener.ipynb - Dynamic stock screeningscripts/test_connection.py - Validate LSEG connectivityLSEG API samples at ~/resources/lseg-samples/:
Example.RDPLibrary.Python/ - Core API examplesExamples.DataLibrary.Python.AdvancedUsecases/ - Advanced patternsArticle.DataLibrary.Python.Screener/ - Stock screeningInteractive JupyterLab environment with pre-configured LSEG access:
https://workspace.refinitiv.com/codebook/refinitiv.data library{name=’codebook’})# In Codebook, session opens automatically with Workspace auth
import refinitiv.data as rd
rd.open_session() # Returns session with name=’codebook’
# Query data immediately
df = rd.news.get_headlines(‘R:AAPL.O AND SUGGAC’, count=10)
Note: Codebook uses refinitiv.data (older name) rather than lseg.data. Both APIs are equivalent.
When querying market data, account for current date context and market data lag.
Market data typically has T-1 availability, meaning today’s data becomes available tomorrow. Adjust date ranges accordingly.
Use current date context when querying historical prices:
from datetime import datetime, timedelta
# Get recent market data
end_date = datetime.now()
start_date = end_date - timedelta(days=365)
# Adjust to exclude recent data (T-1 for market data availability)
end_date = end_date - timedelta(days=1)
df = ld.get_history(
universe=”AAPL.O”,
fields=[‘CLOSE’],
start=start_date.strftime(‘%Y-%m-%d’),
end=end_date.strftime(‘%Y-%m-%d’)
)
Remember: Always account for the T-1 lag in market data availability.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience