How to Retrieve Complete Historical Option Data via LSEG API?

Hi everyone,
I’m working on a research project involving and I need to extract historical option market data to train and validate my models. I’m using the LSEG Data API, and I’d appreciate guidance on the best way to retrieve the following data efficiently.
Required Data:
- Historical Option Prices
- Closing price (
CF_CLOSE
) - Bid-Ask Prices (to compute the mid-price and spread)
- Transaction price (if available)
- Expiration date (
EXPIR_DATE
) - Option type (
PUTCALLIND
) (Call/Put) - Strike price (
STRIKE_PRC
)
- Closing price (
- Underlying Asset Prices
- Historical spot prices of the underlying asset
- Adjusted prices (if available, to account for corporate actions)
- Underlying asset identifier (
UNDERLYING
)
- Volatility Surface
- Historical implied volatility (
IMP_VOLT
) at different strikes & expirations - Volatility skew and smile (to model moneyness effects)
- Term structure of volatility (volatility data across multiple expiries)
- Historical implied volatility (
- Risk-Free Rate & Discounting
- Historical yield curve data
- Risk-free rate for discounting (
r_{t_0}
)
- Time-to-Maturity Calculation
- Derived from
EXPIR_DATE
and historical reference dates
- Derived from
- (Optional) Market Liquidity Indicators
- Trading volume (to analyze liquidity effects)
- Open interest (if available, to measure market activity)
- I have used
ld.get_data()
to retrieve option chains, but I haven’t found how to access historical bid-ask spreads. - What is the best way to query historical volatility surfaces and ensure the data matches my option chain retrieval?
- Can I fetch the historical risk-free rate & yield curve directly from the API?
- Is there a more efficient way to retrieve and structure all this data for multiple assets at once?
- Would trading volume and open interest be available historically for deeper liquidity analysis?
Any insights, example queries, or documentation links would be greatly appreciated! Thanks in advance.
Best,
Konrad
Best Answer
-
Thank you for reaching out to us.
Another method to receive historical data is the get_history method. If you don't specify the fields parameter when calling the get_history method, the method will return all available historical fields of items.
You can check the examples on GitHub. You can also check other examples on GitHub.
You can also use the Data Item Browser tool to search for fields and parameters which can be used in the get_data method.
This forum is dedicated to software developers using LSEG APIs. The moderators on this forum do not have deep expertise in every bit of content available through LSEG products, which is required to answer content questions such as this one.
The best resource for content questions is the Helpdesk support team, which can be reached by submitting queries through MyAccount. The support team will either have the required content expertise ready available or can reach out to relevant content experts to get the answer for you. You can ask the helpdesk team about how to retrieve the required data in the Eikon or Workspace Excel. If the data is available in the Eikon or Workspace Excel, it can also be retreived via the API.
1
Categories
- All Categories
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 683 Datastream
- 1.4K DSS
- 613 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 248 ETA
- 552 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 627 Refinitiv Data Platform Libraries
- 5 LSEG Due Diligence
- 1 LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 191 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 84 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛