7.1 Data

The Flow-Percentage DM Rates Strategy developed by EPFR is based on the percentage flow into countries via cross-border bond funds. In this section, the reader will gain an understanding of the aggregations which can be used to create a signal as well as the methodology behind daily percentage flow calculations.


7.1.1 Aggregations

The first step is defining a subset of data to capture in calculating our signal.

This strategy requires:

  • Bond funds with a cross-border focus. These are essentially any fund that has a mandate spanning more than one country. The vast majority of these will be global and regional funds.

  • Funds must report both daily flows and country allocations, since these values are needed to calculate the daily percentage flow.


Fixed-income cross-border funds, which report their country allocations and their daily flows, are a subset of those that only report their fund flows to EPFR. The figure below shows EPFR’s coverage of this universe over time compared to our total monthly and daily coverages.

AUM ($BB) of Fixed income funds
All Funds
Cross-border
Monthly Flows Daily Flows Daily Flows Daily Flows & Ctry Alloc
2007 3,220 1,611 309 29
2008 4,262 2,611 431 30
2009 5,643 3,812 471 30
2010 6,520 4,169 850 58
2011 7,455 4,803 1,344 107
2012 8,795 5,343 1,372 53
2013 9,801 6,467 1,787 82
2014 11,083 7,562 2,390 142
2015 11,632 8,080 2,515 155
2016 12,362 8,638 2,829 240
2017 13,758 9,701 3,384 294
2018 14,755 10,515 3,782 311
2019 16,288 11,494 3,893 507
* Updated at the end of July each year

Users looking for more specific detail can customize this aggregation even further using EPFR’s fund-level or share class-level granularity. Some good examples would be to consider only active, passive, ETFs or mutual funds, or only institutional or retail share class flows and assets. Users can leverage these tags to different degrees in creating aggregated signals to backtest. Further detail about this is available in the section EPFR Data & Filters.

This can be achieved using fund-level flow and allocation files or by reaching out to EPFR’s Quant Team for customized aggregations.


7.1.2 Daily Percentage Flow

To begin calculating the daily percentage flow, we start with our subset of cross-border bond funds. To calculate the dollar flow into a country, we scale a fund’s flow by multiplying it against its stated country allocation, on that day. We then apply the same procedure to all funds with fund flow and country allocation information and then sum the flows for each country across all funds, to get the total dollar flow into a country. EPFR releases country allocations of all funds on the \(23^{\text{rd}}\) of each month (or the next available business day) at a monthly frequency. Hence, our calculation assumes constant country weightings between two consecutive release dates within the month.

\[\text{Total Flow}_{c,t} = \sum^{N}_{i=m}{\text{Flow}_{i,c,t} \times \text{Country Allocation}_{i,c}}\] Where:

  • \(\text{Total Flow}\) = the total dollar flow into a country \(c\), across all funds in our universe \(i\), for day \(t\)

We will want to normalize this figure. So, we repeat the process across the same fund’s Assets held under Management (AuM), to get the total AuM held in a country.

\[\text{Total AuM}_{c,t} = \sum^{N}_{i=m}{\text{AuM}_{i,c,t} \times \text{Country Allocation}_{i,c}}\]

Where:

  • \(\text{Total AuM}\) = the total assets held in a country \(c\), across all funds in our universe \(i\), for day \(t\)

Finally, to find the daily percentage flow for a country, we divide the total flow by the total AuM held in a country.

\[\text{Percentage Flow}_{c,t} = 100 \times \frac{\text{Total Flow}_{c,t}}{\text{Total AuM}_{c,t}}\] Where:

  • \(\text{Percentage Flow}\) = the scaled flow as a percentage into a country \(c\), across all funds in our universe \(i\), for day \(t\)

We repeat this across all different countries for the entire history.


7.1.3 Aggregate Flow File

Users may create flow percentages for their desired country aggregations and granularity using the methodology described in the previous section.

Users also have the option to use the Flow-Percentage DM Strategy file EPFR provides, which is updated daily at 5:00 PM EST with a T+1 day lag, and is available in the user’s EPFR FTP connection under the Strategies folder. The Flow-Percentage DM Strategy file contains aggregate percentage flow data for 52 countries in the ACWI, EAFE and Emerging Market country universes.


For this demonstration, we will be using the file FloPctCtry-B-daily.csv, which can be downloaded from the user’s FTP under the folder Strategies/daily and can be stored in the user’s local folder EPFR/daily.

Below shows a snippet of what this file contains:

Strategies/daily/FloPctCtry-B-daily.csv

AU CA CH DE GB JP NO NZ SE US
20220201 -0.0950507 -0.0315327 -0.3727611 -0.1047609 -0.0969043 0.0081440 -0.0657132 -0.1475318 -0.0844231 -0.0759766
20220202 -0.0469661 -0.0249638 -0.2127343 0.0741945 -0.0554096 -0.0186634 -0.0711573 -0.0314773 -0.0065801 -0.0266499
20220203 -0.0082617 0.0043339 -0.0404950 -0.0704836 -0.0494751 0.0709754 -0.0488570 0.0036287 -0.0407186 -0.0568840
20220204 -0.1367533 -0.0449064 -0.3684561 -0.1533709 -0.1369094 0.0093309 -0.1679166 -0.1858445 -0.2541709 -0.1108859
20220207 -0.1280167 0.0041454 -0.2162555 -0.2249074 -0.1607073 -0.0305696 -0.1262835 -0.1076707 -0.1903250 -0.1399923
20220208 -0.1972474 -0.1002139 -0.2642751 -0.2797248 -0.1652405 -0.0904993 -0.2372150 -0.2663778 -0.2768842 -0.1358340

For convenience, save the path to the flow file you choose to use as flow.file. Example shown below:

flow.file <- "C:\\EPFR\\daily\\FloPctCtry-B-daily.csv"

7.1.4 Return File

The return file for this strategy should contain data for the 10-year rates for each G10 country in the flow file, over the period of time the user wants to backtest. However, EPFR is not able to provide this data, so users must find this data though their own third-party resources.


For the purpose of creating backtest results in this notebook, we have used an internal file containing historical daily 10-year rates, and stored locally in the folder EPFR/returns.

Below shows a snippet of what this file contains:

EPFR/returns/g10rates.csv

AU CA CH DE GB JP NO NZ SE US
20220201 1.9025 1.790 0.079 0.034 1.300 0.180 1.987 2.595 0.406 1.789
20220202 1.9125 1.756 0.090 0.038 1.257 0.179 1.990 2.572 0.424 1.777
20220203 1.8675 1.799 0.176 0.139 1.368 0.176 2.077 2.520 0.521 1.832
20220204 1.9600 1.853 0.246 0.203 1.411 0.198 2.104 2.600 0.595 1.911
20220207 1.9950 1.836 0.266 0.225 1.408 0.197 2.121 2.600 0.656 1.917
20220208 2.1200 1.855 0.326 0.263 1.489 0.218 2.153 2.708 0.690 1.965

For convenience, save the path to the return file you choose to use as ret.file. Example shown below:

ret.file <- "C:\\EPFR\\returns\\g10rates.csv"