How to get average WACC per quarter for list of ISINs
Hello,
I have a list of ISINs, for which I'd like to obtain a quarterly time series of the Weighted Average Cost of Capital (WACC) for each ISIN. I'm aware that the WACC is available on a daily basis from Eikon; therefore, I'm looking for a function that will compute the average of the WACC within each quarter, for each firm in my list.
So far, my approach has been to download daily WACC data for my list of ISINs, and then to perform the quarterly averaging directly within Python. However, I don't really need the daily data; so spending the time to download it first just for the purposes of aggregating, and then discarding what took so much time to download, takes unnecessary resources (and also I worry about exceeding any limits in Eikon on download volumes).
The formula I'm using is the following (assuming I want five years of data)
data, error = ek.get_data(isinlist, ['TR.WACC.date', 'TR.WACC'],{'SDate':datetime.today().strftime('%Y-%m-%d'),'EDate':'Y-5','Frq':'D'})
I guess I'm looking for something like the following:
data, error = ek.get_data(isinlist, ['TR.WACC.date', QUARTERLYAVG('TR.WACC')],{'SDate':datetime.today().strftime('%Y-%m-%d'),'EDate':'Y-5','Frq':'D'})
Would you by any chance know if this is possible?
Thank you very much in advance!
Best Answer
-
The code snippet provided by @jason.ramchandani returns the value of WACC at the end of each quarter. I cannot think of a way to retrieve quarterly averages for WACC as timeseries. As an alternative to retrieving daily timeseries for WACC and aggregating them into quarterly averages in your code you could request a quarterly average. However this needs to be done separately for each quarter, which would reduce the volume of data you retrieve, but increase the number of requests you need to send as well as the retrieval time. Here's an example retrieving quarterly averages for the last 4 fiscal quarters
df = pd.DataFrame()
instr_list = ['IBM.N','F.N']
for i in range(4):
wacc_fld = f'AVG(TR.WACC(SDate=FQ{str(-i)},Frq=D,EDate=FQ{str(-i-1)}))'
tmp_df,err = ek.get_data(instr_list,
[f'TR.SMPeriodEndDate(Period=FQ{str(-i)})',
wacc_fld])
tmp_df.rename(columns={tmp_df.columns[-1]: 'Quarterly average WACC'},
inplace = True)
df = tmp_df.append(df)
df1
Answers
-
@AAMZ is this the kind of thing you were looking for?:
df, err = ek.get_data(
instruments = [
'VOD.L',
'GOOGL.O'
],
fields = ['TR.WACC(Frq=FQ,SDate=0,EDate=-9).date','TR.WACC(Frq=FQ,SDate=0,EDate=-9)']
)I hope this can help
0 -
@jason.ramchandani many thanks for the quick response
To understand better: does this function compute the average of the daily data within each quarter, before returning it as a quarterly time series? Or is returning the value of the WACC at the end of each quarter?
0 -
@Alex Putkov. Unfortunately I was out of office until now, and could not respond sooner. But I just wanted to thank you for this useful clarification and answer.
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 370 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛