ld.get_history() and ek.get_timeseries() equivalent fields

We are migrating from Eikon Data API (ek) to LSEG Data Library (ld)
Some parts of our codebase contain something like the following snippet
data = ek.get_timeseries(series, start_date=start_date, end_date=end_date, fields=["TIMESTAMP", "CLOSE"])
So we got all of our time series of interest in one go. Now, the field "CLOSE
" seems to be not available anymore. Each "ric" seems to have one field that it is equivalent to the old "CLOSE
", so I have two questions:
- Is there a way (besides looking one by one) to get the field equivalent to the old "
CLOSE
"? I have seen other questions where looking into the Data Item Browser (DIB) is suggested, but it seems unhelpful for me. For example, for the instrumentES10YT=RR
the following fields are returned inget_history
:'B_YLD_1', 'HIGH_1', 'OPEN_PRC', 'LOW_1', 'HIGH_YLD', 'LOW_YLD',
, however, none of them seems to be in the DIB (see snapshot).
'A_YLD_1', 'BID', 'MID_PRICE', 'MID_YLD_1', 'CONVEXITY', 'MOD_DURTN',
'ASK_HIGH_1', 'ASK_LOW_1', 'OPEN_ASK', 'OPEN_YLD', 'AST_SWPSPD', 'BPV',
'BMK_SPD', 'ISMA_A_YLD', 'ISMA_B_YLD', 'SWAP_SPRDB', 'ASK', 'OAS_BID',
'ZSPREAD', 'INT_BASIS', 'INT_CDS', 'TRTN_PRICE', 'OIS_SPREAD',
'TED_SPREAD', 'ASP6M', 'ASP3M', 'ASP1M' - Is there a way to get the hsitory of several instruments at once, looking only for one specific field for each one of them, so the behaviour of the old
ek.get_timeseries
is mimicked?
Thank you in advance.
Answers
-
Hello @sganfin
About the first question. I did a quick test with Eikon Data API and
. The ek.get_timeseries() CLOSE fields seem to match with ld.get_history() B_YLD_1 field as follows.However, I am not a content expert, so I strongly suggest you contact the Workspace team to verify which field of your interested RICs that are the CLOSE value. You can contact the team via https://myaccount.lseg.com/en/productsupport website.
About the 2nd question, the ld.get_history() method supports multiple RICs and fields request as follows.
ld.get_history(universe=["LSEG.L", "VOD.L"], fields="BID", interval="1Y")
You can find the examples on the Workspace CodeBook app ("CODEBK") and GitHub repository.
0 -
Ok, I will contact the team for the CLOSE equivalents.
Regarding the second question, yes, you can retrieve the same the same field or set of fields, for several universes. But, I don't know if it is possible, for example, to retrive "B_YLD_1" (and only that field) for "ES10YT=RR" and "BID" (and only that field) for "VOD.L" in a single call. Given that we are required to retrieve around 60 time series every day twice, it would be nice, with the eikon package it was fairly as the field was the same for every universe (CLOSE).
0 -
Hello @sganfin
About the "I don't know if it is possible, for example, to retrieve "B_YLD_1" (
and only that field
) for "ES10YT=RR" and "BID" (and only that field
) for "VOD.L" in a single call." requirement, it is not possible.The library interfaces support the same set of fields request for multiple items only.
However, you can use the Python
library to work with the LD Content Layer - Historical Pricing object to request data in parallel as follows:import lseg.data as ld
from lseg.data.content import historical_pricing
from lseg.data.content.historical_pricing import Intervals
import asyncio
ld.open_session()
tasks = asyncio.gather(
historical_pricing.summaries.Definition('VOD.L', fields=['BID'], interval=Intervals.YEARLY, count = 5).get_data_async(closure = 'Vodafone'),
historical_pricing.summaries.Definition('ES10YT=RR', fields=['B_YLD_1'], interval=Intervals.YEARLY, count = 5).get_data_async(closure = 'ES10')
)
await tasks
def display_reponse(response):
#print(response)
print("\nReponse received for", response.closure)
if response.is_success:
display(response.data.df)
else:
print(response.http_status)
vodafone,es10 = tasks.result()
display_reponse(vodafone)
display_reponse(es10)You can find more detail on the following resources:
- Data Library - Content Layer - Historical Pricing
- GitHub: Content Layer - Historical Pricing - Basic usages
- Content layer - How to send parallel requests
I hope this helps.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 689 Datastream
- 1.4K DSS
- 626 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 558 WebSocket API
- 39 FX Venues
- 15 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
- 277 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 23 RDMS
- 2K Refinitiv Data Platform
- 705 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- 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
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 106 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 94 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛