Intuitive GDP growth estimates #
The category group contains realtime estimated recent GDP growth trends based on regressions that use the latest available national accounts data and monthlyfrequency activity data. The estimation relies on GLS regression with autocorrelated errors. Unlike standard academic models, the intention is to mimic intuitive methods of market economists. Recent trends are calculated based on vintages both in outright terms and relative to longterm trends.
Intuitive growth #
Ticker : INTRGDP_NSA_P1M1ML12_3MMA / _P1M1ML12
Label : Intuitive real GDP growth: % oya, 3mma / % oya
Definition : Latest estimable GDP growth trend based on actual national accounts and monthly activity data, based on sets of regressions that replicate conventional charting methods in markets (Macrosynergy methodology): % over a year ago, 3month moving average / % over a year ago.
Notes :

Each day on which a new economic indicator is released, a full new vintage of monthlyfrequency GDP growth rates (% over a year ago) is estimated.

For the latest months of each vintage, for which national accounts data have not yet been published, GDP growth is estimated based on GLS (generalized least squares) regression. This regression predicts GDP growth for a month based on the relevant growth indicators that have so far been published and the estimated autocorrelation effects error terms. This means that the error of that same regression for the last reported quarter carries over to subsequent months. Errors of linear predictions of GDP growth based on selected growth indicators are often autocorrelated due to unobservable trends, typically related to sectors for which no data is available.

For the older history of each vintage, for which national accounts have already been released, the official quarterlyfrequency GDP growth rates are decomposed into monthlyfrequency growth rates using OLS regression based on monthly activity indicators.

The candidate monthlyfrequency indicators are preselected according to financial market economic release calendars and further narrowed down based on their predictive power prior to the point in time at which the selection must have been done. Thus, there is statistical preselection based on prior training data. In summary, this means that the set of explanatory monthlyfrequency activity indicators changes overtime according to (i) publication schedule and (ii) past predictive power.

Only countryspecific activity data are used for estimating country growth. We would not use, for example, U.S. activity data to estimate Canadian growth. This allows differentiating growth information cleanly across countries, which is a good basis for building good relative growth indicators across countries.

Important note: The quantamental series of a 3month moving average, as presented here, is not the same as the 3month moving average of a quantamental series. Instead the former is a 3month moving average of the concurrently available vintage. Since the latest month and the previous months may be estimated based on different monthlyfrequency data, depending on publication lag, the quantamental 3month moving averages contain independent information and may look very different from the smoothed monthly quantamental series.

For further calculation details, see Appendix 1 .
Excess intuitive growth #
Ticker : INTRGDPv5Y_NSA_P1M1ML12_3MMA / INTRGDPv10Y_NSA_P1M1ML12_3MMA
Label : Excess intuitive real GDP growth trend: based on 5 year lookback / based on 10 year lookback.
Definition : Latest estimated “intuitive” GDP growth trend, % over a year ago, 3month moving average minus a longterm median of that country’s actual GDP growth rate at that time: based on 5 year lookback of the latter / based on 10 year lookback of the latter.
Notes :

For a description of the estimation of intuitive GDP growth, see the above ‘Intuitive growth’ notes.

The excess intuitive GDP growth trend subtracts a realtime 5year or 10year GDP growth median. This serves as a simplistic but fairly objective estimate for potential GDP growth at the time. See also notes for
RGDP_SA_P1Q1QL4_40QMM
in the category “Longterm GDP growth”.
Intuitive growth trend changes #
Ticker : INTRGDP_NSA_P1M1ML12_D3M3ML3
Label : Change in annual intuitive growth trend over the past 3 months.
Definition : Intuitive GDP growth, % over a year ago, 3month average, change over the last three estimable months.
Notes :

This metric is measuring estimations of growth changes, not changes in estimations. The changes are always calculated based on the latest available vintage of growth estimations.

Importantly, quantamental realtime measures of changes in growth trends are not the same as changes in quantamental realtime measures of growth trends. These are two different concepts. The latter can be calculated based on quantamental indicators alone and does not require the underlying vintages.

For a description of the estimation of intuitive GDP growth, see the above ‘Intuitive growth’ notes.
Imports #
Only the standard Python data science packages and the specialized
macrosynergy
package are needed.
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import math
import json
import yaml
import macrosynergy.management as msm
import macrosynergy.panel as msp
import macrosynergy.signal as mss
import macrosynergy.pnl as msn
from macrosynergy.download import JPMaQSDownload
from timeit import default_timer as timer
from datetime import timedelta, date, datetime
import warnings
warnings.simplefilter("ignore")
The
JPMaQS
indicators we consider are downloaded using the J.P. Morgan Dataquery API interface within the
macrosynergy
package. This is done by specifying
ticker strings
, formed by appending an indicator category code
<category>
to a currency area code
<cross_section>
. These constitute the main part of a full quantamental indicator ticker, taking the form
DB(JPMAQS,<cross_section>_<category>,<info>)
, where
<info>
denotes the time series of information for the given crosssection and category.
The following types of information are available:

value
giving the latest available values for the indicator 
eop_lag
referring to days elapsed since the end of the observation period 
mop_lag
referring to the number of days elapsed since the mean observation period 
grade
denoting a grade of the observation, giving a metric of real time information quality.
After instantiating the
JPMaQSDownload
class within the
macrosynergy.download
module, one can use the
download(tickers,
start_date,
metrics)
method to obtain the data. Here
tickers
is an array of ticker strings,
start_date
is the first release date to be considered and
metrics
denotes the types of information requested.
# Crosssections of interest
cids_dmca = [
"AUD",
"CAD",
"CHF",
"EUR",
"GBP",
"JPY",
"NOK",
"NZD",
"SEK",
"USD",
] # DM currency areas
cids_dmec = ["DEM", "ESP", "FRF", "ITL", "NLG"] # DM euro area countries
cids_latm = ["BRL", "COP", "CLP", "MXN", "PEN"] # Latam countries
cids_emea = ["CZK", "HUF", "ILS", "PLN", "RON", "RUB", "TRY", "ZAR"] # EMEA countries
cids_emas = [
"CNY",
# "HKD",
"IDR",
"INR",
"KRW",
"MYR",
"PHP",
"SGD",
"THB",
"TWD",
] # EM Asia countries
cids_dm = cids_dmca + cids_dmec
cids_em = cids_latm + cids_emea + cids_emas
cids = sorted(cids_dm + cids_em)
# Quantamental categories of interest
main = [
"INTRGDP_NSA_P1M1ML12",
"INTRGDP_NSA_P1M1ML12_3MMA",
"INTRGDPv5Y_NSA_P1M1ML12_3MMA",
"INTRGDPv10Y_NSA_P1M1ML12_3MMA",
"INTRGDP_NSA_P1M1ML12_D3M3ML3",
]
econ = ["RIR_NSA", "FXCRR_NSA", "REER_NSA_P1M12ML1"] # economic context
mark = [
"EQXR_NSA",
"EQXR_VT10",
"FXXR_VT10",
"DU05YXR_NSA",
"DU05YXR_VT10",
"FXUNTRADABLE_NSA",
"FXTARGETED_NSA",
] # market links
xcats = main + econ + mark
# Download series from J.P. Morgan DataQuery by tickers
start_date = "20000101"
tickers = [cid + "_" + xcat for cid in cids for xcat in xcats]
print(f"Maximum number of tickers is {len(tickers)}")
# Retrieve credentials
client_id: str = os.getenv("DQ_CLIENT_ID")
client_secret: str = os.getenv("DQ_CLIENT_SECRET")
# Download from DataQuery
with JPMaQSDownload(client_id=client_id, client_secret=client_secret) as downloader:
start = timer()
df = downloader.download(
tickers=tickers,
start_date=start_date,
metrics=["value", "eop_lag", "mop_lag", "grading"],
suppress_warning=True,
show_progress=True,
)
end = timer()
dfd = df
print("Download time from DQ: " + str(timedelta(seconds=end  start)))
Maximum number of tickers is 555
Downloading data from JPMaQS.
Timestamp UTC: 20230714 13:15:14
Connection successful!
Number of expressions requested: 2220
Requesting data: 100%███████████████████████████████████████████████████████████████ 111/111 [00:34<00:00, 3.18it/s]
Downloading data: 100%██████████████████████████████████████████████████████████████ 111/111 [01:22<00:00, 1.34it/s]
Download time from DQ: 0:02:26.765426
Availability #
cids_exp = sorted(
list(set(cids)  set(cids_dmec + ["ARS", "HKD"]))
) # cids expected in category panels
msm.missing_in_df(dfd, xcats=main, cids=cids_exp)
Missing xcats across df: set()
Missing cids for INTRGDP_NSA_P1M1ML12: set()
Missing cids for INTRGDP_NSA_P1M1ML12_3MMA: set()
Missing cids for INTRGDP_NSA_P1M1ML12_D3M3ML3: set()
Missing cids for INTRGDPv10Y_NSA_P1M1ML12_3MMA: set()
Missing cids for INTRGDPv5Y_NSA_P1M1ML12_3MMA: set()
Intuitive growth estimates for most countries are available by 2000. Some EM countries only have indicators from the mid2000s. The early vintages for many EM countries are often quite rough.
For the explanation of currency symbols, which are related to currency areas or countries for which categories are available, please view Appendix 2 .
xcatx = main
cidx = cids_exp
dfx = msm.reduce_df(dfd, xcats=xcatx, cids=cidx)
dfs = msm.check_startyears(dfx)
msm.visual_paneldates(dfs, size=(20, 3))
print("Last updated:", date.today())
Last updated: 20230714
xcatx = main
cidx = cids_exp
plot = msm.check_availability(
dfd, xcats=main, cids=cids_exp, start_size=(20, 1), start_years=False
)
Vintage grading has been high on average. This reflects that intuitive growth relies heavily on estimation, which could be replicated sequentially and realistically for most days since 2000. Great Britain, the United States and Indonesia attain the highest vintage gradings out of all considered crosssections.
xcatx = main
cidx = cids_exp
plot = msp.heatmap_grades(
dfd,
xcats=xcatx,
cids=cidx,
size=(20, 3),
title=f"Average vintage grades from {start_date} onwards",
)
cidx = cids_exp
for x in main:
xcatx = [x]
msp.view_ranges(
dfd,
xcats=xcatx,
cids=cidx,
val="eop_lag",
title="End of observation period lags (ranges of time elapsed since end of observation period in days)",
start="20000101",
kind="box",
size=(16, 4),
)
msp.view_ranges(
dfd,
xcats=xcatx,
cids=cidx,
val="mop_lag",
title="Median of observation period lags (ranges of time elapsed since middle of observation period in days)",
start="20000101",
kind="box",
size=(16, 4),
)
History #
Intuitive real GDP growth trend #
Since 2000, realtime intuitive growth rates in emerging market economies have on average outperformed developed economies.
The standard deviations of the quantamental intuitive growth series’ have not always been commensurate to the standard deviations of actual growth, since fluctuations in the quantamental series very much depend on the data release structure. A country with early but unreliable activity indicators would, all other things equal, have a more volatile intuitive growth indicator than a country where markets mainly rely on national account reports.
Taking a threemonth moving average removes a lot of shortterm noise compared to the original series and is usually preferable as a trend indicator. It is important to remember that this is a moving average of vintages, not of the quantamental series, and that it contains different information, such as the information implied in monthly frequency indicators that have longer publication lags.
xcatx = ["INTRGDP_NSA_P1M1ML12_3MMA"]
cidx = cids_exp
msp.view_ranges(
dfd,
xcats=xcatx,
cids=cidx,
sort_cids_by="mean",
start=start_date,
kind="bar",
title="Means and standard deviations of intuitive real GDP growth trends",
xcat_labels=[
"% change over a year ago, 3month moving average",
],
size=(16, 8),
)
The 3month lookback growth estimator has been a lot more stable that the monthly one. This reflects the much better data quality of the indicators that are available in the longer window.
xcatx = ["INTRGDP_NSA_P1M1ML12", "INTRGDP_NSA_P1M1ML12_3MMA"]
cidx = cids_exp
msp.view_timelines(
dfd,
xcats=xcatx,
cids=cidx,
start=start_date,
title="Realtime intuitive GDP growth estimates",
title_adj=1.02,
title_xadj=0.39,
title_fontsize=27,
legend_fontsize=17,
label_adj=0.075,
xcat_labels=[
"% change over a year ago",
"% change over a year ago, 3month moving average",
],
ncol=4,
same_y=False,
size=(12, 7),
aspect=1.7,
all_xticks=True,
)
Threemonth averages of vintages have longer lookbacks and consequently use more data. This means they may be quicker than onemonth estimates in detecting trends. The latest information alone may not always be the earliest signal on where the economy is going.
xcatx = ["INTRGDP_NSA_P1M1ML12", "INTRGDP_NSA_P1M1ML12_3MMA"]
cidx = ["COP"]
msp.view_timelines(
dfd,
xcats=xcatx,
cids=cidx,
start="20000101",
title="Realtime 'intuitive' GDP growth estimate: latest month and 3month moving average (orange)",
title_adj=1.02,
ncol=4,
same_y=False,
size=(12, 7),
aspect=1.7,
)
Crosscorrelation of intuitive real growth trends has been almost uniformly positive across all economies, illustrating the pervasive influence of global business cycles.
cidx = cids_exp
msp.correl_matrix(
dfd,
xcats="INTRGDP_NSA_P1M1ML12_3MMA",
cids=cidx,
title="Crosssectional correlation of realtime measures of intuitive GDP growth trends, 3month moving average, across countries",
size=(20, 14),
)
Excess intuitive real GDP growth trend (5year lookback) #
Since 2000, trend growth has declined globally and consequentially, intuitive GDP growth has on average underperformed its longterm past median over most crosssections.
xcatx = ["INTRGDPv5Y_NSA_P1M1ML12_3MMA"]
cidx = cids_exp
msp.view_ranges(
dfd,
xcats=xcatx,
cids=cidx,
sort_cids_by="mean",
start=start_date,
kind="bar",
title="Means and standard deviations of excess real GDP growth trends, 5year lookback, since 2000",
xcat_labels=["% over a year ago, 3month moving average"],
size=(16, 8),
)
Adjustment of current growth trends for longterm averages provides an objective criterion for distinguishing what would be called “high growth” versus “low growth”.
xcatx = ["INTRGDP_NSA_P1M1ML12_3MMA", "INTRGDPv5Y_NSA_P1M1ML12_3MMA"]
cidx = cids_exp
msp.view_timelines(
dfd,
xcats=xcatx,
cids=cidx,
start=start_date,
xcat_labels=[
"% over a year ago, 3month moving average",
"relative to 5year median",
],
title="Regular and excess intuitive GDP growth estimates",
title_adj=1.02,
title_fontsize=27,
title_xadj=0.41,
label_adj=0.075,
legend_fontsize=17,
ncol=4,
same_y=False,
size=(12, 7),
aspect=1.7,
all_xticks=True,
)
Excess intuitive real GDP growth trend (10year lookback) #
The secular moderation in growth is even clearer when using a 10year lookback as a growth benchmark. The trouble with long benchmarks is that for some countries they shorten the available history.
xcatx = ["INTRGDPv10Y_NSA_P1M1ML12_3MMA"]
cidx = cids_exp
msp.view_ranges(
dfd,
xcats=xcatx,
cids=cidx,
sort_cids_by="mean",
start=start_date,
kind="bar",
title="Means and standard deviations of excess real GDP growth trends, 10year lookback, since 2000",
xcat_labels=["% over a year ago, 3month moving average"],
size=(16, 8),
)
xcatx = ["INTRGDPv10Y_NSA_P1M1ML12_3MMA", "INTRGDPv5Y_NSA_P1M1ML12_3MMA"]
cidx = cids_exp
msp.view_timelines(
dfd,
xcats=xcatx,
cids=cidx,
start=start_date,
xcat_labels=[
"relative to 10year median",
"relative to 5year median",
],
title="Excess intuitive GDP growth estimates, % over a year ago, 3month moving average",
title_adj=1.02,
title_xadj=0.43,
title_fontsize=27,
legend_fontsize=17,
label_adj=0.075,
ncol=4,
same_y=False,
size=(12, 7),
aspect=1.7,
all_xticks=True,
)
Change in annual intuitive growth trend #
Growth changes have varied substantially across countries and time periods, with standard deviations ranging from less than 1% to near 5%.
Importantly, the variability of estimated growth not only depends on the actual variability of growth, but also on the stability of the highfrequency growth indicators that are used for concurrent GDP trend estimation. If a country has many volatile but valid GDP predictors, the estimated latest growth changes can be volatile even if actual growth is not.
xcatx = ["INTRGDP_NSA_P1M1ML12_D3M3ML3"]
cidx = cids_exp
msp.view_ranges(
dfd,
xcats=xcatx,
cids=cidx,
sort_cids_by="std",
start=start_date,
kind="bar",
title="Means and standard deviations of changes in annual intuitive growth trends, since 2000",
xcat_labels=["3month change in annual intuitive growth trends"],
size=(16, 8),
)
xcatx = ["INTRGDP_NSA_P1M1ML12_D3M3ML3"]
cidx = cids_exp
msp.view_timelines(
dfd,
xcats=xcatx,
cids=cidx,
start=start_date,
title="Change in annual intuitive growth trends over the last 3 estimable months",
title_adj=1.02,
title_fontsize=27,
title_xadj=0.51,
legend_fontsize=17,
ncol=4,
same_y=False,
size=(12, 7),
aspect=1.7,
all_xticks=True,
)
Crosscorrelation of realtime measures of growth changes have been predominantly positive, underlining the power of global growth shocks
cidx = cids_exp
msp.correl_matrix(
dfd,
xcats="INTRGDP_NSA_P1M1ML12_D3M3ML3",
cids=cidx,
title="Crosssectional correlation of realtime measures of intuitive growth changes across countries",
size=(20, 14),
)
Importance #
Research links #
“Interest rates [are] positively related to consumption growth shocks, and therefore provide low [excess currency] returns when consumption growth is weakening…We provide empirical evidence that the risk factors associated with US GDP and foreign country’s GDP growth accounts for both the crosssection of average excess returns and individual currencies’ payoffs.” Gonçalves et al.
“Global economic growth at the end of the year strongly predicts returns from a wide spectrum of international assets, such as global, regional, and individualcountry stocks, FX, and commodities…Low growth in the global economy at the end of the year predicts higher returns over the following year. It also predicts the global business cycle. When global economic growth at the end of the year is low, investors expect a worsening of the global business cycle and increase their required returns.” Møller & Rangvid
“We use forecasting models to measure the impact of surprises in GDP announcements on equity markets, and to analyze the effects of anticipated future revisions on announcementday returns. We show that the publication of better than expected thirdrelease GDP figures provides a boost to equity markets, and if future upward revisions are expected, the effects are enhanced during recessions.” Clements and Galvão
Empirical clues #
Growth trends influence real interest rates and, hence, various measures of real carry and returns. Higher growth is typically associated with higher real interest rates.
xcatx = ["INTRGDP_NSA_P1M1ML12_3MMA", "RIR_NSA"]
cidx = cids_exp
cr_crr = msp.CategoryRelations(
dfd,
xcats=xcatx,
cids=cidx,
freq="A",
lag=0,
xcat_aggs=["mean", "mean"],
start=start_date,
xcat_trims=[20, 15], # trim extreme observations (Turkey)
)
cr_crr.reg_scatter(
title="Intuitive growth and real interest rate across all countries and all years since 2000",
labels=True,
coef_box="upper left",
reg_robust=False,
xlab="Intuitive GDP growth trend",
ylab="Main real shortterm interest rate, excluding extreme values of dubious validity",
)
There is some evidence of a negative relationship between intuitive growth trends and subsequent duration returns; higher growth has been followed by lower returns.
xcatx = ["INTRGDP_NSA_P1M1ML12_3MMA", "DU05YXR_NSA"]
cidx = list(set(cids_exp)  set(["BRL", "PEN", "PHP", "RON"])) # remove missing cids
cr = msp.CategoryRelations(
dfd,
xcats=xcatx,
cids=cidx,
freq="M",
lag=1,
xcat_aggs=["last", "sum"],
start=start_date,
xcat_trims=[20, 15],
)
cr.reg_scatter(
title="Intuitive growth and subsequent quarterly IRS returns, all countries, since 2000",
labels=False,
coef_box="upper right",
separator=2015,
xlab="Intuitive GDP growth trend",
ylab="5year IRS fixed receiver return (next quarter)",
prob_est="map",
)
Appendices #
Appendix 1: Intuitive growth calculations #
In addition to the methodological notes in the ticker sections above, we here clarify some details of the estimation.
The JPMaQS algorithm for intuitive GDP growth uses two types of regressions that mimic conventional approaches in the financial economist community:
Predictive regression : In respect to recent months, for which official national accounts have not yet been released, the method uses generalized leastsquares regressions to estimate vintages of GDP growth rates (% over a year ago) based on higherfrequency activity indicators and the residual between their relation and GDP growth in the latest reported quarter.
Interpolating regression : In respect to older history, the method uses standard OLS regression to distribute the reported GDP growth rate of a quarter over its three months, based on higherfrequency (typically monthly) indicators.
The predictive regression takes the following steps each time we buld a new vintage:

We use this fitted GLS model to predict the GDP growth rate for the latest months for which no offical national accounts statistic are available yet. This means that the information used for the prediction is the available higherfrequency indicators for a month at the specific date and the residual of the regression in the last period. The specific form of the regression depends on the indicators that are available on a given release for the observed month.

To specify the GLS model, we select a set of monthly (or sometimes weekly) activity indicators based on financial market data calendars for each country and transform their values such that they plausibly relate to GDP growth in percent over a year ago. For example, industrial production would be transformed into a percent rate over a year ago, labor market indicators usually use the differences over a year ago, and many survey data are just taken at levels.

For any point in time, only feature candidates that have hitherto shown correlation in the direction suggested by theory are used for regression. For example, production growth should be positively correlated and unemployment changes should be negatively correlated.

We downsample the \(p\) feature candidates to quarterly frequency by averaging. This results in a dataset \(\{(\boldsymbol{x}_{i},y_{i})\}_{i=1}^{q}\) , where \(q\) is the latest observation period for quarterly real GDP, each \(\boldsymbol{x}_{i}\) is a \(p\) dimensional feature vector and each \(y_{i}\) is the real GDP growth for the given quarter.

We then estimate the relationship between annual GDP growth and the various combinations of feature candidates through a GLS regression at a quarterly frequency. This regression posits that residuals between the actual GDP growth rate and the predicted values (based on the higherfrequency indicators’ averages) carry over to the next period. Technically speaking, we fit a model where \(\alpha^{(gls)}\) , each \(\beta_{j}^{(gls)}\) (for \(j \in \left [ 1,\dots,p \right ]\) ) and \(\rho\) are the parameters to be estimated.

This type of equation is being estimated for subsequent vintages of all involved data series. Thus there are sequences of such estimations, each being specific to the realtime date and the eligible set of features.

Finally, monthly values of the features are applied to the above model alongside the last quarterly residual to give a monthly GDP growth estimate.
The interpolating regression simply fits an OLS model with the GDP growth rate as target and all concurrent features that have displayed theoretically plausible correlation with GDP growth. This creates a vector of monthly predictions \(\hat{\boldsymbol{y}}\) .
Since actual quarterly real GDP growth rates are known, prior to quarter \(q\) , the monthly OLS insample predictions can add a consistency restriction. A naive monthly real GDP growth series, \(\boldsymbol{y}^{(back)}\) , is calculated by filling the quarterly growth rate into all three months of a quarter. The monthly “residuals” \(\boldsymbol{r}^{(m)} = \boldsymbol{y}^{(back)}\hat{\boldsymbol{y}}\) are calculated and averaged over each quarter to form a vector of “residuals”, denoted \(\boldsymbol{r}^{(q)}\) . The final real GDP growth estimate, prior to observation period \(q\) , is obtained by adding the respective residual vector from \(\boldsymbol{r}^{(q)}\) to the monthly estimates, \(\hat{y}_{m}\) , from the fitted OLS model.
Lastly, the GLS estimates, for the latest months after \(q\) , will be appended to the OLS interpolated monthly estimates of annualised GDP growth to give a full vintage of monthly GDP growth estimates.
Appendix 2: Currency symbols #
The word ‘crosssection’ refers to currencies, currency areas or economic areas. In alphabetical order, these are AUD (Australian dollar), BRL (Brazilian real), CAD (Canadian dollar), CHF (Swiss franc), CLP (Chilean peso), CNY (Chinese yuan renminbi), COP (Colombian peso), CZK (Czech Republic koruna), DEM (German mark), ESP (Spanish peseta), EUR (Euro), FRF (French franc), GBP (British pound), HKD (Hong Kong dollar), HUF (Hungarian forint), IDR (Indonesian rupiah), ITL (Italian lira), JPY (Japanese yen), KRW (Korean won), MXN (Mexican peso), MYR (Malaysian ringgit), NLG (Dutch guilder), NOK (Norwegian krone), NZD (New Zealand dollar), PEN (Peruvian sol), PHP (Phillipine peso), PLN (Polish zloty), RON (Romanian leu), RUB (Russian ruble), SEK (Swedish krona), SGD (Singaporean dollar), THB (Thai baht), TRY (Turkish lira), TWD (Taiwanese dollar), USD (U.S. dollar), ZAR (South African rand).