2.1 Data

The FX Strategy developed by EPFR is based on percentage flow into currencies. 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.

Download the R Script source for this chapter


2.1.1 Aggregations

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

This strategy requires:

  • Equity 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.


Cross-border equity funds, which report their country allocations and their daily fund 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 Equity funds
All Funds
Cross-border
Monthly Flows Daily Flows Daily Flows Daily Flows & Ctry Alloc
2007 6,241 2,717 1,173 446
2008 5,798 2,743 1,116 355
2009 4,794 2,273 887 303
2010 5,889 2,840 1,143 362
2011 7,595 3,932 1,601 449
2012 7,945 4,107 1,502 359
2013 10,109 5,525 1,964 606
2014 12,488 6,879 2,556 850
2015 13,561 7,575 2,755 927
2016 13,748 7,672 2,833 964
2017 16,148 9,385 3,656 1,326
2018 18,459 10,845 4,203 1,560
2019 19,075 11,096 4,063 1,718
2020 20,245 12,247 4,516 1,809
2021 28,451 17,390 6,494 2,611
2022 25,406 15,694 5,479 2,258
* 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.


2.1.2 Daily Percentage Flow

To begin calculating the daily percentage flow, we start with our subset of cross-border equity funds. To calculate the dollar flow into a currency, we will first need to scale a fund’s flow by multiplying it against its stated allocation to countries using a currency of interest (e.g. USD, EUR), on that day. We apply the same procedure to all funds with fund flow and country allocation information and then sum the dollar flows into each currency across all funds, to get the total dollar flow into a currency. 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}_{x,t} = \sum^{N}_{i=m}{\text{Flow}_{i,x,t} \times \text{Country Allocation}_{i,x}}\] Where:

  • \(\text{Total Flow}\) = the total dollar flow into a currency \(x\), 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 currency.

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

Where:

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

Finally, to find the daily percentage flow into a currency, we divide the total dollar flow by the total AuM held in a currency.

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

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

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


2.1.3 Aggregate Flow File

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

Users also have the option to use the FX Strategy files EPFR provides, which are updated daily and weekly at 5:00 PM EST with a T+1 day lag, and are available in the user’s EPFR FTP connection under the Strategies folder. The FX Strategy files contain aggregate percentage flow data for 37 currencies used in Emerging Market, ACWI, and G10 member countries.


For this demonstration, we will be using the file FX-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/FX-daily.csv

ARS AUD BRL CAD CHF CLP CNY CZK EGP GBP HUF IDR ILS INR JPY KRW MXN MYR NOK NZD PEN PHP PLN RUB SEK SGD THB TRY TWD ZAR USD EUR COP PKR MAD VND KWD
20221201 0.0251304 0.0082172 -0.1373853 -0.1685998 -0.0749154 -0.1496563 -0.0299551 -0.0142500 0.1940810 -0.1097745 -0.0322191 -0.0588564 -0.0059505 -0.0307035 -0.0999231 -0.1128431 -0.3022166 -0.0267607 -0.0579933 0.0145115 -0.2640881 0.0138949 -0.0459837 -0.4700456 -0.0866961 -0.0657525 -0.1268418 -0.0919432 -0.0436343 -0.0397615 -0.1795098 0.0267625 -0.5094658 0.6013190 2.3071010 0.3519251 0.0057498
20221202 -0.0189196 -0.0477044 -0.0280137 -0.0162801 -0.0436674 -0.0005091 -0.0053392 0.0151542 0.0139327 -0.0490842 -0.0209156 -0.0181177 -0.0504060 0.0026325 -0.0705267 -0.0038252 -0.0075309 0.0140247 -0.0761146 -0.0218806 -0.0297101 -0.0146237 0.0188773 0.0119875 -0.0313077 -0.0337831 0.0124177 0.0015482 -0.0014203 -0.0017983 0.0170400 -0.0212630 -0.0227956 -0.0002441 0.0355466 -0.0084270 0.0227861
20221205 -0.0405121 0.0223072 0.0825133 0.1970918 0.0255702 0.1293560 0.0388878 -0.0081009 -0.0089899 0.0632370 -0.0453930 0.0085137 0.0098939 0.0254118 0.0610704 0.0949566 0.1953603 0.0212568 0.0640565 0.0225785 0.1029671 0.0226141 -0.0212162 -0.0820496 0.0817224 0.1011997 0.1075311 0.0634204 0.0391413 0.0111771 0.2488875 0.0171486 0.4178865 0.0354057 -0.0018532 -0.0735125 0.0152227
20221206 -0.0722524 0.0192407 0.0169165 0.0381294 -0.0080491 0.0447338 -0.0307030 0.0590366 0.5554795 -0.0076223 -0.1214223 -0.0000285 0.0225150 0.0226381 0.0062134 0.0175863 -0.0225588 0.0460868 0.0327313 0.0168620 0.1035405 0.0792072 0.0465640 -0.0169728 0.0041204 0.0023261 0.0086808 -0.0037956 0.0229292 -0.0052343 0.0433953 0.0001183 0.3052588 1.8219575 7.0273402 1.0988859 0.0704390
20221207 -0.0679314 -0.1390638 -0.0752719 -0.0550551 -0.1040736 -0.0843923 -0.0178634 0.0880821 0.0449727 -0.0993927 -0.1257820 -0.0214412 -0.1445187 -0.0116774 -0.1146126 0.0033991 -0.0753252 -0.0691352 -0.1231335 -0.1040983 0.0182855 -0.0311994 -0.0751914 -0.4199145 -0.1467774 -0.0663596 -0.0526361 -0.1508091 -0.0370784 -0.1275912 0.0042921 -0.0918629 -0.0744702 0.3631424 1.1335628 0.3172670 -0.0984450
20221208 -0.0810127 0.0478228 0.0692034 -0.1242338 -0.3977378 0.0964116 -0.0106621 0.0318467 0.2019312 -0.1946186 0.0370493 0.0070366 -0.1104191 -0.0141156 -0.1839389 -0.0739677 0.0335682 -0.0297606 0.0657735 0.0762325 -0.1601713 0.0033812 0.1680757 -0.0034110 -0.0884723 -0.0563257 -0.0085899 0.0528167 -0.0601620 0.0638294 -0.0471382 -0.2042677 0.1013237 0.4685088 1.6374453 0.4505433 0.0260904

note: all strategy files represent indicator as a % figure, i.e. 0.1 is 0.1%


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

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

2.1.4 Return File

The return file for this strategy should contain daily spot or forward rates for each of the currencies in the flow file, over the period of time the user wants to backtest. The user can choose to use spot rate data found with their own resources, or they have the option to use spot rate files EPFR provides, which is available in the user’s EPFR FTP connection under the Returns folder(more information available in Returns Information).


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

Below shows a snippet of what this file contains:

Returns/daily/ExchRates-daily.csv

XDR AUD EGP INR MXN NZD QAR TRY ZAR ARS BRL EUR IDR KRW NOK PHP SEK CAD CHF CLP HUF JPY PEN RUB TWD CNY CZK GBP ILS MYR PLN SGD THB JOR PKR MAD COP CNH VND KWD
20221201 1.32086 1.4681 24.5607 81.2213 19.1509 1.5717 3.6412 18.6334 17.6574 167.7258 5.1916 0.9506 15563 1299.40 9.7317 56.195 10.3045 1.3432 0.9371 880.05 391.77 135.33 3.8280 118.6895 30.624 7.0534 23.1727 0.8165 3.3931 4.4070 4.4581 1.3535 34.980 NA 223.6846 10.5894 4765.75 7.0385 24518 0.30755
20221202 1.32836 1.4727 24.5607 81.3175 19.4001 1.5622 3.6412 18.6392 17.5052 168.0862 5.2190 0.9492 15428 1300.20 9.7780 55.765 10.3235 1.3468 0.9372 883.60 389.52 134.31 3.8380 118.6895 30.589 7.0535 23.1248 0.8143 3.4144 4.3883 4.4403 1.3516 34.765 NA 223.6223 10.5480 4776.65 7.0210 24477 0.30755
20221205 1.33016 1.4930 24.5623 81.7975 19.7548 1.5831 3.6412 18.6359 17.4239 169.1496 5.2830 0.9532 15468 1292.65 9.9484 56.025 10.4152 1.3588 0.9426 895.92 394.20 136.75 3.8570 118.6895 30.450 6.9625 23.1662 0.8204 3.4053 4.3685 4.4901 1.3576 34.765 NA 223.8291 10.5802 4839.85 6.9750 24001 0.30635
20221206 1.32609 1.4952 24.5650 82.6100 19.7710 1.5816 3.6411 18.6334 17.3365 169.4926 5.2379 0.9554 15618 1319.15 10.0242 55.982 10.4154 1.3653 0.9420 879.28 392.33 137.00 3.8350 118.6895 30.634 6.9950 23.2428 0.8242 3.4292 4.3950 4.4807 1.3590 35.050 NA 224.0537 10.5870 4834.00 6.9807 24033 0.30685
20221207 1.32372 1.4871 24.5921 82.4800 19.6764 1.5737 3.6411 18.6417 17.1622 169.8889 5.2164 0.9518 15638 1321.75 10.0237 55.470 10.3882 1.3653 0.9408 866.66 391.15 136.62 3.8224 118.6895 30.655 6.9700 23.1137 0.8195 3.4355 4.3970 4.4640 1.3554 35.097 NA 224.1791 10.5754 4827.99 6.9619 23962 0.30700
20221208 1.32531 1.4772 24.5800 82.4325 19.6301 1.5680 3.6411 18.6419 17.1659 169.8889 5.2169 0.9473 15621 1318.05 9.9658 55.470 10.3329 1.3595 0.9370 866.66 395.75 136.67 3.8224 118.6895 30.695 6.9674 23.0138 0.8174 3.4311 4.4015 4.4357 1.3536 34.833 NA 224.1841 10.5428 4827.99 6.9613 23915 0.30690

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

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