Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
5 1 2 5

TR.FundRollingPerformance for Calendar Year Returns

I can use the field TR.FundRollingPerformance to get fund returns since inception, by year etc.

However, if I used the parameters: TR.FundRollingPerformance(RollTimeFrame=10Y Interval=Y)

The result I get are 1-year periods, ending at month-end of the previous month.

(I.e. if I pull the data in June, I get a series of yearly values, for years ending May 31st.


I am trying to get the annual results for calendar years. Are there any parameters that can be used with this field in order to get this?

Given how the data will ultimately be used, the idea solution would be single formula returning a single value (for a year). Something like:

TR.FundRollingPerformance(RollTimeFrame=2018 Interval=Y)


Is there any way to do this? The only working solution I have seen is to pull a table of the monthly returns, then sum all of them for a specific year. That approach won't work in this case.

eikoneikon-data-apirefinitiv-dataplatform-eikonworkspaceworkspace-data-apifunds
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@peter.vonbredow0 and @jason.ramchandani, I would like to point out that aggregating monthly returns to year returns is NOT adding (sum) the performances 12 months' return figures. The correct term we should use is "annualise" the monthly returns. It should be the product of the monthly returns in factor form. e.g. if all the 12 months' monthly return is 1%, the yearly return is about 12.6825% not 12.0%

BTW, I do not find a way to directly get the calendar year returns in the Eikon API.

Hello @peter.vonbredow0

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS


@peter.vonbredow0

Hi,

Please be informed that a reply has been verified as correct in answering the question, and marked as such.

Thanks,

AHS

1 Answer

· Write an Answer
Upvotes
Accepted
10.2k 18 6 9

@peter.vonbredow0 So I would get the monthly data going back as far as possible then use the pandas groupby year and sum function:

df, err = ek.get_data('VOT',['TR.FundRollingPerformance(RollTimeFrame=SI,Interval=M).date','TR.FundRollingPerformance(RollTimeFrame=SI,Interval=M)'])
df['Date'] = pd.to_datetime(df['Date'])
df1 = df.groupby(df.Date.dt.year).sum()
df1

I hope this can help.


1623077414111.png (76.8 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.