Returns Information

When available, EPFR has provided daily fund return data which can be used as a proxy for the returns of each market that we’re backtesting. For demonstration purposes, these files are used throughout this notebook to exhibit use cases. However, EPFR is not able to produce bond rates or individual stock returns, so these files will need to be sourced using third-party return data.

Users who choose to utilize these readily-available fund return files to follow along can access them under the FTP folder Returns.


Disclaimer: EPFR Quant team uses third-party data providers to calculate returns in our usual presentations to showcase performances.


Fund returns are calculated using EPFR’s daily flow data, and can be recreated using the following equations:

\[\text{Fund Return}_{a,t} = 100 \times \frac{\sum^{N}_{i=m} \text{Portfolio Change}_{i,a,t}}{\sum^{N}_{i=m} \text{Assets Start}_{i,a,t}}\] Where:

  • \(\text{Fund Return}\) = the return value of asset class \(a\), across all funds in our universe \(i\), for day \(t\)

\[\text{Fund Return}_{c,t} = 100\times \frac{\sum^{N}_{i=m} \text{Portfolio Change}_{i,c,t}}{\sum^{N}_{i=m} \text{Assets Start}_{i,c,t}}\] Where:

  • \(\text{Fund Return}\) = the return value of country \(c\), across all funds in our universe \(i\), for day \(t\)

\[\text{Fund Return}_{s,r,t} = 100 \times \frac{\sum^{N}_{i=m} \text{Portfolio Change}_{i,s,r,t}}{\sum^{N}_{i=m} \text{Assets Start}_{i,s,r,t}}\] Where:

  • \(\text{Fund Return}\) = the return value of sector \(s\), for region \(r\), across all funds in our universe \(i\), for day \(t\)

However, depending on how the signal being tested is indexed, it is important that the return file is also indexed at the same frequency. For example, if the signal being tested is limited to monthly granularity, it is important to ensure that the returns are also indexed by month. In this case, if the user chooses to use one of EPFR’s daily return files, the function mat.daily.to.monthly(, T) from library('EPFR.r') should be used to modify a daily return file to be indexed with monthly dates. This same process can also be done using mat.daily.to.weekly from library('EPFR.r') to modify a daily return file to be indexed with weekly dates.