Manufacturing confidence scores #

This category group contains real-time standardized and seasonally adjusted measures of manufacturing business confidence and their changes, based on one or more surveys per country and currency area. Vintages are standardized by using historical means and standard deviations on the survey level. The purpose of standardization based on expanding samples is to replicate the market’s information state on what was considered normal in terms of level and deviation and to make metrics more intuitive and comparable across countries.

Scores and their changes #

Ticker : MBCSCORE_SA / _3MMA

Label : Manufacturing confidence, sa: z-score / z-score, 3mma

Definition : Manufacturing confidence, seasonally adjusted: z-score / z-score, 3-month moving average

Notes :

  • The underlying data is sourced from national statistical offices and business groups. Most countries release monthly-frequency data. The exceptions are the following currency areas which produce quarterly data: Hong Kong (HKD), Indonesia (IDR), Malaysia (MYR), the Phillipines (PHP).

  • Confidence levels are seasonally adjusted, either at the source or by JPMaQS, on an expanding sample basis to avoid any look-ahead bias.

  • Thailand (THB) does not release publicly available manufacturing surveys, hence they are excluded from this set.

  • For in-depth explanation of how the z-scores are computed, please read Appendix 2 .

Ticker : MBCSCORE_SA_D1M1ML1 / _D3M3ML3 / _D1Q1QL1 / _D6M6ML6 / _D2Q2QL2 / _3MMA_D1M1ML12 / _D1Q1QL4

Label : Manufacturing confidence, sa, z-score: diff m/m / diff 3m/3m / diff q/q / diff 6m/6m / diff 2q/2q / diff oya, 3mma / diff oya (q)

Definition : Manufacturing confidence, seasonally adjusted, z-score: difference over 1 month / difference of last 3 months over previous 3 months / difference of last quarter over previous quarter / difference of last 6 months over previous 6 months / difference of last 2 quarters over previous 2 quarters / difference over a year ago, 3-month moving average / difference over a year ago, quarterly values

Notes :

  • The underlying data is sourced from national statistical offices and business groups. Most countries release monthly-frequency data. The exceptions are the following currency areas which produce quarterly data: Hong Kong (HKD), Indonesia (IDR), Malaysia (MYR), the Phillipines (PHP).

  • Confidence levels are seasonally adjusted, either at the source or by JPMaQS, on an expanding sample basis to avoid any look-ahead bias.

  • Thailand (THB) does not release publicly available manufacturing surveys, hence it is excluded from this set.

  • For in-depth explanation of how the z-scores are computed, please read Appendix 2 .

Ticker : MBOSCORE_SA / _3MMA

Label : Manufacturing orders, sa: z-score / z-score, 3mma

Definition : Manufacturing new orders survey, seasonally adjusted: z-score / z-score, 3-month moving average

Notes :

  • The underlying data is sourced from national statistical offices and business groups. Despite orders often being a component of the general confidence diffusion index, this is not the case for all countries. Also some only publish the orders survey at a quarterly rather than monthly frequency. Most countries release monthly-frequency data. The exceptions are the following currency areas which produce quarterly data: United Kingdom (GBP), Indonesia (IDR), India (INR), Malaysia (MYR), New Zealand (NZD), the Phillipines (PHP), Romania (RON).

  • New orders’ levels are seasonally adjusted, either at the source or by JPMaQS, on an expanding sample basis to avoid any look-ahead bias.

  • Canada (CAD), Japan (JPY), Thailand (THB), Israel (ILS), Russia (RUB) do not release new order surveys, hence they are excluded from this set.

  • For in-depth explanation of how the z-scores are computed, please read Appendix 2 .

Ticker : MBOSCORE_SA_D1M1ML1 / _D3M3ML3 / _D1Q1QL1 / _D6M6ML6 / _D2Q2QL2 / _3MMA_D1M1ML12 / _D1Q1QL4

Label : Manufacturing orders, sa, z-score: diff m/m / diff 3m/3m / diff q/q / diff 6m/6m / diff 2q/2q / diff oya, 3mma / diff oya (q)

Definition : Manufacturing new orders, seasonally adjusted, z-score: difference over 1 month / difference of last 3 months over previous 3 months / difference of last quarter over previous quarter / difference of last 6 months over previous 6 months / difference of last 2 quarters over previous 2 quarters / difference over a year ago, 3-month moving average / difference over a year ago, quarterly values

Notes :

  • The underlying data is sourced from national statistical offices and business groups. Despite orders often being a component of the general confidence diffusion index, this is not the case for all countries. Also some only publish the orders survey at a quarterly rather than monthly frequency. Most countries release monthly-frequency data. The exceptions are the following currency areas which produce quarterly data: United Kingdom (GBP), Indonesia (IDR), India (INR), Malaysia (MYR), New Zealand (NZD), the Phillipines (PHP), Romania (RON).

  • New orders’ levels are seasonally adjusted, either at the source or by JPMaQS, on an expanding sample basis to avoid any look-ahead bias.

  • Canada (CAD), Japan (JPY), Thailand (THB), Israel (ILS), Russia (RUB) do not release new order surveys, hence they are excluded from this set.

  • For in-depth explanation of how the z-scores are computed, please read Appendix 2 .

Ticker : MBISCORE_SA / _3MMA

Label : Manufacturing inventory assessment scores, sa: z-score / z-score, 3mma

Definition : Manufacturing inventory assessment scores, seasonally adjusted: z-score / z-score, 3-month moving average

Notes :

  • The underlying data is sourced from national statistical offices and business groups. Despite inventories often being a component of the general confidence diffusion index, this is not the case for all countries. Most countries release monthly-frequency data. The exceptions are the following currency areas which produce quarterly data: Indonesia (IDR), Japan (JPY), New Zealand (NZD).

  • Inventory assessments are seasonally adjusted, either at the source or by JPMaQS, on an expanding sample basis to avoid any look-ahead bias.

  • Australia (AUD), Brazil (BRL), Colombia (COP), Canada (CAD), Hong Kong (HKD), Thailand (THB) do not release inventory surveys, hence they are excluded from this set.

  • There are two types of questions asked: The first is roughly: “Has the level of inventory increased or decreased?” and applies to China (CNY), India (INR), Indonesia (IDR), Israel (ILS), Japan (JPY), Mexico (MXN), Norway (NOK), New Zealand (NZD), Peru (PEN), Russia (RUB), Singapore (SGD), South Africa (ZAR), South Korea (KRW), Sweden (SEK), Switzerland (CHF), Taiwan (TWD), USA (USD). A high score conceptually means that the inventory has increased. The second type is more an adequacy assessment “Do you consider your level of finished goods inventory as adequate?” and applies to the Czech Republic (CZK), Euro Area (EUR), Great Britain (GBP), Hungary (HUF), Poland (PLN), Romania (RON), Turkey (TRY). A high score conceptually means that the inventory is considered to be high.

  • For in-depth explanation of how the z-scores are computed, please read Appendix 2 .

Ticker : MBISCORE_SA_D1M1ML1 / _D3M3ML3 / _D1Q1QL1 / _D6M6ML6 / _D2Q2QL2 / _3MMA_D1M1ML12 / _D1Q1QL4

Label : Manufacturing inventory assessment score, sa, z-score: diff m/m / diff 3m/3m / diff q/q / diff 6m/6m / diff 2q/2q / diff oya, 3mma / diff oya (q)

Definition : Manufacturing inventory assessment score, seasonally adjusted, z-score: difference over 1 month / difference of last 3 months over previous 3 months / difference of last quarter over previous quarter / difference of last 6 months over previous 6 months / difference of last 2 quarters over previous 2 quarters / difference over a year ago, 3-month moving average / difference over a year ago, quarterly values

Notes :

  • The underlying data is sourced from national statistical offices and business groups. Despite inventories often being a component of the general confidence diffusion index, this is not the case for all countries. Most countries release monthly-frequency data. The exceptions are the following currency areas which produce quarterly data: Indonesia (IDR), Japan (JPY), New Zealand (NZD).

  • Inventory assessments are seasonally adjusted, either at the source or by JPMaQS, on an expanding sample basis to avoid any look-ahead bias.

  • Australia (AUD), Brazil (BRL), Colombia (COP), Canada (CAD), Hong Kong (HKD), Thailand (THB) do not release inventory surveys, hence they are excluded from this set.

  • There are two types of questions asked: The first is roughly: “Has the level of inventory increased or decreased?” and applies to China (CNY), India (INR), Indonesia (IDR), Israel (ILS), Japan (JPY), Mexico (MXN), Norway (NOK), New Zealand (NZD), Peru (PEN), Russia (RUB), Singapore (SGD), South Africa (ZAR), South Korea (KRW), Sweden (SEK), Switzerland (CHF), Taiwan (TWD), USA (USD). A high score conceptually means that the inventory has increased. The second type is more an adequacy assessment “Do you consider your level of finished goods inventory as adequate?” and applies to the Czech Republic (CZK), Euro Area (EUR), Great Britain (GBP), Hungary (HUF), Poland (PLN), Romania (RON), Turkey (TRY). A high score conceptually means that the inventory is considered to be high.

  • For in-depth explanation of how the z-scores are computed, please read Appendix 2 .

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 cross-section 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.

# Cross-sections 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)

# FX cross-sections lists (for research purposes)

cids_nofx = ["EUR", "USD", "SGD"] + cids_dmec
cids_fx = list(set(cids) - set(cids_nofx))

cids_dmfx = set(cids_dm).intersection(cids_fx)
cids_emfx = set(cids_em).intersection(cids_fx)

cids_eur = ["CHF", "CZK", "HUF", "NOK", "PLN", "RON", "SEK"]  # trading against EUR
cids_eud = ["GBP", "RUB", "TRY"]  # trading against EUR and USD
cids_usd = list(set(cids_fx) - set(cids_eur + cids_eud))  # trading against USD
# Quantamental categories of interest
main = [
    # CONFIDENCE
    "MBCSCORE_SA",
    "MBCSCORE_SA_3MMA",
    "MBCSCORE_SA_D1M1ML1",
    "MBCSCORE_SA_D3M3ML3",
    "MBCSCORE_SA_D1Q1QL1",
    "MBCSCORE_SA_D6M6ML6",
    "MBCSCORE_SA_D2Q2QL2",
    "MBCSCORE_SA_3MMA_D1M1ML12",
    "MBCSCORE_SA_D1Q1QL4",
    # ORDERS
    "MBOSCORE_SA",
    "MBOSCORE_SA_3MMA",
    "MBOSCORE_SA_D1M1ML1",
    "MBOSCORE_SA_D3M3ML3",
    "MBOSCORE_SA_D1Q1QL1",
    "MBOSCORE_SA_D6M6ML6",
    "MBOSCORE_SA_D2Q2QL2",
    "MBOSCORE_SA_3MMA_D1M1ML12",
    "MBOSCORE_SA_D1Q1QL4",
    # INVENTORIES
    "MBISCORE_SA",
    "MBISCORE_SA_3MMA",
    "MBISCORE_SA_D1M1ML1",
    "MBISCORE_SA_D3M3ML3",
    "MBISCORE_SA_D1Q1QL1",
    "MBISCORE_SA_D6M6ML6",
    "MBISCORE_SA_D2Q2QL2",
    "MBISCORE_SA_3MMA_D1M1ML12",
    "MBISCORE_SA_D1Q1QL4",
]
econ = ["IVAWGT_SA_1YMA", "IVAWGT_SA_3YMA"]  # economic context
mark = [
    "FXXR_NSA",
    "FXXR_VT10",
    "FXTARGETED_NSA",
    "FXUNTRADABLE_NSA",
]  # market links

xcats = main + econ + mark
cids_co = [
    "ALM",
    "CPR",
    "LED",
    "NIC",
    "TIN",
    "ZNC",
]
xcats_co = ["COXR_NSA", "COXR_VT10"]

cotix = [cid + "_" + xcat for cid in cids_co for xcat in xcats_co]
# Download series from J.P. Morgan DataQuery by tickers

start_date = "1995-01-01"
tickers = [cid + "_" + xcat for cid in cids for xcat in xcats] + cotix
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 1233
Downloading data from JPMaQS.
Timestamp UTC:  2024-04-19 09:07:16
Number of expressions requested: 4932
Connection successful!
Requesting data: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 247/247 [01:06<00:00,  3.72it/s]
Downloading data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 247/247 [01:41<00:00,  2.44it/s]
Processing data: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4932/4932 [00:11<00:00, 421.86it/s]
Concatenating dataframes...
Validating the downloaded data...
Download time from DQ: 0:03:55.394955

Availability #

msm.missing_in_df(dfd, xcats=main[:9], cids=cids)
Missing xcats across df:  []
Missing cids for MBCSCORE_SA:  []
Missing cids for MBCSCORE_SA_3MMA:  ['IDR', 'PHP', 'MYR', 'HKD']
Missing cids for MBCSCORE_SA_3MMA_D1M1ML12:  ['IDR', 'PHP', 'MYR', 'HKD']
Missing cids for MBCSCORE_SA_D1M1ML1:  ['IDR', 'PHP', 'MYR', 'HKD']
Missing cids for MBCSCORE_SA_D1Q1QL1:  ['PEN', 'TRY', 'GBP', 'FRF', 'MXN', 'SGD', 'NLG', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'NZD', 'PLN', 'BRL', 'ZAR', 'INR', 'RUB', 'NOK', 'CNY', 'CLP', 'EUR', 'USD', 'ILS', 'RON', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'JPY', 'DEM', 'CHF']
Missing cids for MBCSCORE_SA_D1Q1QL4:  ['PEN', 'TRY', 'GBP', 'FRF', 'MXN', 'SGD', 'NLG', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'NZD', 'PLN', 'BRL', 'ZAR', 'INR', 'RUB', 'NOK', 'CNY', 'CLP', 'EUR', 'USD', 'ILS', 'RON', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'JPY', 'DEM', 'CHF']
Missing cids for MBCSCORE_SA_D2Q2QL2:  ['PEN', 'TRY', 'GBP', 'FRF', 'MXN', 'SGD', 'NLG', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'NZD', 'PLN', 'BRL', 'ZAR', 'INR', 'RUB', 'NOK', 'CNY', 'CLP', 'EUR', 'USD', 'ILS', 'RON', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'JPY', 'DEM', 'CHF']
Missing cids for MBCSCORE_SA_D3M3ML3:  ['IDR', 'PHP', 'MYR', 'HKD']
Missing cids for MBCSCORE_SA_D6M6ML6:  ['IDR', 'PHP', 'MYR', 'HKD']

Availability of real-time quantamental indicators of manufacturing confidence scores differs across countries. Some have been surveying businesses since the 1960s and 1970s, with the majority of countries available from mid 1990s. And some economies started publishing in 2000s: Australia (2001), Chile (2004), China (2006), India (2001), Italy (2001), Peru (2003), Phillipines (2004). Late joiners are Hong Kong (2009), Indonesia (2013), Malaysia (2011), Taiwan (2013).

For the explanation of currency symbols, which are related to currency areas or countries for which categories are available, please view Appendix 1 .

xcatx = main[:9]
cidx = cids

dfx = msm.reduce_df(dfd, xcats=xcatx, cids=cidx)
dfs = msm.check_startyears(dfx)
msm.visual_paneldates(dfs, size=(18, 4))

print("Last updated:", date.today())
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/0ad5bc9b2e792b6be3d89242a2a483c0f8c65243c370e7bf4db19528d6986851.png
Last updated: 2024-04-19
xcatx = main[:9]
cidx = cids

plot = msm.check_availability(
    dfd, xcats=xcatx, cids=cidx, start_size=(18, 4), start_years=False, start=start_date
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/c50ee92d2025fd543c0643550683a19fdb9d7d1f9ed28555a980a66d264144b2.png

Average grades are currently quite mixed across countries and times. This reflects the availability of survey’s vintages and the use of multiple surveys used in some countries (USD for example).

xcatx = main[:9]
cidx = cids

plot = msp.heatmap_grades(
    dfd,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    size=(18, 4),
    title=f"Average vintage grades, from {start_date} onwards",
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/3e7d17699dd2e4e0a33f98eb671d20adecd5b16fad2d0050601e22eb74427c67.png
msm.missing_in_df(dfd, xcats=main[9:18], cids=cids)
Missing xcats across df:  []
Missing cids for MBOSCORE_SA:  ['RUB', 'JPY', 'CAD', 'ILS']
Missing cids for MBOSCORE_SA_3MMA:  ['IDR', 'NZD', 'GBP', 'ILS', 'JPY', 'RON', 'CAD', 'INR', 'RUB', 'PHP', 'MYR']
Missing cids for MBOSCORE_SA_3MMA_D1M1ML12:  ['IDR', 'NZD', 'GBP', 'ILS', 'JPY', 'RON', 'CAD', 'INR', 'RUB', 'PHP', 'MYR']
Missing cids for MBOSCORE_SA_D1M1ML1:  ['IDR', 'NZD', 'GBP', 'ILS', 'JPY', 'RON', 'CAD', 'INR', 'RUB', 'PHP', 'MYR']
Missing cids for MBOSCORE_SA_D1Q1QL1:  ['PEN', 'TRY', 'FRF', 'MXN', 'SGD', 'NLG', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'PLN', 'BRL', 'HKD', 'ZAR', 'RUB', 'NOK', 'CNY', 'CLP', 'EUR', 'USD', 'ILS', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'JPY', 'DEM', 'CHF']
Missing cids for MBOSCORE_SA_D1Q1QL4:  ['PEN', 'TRY', 'FRF', 'MXN', 'SGD', 'NLG', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'PLN', 'BRL', 'HKD', 'ZAR', 'RUB', 'NOK', 'CNY', 'CLP', 'EUR', 'USD', 'ILS', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'JPY', 'DEM', 'CHF']
Missing cids for MBOSCORE_SA_D2Q2QL2:  ['PEN', 'TRY', 'FRF', 'MXN', 'SGD', 'NLG', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'PLN', 'BRL', 'HKD', 'ZAR', 'RUB', 'NOK', 'CNY', 'CLP', 'EUR', 'USD', 'ILS', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'JPY', 'DEM', 'CHF']
Missing cids for MBOSCORE_SA_D3M3ML3:  ['IDR', 'NZD', 'GBP', 'ILS', 'JPY', 'RON', 'CAD', 'INR', 'RUB', 'PHP', 'MYR']
Missing cids for MBOSCORE_SA_D6M6ML6:  ['IDR', 'NZD', 'GBP', 'ILS', 'JPY', 'RON', 'CAD', 'INR', 'RUB', 'PHP', 'MYR']

Availability of real-time quantamental indicators of manufacturing orders scores is slightly different from manufacturing confidence ones.

The main differences are visible for Brazil, Hong Kong, Mexico, Norway, Poland, Romania, Turkey. These all started publishing manufacturing order surveys later than the confidence series.

For the explanation of currency symbols, which are related to currency areas or countries for which categories are available, please view Appendix 1 .

xcatx = main[9:18]
cidx = cids

dfx = msm.reduce_df(dfd, xcats=xcatx, cids=cidx)
dfs = msm.check_startyears(dfx)
msm.visual_paneldates(dfs, size=(18, 4))

print("Last updated:", date.today())
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/6929897876b7624e7ca0d8e3052da51805ebfe41044e3786dfa4123c7ecc5310.png
Last updated: 2024-04-19
xcatx = main[9:18]
cidx = cids

plot = msm.check_availability(
    dfd, xcats=xcatx, cids=cidx, start_size=(18, 4), start_years=False, start=start_date
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/9fcffc99b6037c15304fd8bee39be28ea6aa1f2f5b659b5b87ff1c0657e5cbfc.png

Average grades are mixed, just as in the case of confidence scores.

xcatx = main[9:18]
cidx = cids

plot = msp.heatmap_grades(
    dfd,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    size=(18, 4),
    title=f"Average vintage grades, from {start_date} onwards",
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/f4b2b2de63fd430dad754e87311b5b76fc20a80f95798c07b79966be39eada36.png
msm.missing_in_df(dfd, xcats=main[18:], cids=cids)
Missing xcats across df:  []
Missing cids for MBISCORE_SA:  ['AUD', 'MYR', 'FRF', 'BRL', 'CAD', 'COP', 'ESP', 'PHP', 'HKD', 'NLG', 'DEM', 'ITL']
Missing cids for MBISCORE_SA_3MMA:  ['AUD', 'IDR', 'NZD', 'MYR', 'JPY', 'FRF', 'BRL', 'CAD', 'INR', 'COP', 'PHP', 'ESP', 'HKD', 'NLG', 'DEM', 'ITL']
Missing cids for MBISCORE_SA_3MMA_D1M1ML12:  ['AUD', 'IDR', 'NZD', 'MYR', 'JPY', 'FRF', 'BRL', 'CAD', 'INR', 'COP', 'PHP', 'ESP', 'HKD', 'NLG', 'DEM', 'ITL']
Missing cids for MBISCORE_SA_D1M1ML1:  ['AUD', 'IDR', 'NZD', 'MYR', 'JPY', 'FRF', 'BRL', 'CAD', 'INR', 'COP', 'PHP', 'ESP', 'HKD', 'NLG', 'DEM', 'ITL']
Missing cids for MBISCORE_SA_D1Q1QL1:  ['PEN', 'TRY', 'GBP', 'FRF', 'MXN', 'SGD', 'NLG', 'PHP', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'PLN', 'BRL', 'HKD', 'ZAR', 'RUB', 'NOK', 'CNY', 'MYR', 'CLP', 'EUR', 'USD', 'ILS', 'RON', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'DEM', 'CHF']
Missing cids for MBISCORE_SA_D1Q1QL4:  ['PEN', 'TRY', 'GBP', 'FRF', 'MXN', 'SGD', 'NLG', 'PHP', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'PLN', 'BRL', 'HKD', 'ZAR', 'RUB', 'NOK', 'CNY', 'MYR', 'CLP', 'EUR', 'USD', 'ILS', 'RON', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'DEM', 'CHF']
Missing cids for MBISCORE_SA_D2Q2QL2:  ['PEN', 'TRY', 'GBP', 'FRF', 'MXN', 'SGD', 'NLG', 'PHP', 'KRW', 'CZK', 'ITL', 'HUF', 'TWD', 'PLN', 'BRL', 'HKD', 'ZAR', 'RUB', 'NOK', 'CNY', 'MYR', 'CLP', 'EUR', 'USD', 'ILS', 'RON', 'CAD', 'COP', 'ESP', 'SEK', 'AUD', 'DEM', 'CHF']
Missing cids for MBISCORE_SA_D3M3ML3:  ['AUD', 'IDR', 'NZD', 'MYR', 'JPY', 'FRF', 'BRL', 'CAD', 'INR', 'COP', 'PHP', 'ESP', 'HKD', 'NLG', 'DEM', 'ITL']
Missing cids for MBISCORE_SA_D6M6ML6:  ['AUD', 'IDR', 'NZD', 'MYR', 'JPY', 'FRF', 'BRL', 'CAD', 'INR', 'COP', 'PHP', 'ESP', 'HKD', 'NLG', 'DEM', 'ITL']

Availability of real-time quantamental indicators of manufacturing inventory scores follow a similar pattern to the order scores, although Russia has stopped publishing data since Jan 2022.

For the explanation of currency symbols, which are related to currency areas or countries for which categories are available, please view Appendix 1 .

xcatx = main[18:]
cidx = cids

dfx = msm.reduce_df(dfd, xcats=xcatx, cids=cidx)
dfs = msm.check_startyears(dfx)
msm.visual_paneldates(dfs, size=(18, 4))

print("Last updated:", date.today())
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/3ffb5c74791927452df268ca1d7f2f2aad331d1ada10debfa4b15e7548c85478.png
Last updated: 2024-04-19
xcatx = main[18:]
cidx = cids

plot = msm.check_availability(
    dfd, xcats=xcatx, cids=cidx, start_size=(18, 4), start_years=False, start=start_date
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/bd32f112fa695bff537556ca92e19c18cccd864937da4745a0a20332227c4494.png

Average grades are mixed, just as in the case of confidence scores.

xcatx = main[18:]
cidx = cids

plot = msp.heatmap_grades(
    dfd,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    size=(18, 4),
    title=f"Average vintage grades, from {start_date} onwards",
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/dc43a27526464db5e000ba841f5a8085a06f7ecfd0c6c2ddbc90300114eaa668.png
xcatx = main[:2]
cidx = cids

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="2000-01-01",
    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="2000-01-01",
    kind="box",
    size=(16, 4),
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/1815c51b633df7bd166fb957ba5277c48b40a66dfbe51233b066b87f5bde79a3.png https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/954a78ddc0b39ce3357f080b634f2c01fa140aecd82a8779cbbd3cba76d9146c.png

For graphical representation, it is helpful to rename some quarterly dynamics into an equivalent monthly dynamics.

dfx = dfd.copy()

dict_repl = {
    "MBCSCORE_SA_D1Q1QL1": "MBCSCORE_SA_D3M3ML3",
    "MBCSCORE_SA_D2Q2QL2": "MBCSCORE_SA_D6M6ML6",
    "MBCSCORE_SA_D1Q1QL4": "MBCSCORE_SA_3MMA_D1M1ML12",
    "MBOSCORE_SA_D1Q1QL1": "MBOSCORE_SA_D3M3ML3",
    "MBOSCORE_SA_D2Q2QL2": "MBOSCORE_SA_D6M6ML6",
    "MBOSCORE_SA_D1Q1QL4": "MBOSCORE_SA_3MMA_D1M1ML12",
    "MBISCORE_SA_D1Q1QL1": "MBISCORE_SA_D3M3ML3",
    "MBISCORE_SA_D2Q2QL2": "MBISCORE_SA_D6M6ML6",
    "MBISCORE_SA_D1Q1QL4": "MBISCORE_SA_3MMA_D1M1ML12",
}

for key, value in dict_repl.items():
    dfx["xcat"] = dfx["xcat"].str.replace(key, value)

History #

Manufacturing confidence scores #

Manufacturing confidence has been broadly stationary and characterized by many “mini-cycles” that plausibly reflect demand shocks and related inventory dynamics. Also recessions and recoveries features prominently. The 3-month averages take out much monthly volatility for some countries.

cidx = list(
    set(cids) - set(["HKD", "IDR", "MYR", "PHP"])
)  # exclude countries with quarterly surveys
xcatx = ["MBCSCORE_SA", "MBCSCORE_SA_3MMA"]

msp.view_timelines(
    dfx,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    title="Manufacturing confidence scores and 3-month averages (information states)",
    xcat_labels=[
        "monthly",
        "3-month moving average",
    ],
    ncol=4,
    same_y=True,
    legend_fontsize=17,
    title_fontsize=27,
    size=(12, 7),
    aspect=1.7,
    all_xticks=True,
    legend_ncol=2,
    label_adj=0.05,
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/dd63dd923b0dffed61e3ac6a0edde19f4157b8c61501b6713d28b72f16a07164.png

Manufacturing confidence score have naturally been positively correlated across most countries, but not uniformly so.

msp.correl_matrix(
    dfx,
    xcats="MBCSCORE_SA",
    cids=cidx,
    size=(20, 14),
    start=start_date,
    title="Cross-sectional correlation of z-scored manufacturing confidence, since 1995",
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/a6509d0dc664b6134b5c1c03e894a993ea8d1b8aea7d822699caa98ea12b8792.png

Confidence score changes over a year #

Changes in scores over a year ago reflect almost annual swings in confidence in accordance with a plausible pattern for recurrent invetory dynamics. Amplitudes are fairly even across time when compared to annual production swings, which have been a lot deeper in recession episodes.

The Indonesian Covid-related shutdown produceed a 15 standard deviation swing.

xcatx = ["MBCSCORE_SA_3MMA_D1M1ML12"]
cidx = cids  # exclude countries with quarterly surveys

msp.view_timelines(
    dfx,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    title="Manufacturing business confidence z-score (3mma or quarterly), change over a year ago",
    legend_fontsize=17,
    title_fontsize=27,
    ncol=4,
    same_y=True,
    size=(12, 7),
    aspect=1.7,
    all_xticks=True,
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/ad3799e269482d4722c114c86086d779d640a9cd90d96be44d81e976008b6661.png

Short-term confidence score changes #

Short-term confidence changes displayed marked differences across countries, in terms of amplitudes and autocorrelation. This reflects that underlying surveys, methodologies and industries are all different.

xcatx = ["MBCSCORE_SA_D3M3ML3", "MBCSCORE_SA_D6M6ML6"]
cidx = cids

msp.view_timelines(
    dfx,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    title="Short term changes in seasonally-adjusted manufacturing confidence since 1995",
    xcat_labels=["3-month changes", "6-month changes"],
    legend_fontsize=15,
    title_fontsize=27,
    ncol=4,
    same_y=True,
    size=(12, 7),
    aspect=1.7,
    all_xticks=True,
    legend_ncol=2,
    label_adj=0.05,
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/22ec8aed59bd6a719cc3f270bec4f88e0209127770981d214a9cd995c6a3e3a6.png

Cross-country correlation of shorter-term survey changes has not always been positive.

msp.correl_matrix(dfx, xcats="MBCSCORE_SA_D3M3ML3", cids=cidx, size=(20, 14))
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/a8d7a07efc801a43de210fc39a5031a8f6e0e8942e5cb4d1797d18d5e23bb9a0.png

Manufacturing order scores #

Typically orders survey levels and confidence levels have been closely aligned, but there have been epsiodes of diveregences in most countries.

xcatx = ["MBOSCORE_SA_3MMA", "MBCSCORE_SA_3MMA"]
cidx = msm.common_cids(dfx, xcats=xcatx)

msp.view_timelines(
    dfx,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    title="Manufacturing business and orders scores, 3-month averages (information states)",
    xcat_labels=[
        "Orders",
        "Business confidence",
    ],
    ncol=4,
    same_y=True,
    legend_fontsize=17,
    title_fontsize=27,
    size=(12, 7),
    aspect=1.7,
    all_xticks=True,
    legend_ncol=2,
    label_adj=0.05,
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/2eb9e16bf739b579d89aaea15f927624b61470447c36eaf553f19c0189506c4d.png

Orders score changes #

Order score changes are indicative of industry cycles, with only the 3-month over 3-month changes looking very volatile.

xcatx = ["MBOSCORE_SA_3MMA_D1M1ML12", "MBOSCORE_SA_D6M6ML6", "MBOSCORE_SA_D3M3ML3"]
cidx = cids
sdate = "2000-01-01"

msp.view_timelines(
    dfx,
    xcats=xcatx,
    cids=cidx,
    start=sdate,
    title="Changes in seasonally-adjusted manufacturing order scores",
    xcat_labels=[
        "diff oya",
        "diff 6m/6m, sa",
        "diff 3m/3m, sa",
    ],
    legend_fontsize=15,
    title_fontsize=27,
    ncol=5,
    same_y=False,
    size=(12, 7),
    aspect=1.5,
    all_xticks=True,
    legend_ncol=3,
    label_adj=0.05,
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/0efd59f9f60f31110c0cc0805dc10d394abd29191d205ad8d8b24d5358592489.png

Order score changes are predominantly positively correlated across countries.

msp.correl_matrix(dfx, xcats="MBOSCORE_SA_D6M6ML6", cids=cidx, size=(20, 14))
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/dc5b3c4a145289f109c4084c169f45a3d91471b971e7d6a4ee6fdf4311d6560b.png

Inventory assessment scores #

Inventory assessment scores have not been equally correlated with business confidence across countries. In some surveys, such as for the euro area, the relation has been negative. In others, such as the U.S., the correlation has been positive. One cause is the difference of survey question asked across countries. If asked for level adequacy the surveys send to be rather negatively correlated. If asked for changes, the correlation is more often positive. But there are conspicuous differences from this distinction too, as seen for example in Romania and Korea. The main takeaway, is that inventory assessments are not merely derivatives of overall business confidence.

xcatx = ["MBISCORE_SA_3MMA", "MBCSCORE_SA_3MMA"]
cidx = msm.common_cids(dfx, xcats=xcatx)

msp.view_timelines(
    dfx,
    xcats=xcatx,
    cids=cidx,
    start=start_date,
    title="Manufacturing business and inventory scores, 3-month averages (information states)",
    xcat_labels=[
        "Inventory assessment score",
        "Business confidence score",
    ],
    ncol=4,
    same_y=True,
    legend_fontsize=17,
    title_fontsize=27,
    size=(12, 7),
    aspect=1.7,
    all_xticks=True,
    legend_ncol=2,
    label_adj=0.05,
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/1aa76fdb2bb4fe6dbd4a476b56930774a77bd26a9b5a33d3276216a93cf40c9a.png

Inventories score changes #

Inventory score changes show distinct cyclical patterns. Short-term changes can be quite volatile, however.

xcatx = ["MBISCORE_SA_3MMA_D1M1ML12", "MBISCORE_SA_D6M6ML6", "MBISCORE_SA_D3M3ML3"]
cidx = cids
sdate = "2000-01-01"

msp.view_timelines(
    dfx,
    xcats=xcatx,
    cids=cidx,
    start=sdate,
    title="Changes in seasonally-adjusted manufacturing inventory scores",
    xcat_labels=[
        "diff oya",
        "diff 6m/6m, sa",
        "diff 3m/3m, sa",
    ],
    legend_fontsize=15,
    title_fontsize=27,
    ncol=5,
    same_y=False,
    size=(12, 7),
    aspect=1.5,
    all_xticks=True,
    legend_ncol=3,
    label_adj=0.05,
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/01d911a176d6afdbce6e22473a7383575f18e71e24f6f1abf9461a94956081d8.png

Despite the correleation of global business cycles, inventory score changes have not been uniformly correlated across countries.

msp.correl_matrix(dfx, xcats="MBISCORE_SA_D6M6ML6", cids=cidx, size=(20, 14))
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/66c355f250f8334d4aa5a2b2ad363a01db8c2d34a7a4804232d2da3df61ced18.png

Importance #

Empirical clues #

dfb = df[df["xcat"].isin(["FXTARGETED_NSA", "FXUNTRADABLE_NSA"])].loc[
    :, ["cid", "xcat", "real_date", "value"]
]
dfba = (
    dfb.groupby(["cid", "real_date"])
    .aggregate(value=pd.NamedAgg(column="value", aggfunc="max"))
    .reset_index()
)
dfba["xcat"] = "FXBLACK"
fxblack = msp.make_blacklist(dfba, "FXBLACK")

In the developed world there has been significant positive predictive power of changes in survey scores of smaller countries in respect to subsequent weekly or monthly FX returns. The positive relation also shows in the emerging world but has not been statistically significant.

cidx = cids_dmfx

cr = msp.CategoryRelations(
    dfx,
    xcats=["MBCSCORE_SA_D3M3ML3", "FXXR_NSA"],
    cids=cidx,
    freq="M",
    lag=1,
    xcat_aggs=["last", "sum"],
    fwin=1,
    start="2000-01-01",
    years=None,
    blacklist=fxblack,
)

cr.reg_scatter(
    coef_box="lower right",
    title="Change in manufacturing survey score and subsequent FX forward returns (DM currencies ex EUR/USD",
    xlab="Change in manufacturing survey score, 3 months over previous 3 months, seasonally adjusted",
    ylab="FX forward return against natural base currency (EUR or USD)",
    prob_est="map",
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/79e1a0878b064d7c0bb71c568bad431275c3e5603ef3743fabfde77e03ede8ae.png

The information states of manufacturing confidence scores can be aggregated to a global score by using the JPMaQS series for concurrent industrial value added weights (category ticker: IVAWGT_SA_1YMA) for all available countries.

lc_xcats = [
    "MBCSCORE_SA_D3M3ML3",
    "MBCSCORE_SA_3MMA",
    "MBOSCORE_SA_D3M3ML3",
    "MBOSCORE_SA_3MMA",
    "MBISCORE_SA_D3M3ML3",
    "MBISCORE_SA_3MMA",
]
# creating the linar composite for each of the Manufacturing categories
for xc in lc_xcats:
    dfa = msp.linear_composite(
        df=dfx,
        xcats=xc,
        cids=cids,
        weights="IVAWGT_SA_1YMA",
        new_cid="GLB",
        complete_cids=False,
    )
    dfx = msm.update_df(dfx, dfa)
msp.view_timelines(
    dfx,
    cids="GLB",
    xcats=["MBCSCORE_SA_3MMA", "MBOSCORE_SA_3MMA","MBISCORE_SA_3MMA"],
    xcat_labels=["Business confidence", "Orders","Inventories"],
    start=start_date,
    title="Global weighted manufacturing confidence, order scores and inventory scores, 3-month average",
    title_fontsize=16,
    size=(12, 5),
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/8f3fc6df426f19f28c77717e6dbb894d6e37f2096b65fffaf3a57d1d43e4ece4.png
contracts = [c + "_CO" for c in cids_co]
bask_co = msp.Basket(df=dfx, contracts=contracts, ret="XR_NSA")
bask_co.make_basket(weight_meth="equal", basket_name="GLB_MTL")
dfa = bask_co.return_basket()
dfx = msm.update_df(dfx, dfa)

Historically, changes in the manufacturing score have been significant and predictors of subsequent monthly commodity returns, particularly industrial metal returns.

cr = msp.CategoryRelations(
    dfx,
    xcats=["MBCSCORE_SA_D3M3ML3", "MTL_XR_NSA"],
    cids=["GLB"],
    freq="M",
    lag=1,
    xcat_aggs=["last", "sum"],
    fwin=1,
    start="2000-01-01",
    years=None,
)

cr.reg_scatter(
    title="Global weighted manufacturing survey score change and subsequent monthly global metals returns",
    labels=False,
    coef_box="lower right",
    xlab="Change in manufacturing survey score, 3 months over previous 3 months, seasonally adjusted",
    ylab="Global bases metals basket return, %",
    prob_est="map",
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/e522993496c823c71478b6aaae6291b2b27f1c4f9016797b05a2334582c15143.png

Rising finished goods inventory assessment scores in manufacturing should bode negatively for future production and demand for raw materials used in industry, such as industrial metals. Indeed changes in global industry value-added-weighted inventory scores have been significantly and negatively correlated with subsequent returns on an equally-weighted basket of base metals (aluminium, copper, lead, nickel, tin, and zinc).

cr = msp.CategoryRelations(
    dfx,
    xcats=["MBISCORE_SA_D3M3ML3", "MTL_XR_NSA"],
    cids=["GLB"],
    freq="M",
    lag=1,
    xcat_aggs=["last", "sum"],
    fwin=1,
    start="2000-01-01",
    years=None,
)

cr.reg_scatter(
    title="Global inventory score change and subsequent monthly base metals returns since 2000",
    labels=False,
    coef_box="lower right",
    xlab="Change in global GDP-weighted manufacturing inventory score, 3 months over previous 3 months, seasonally adjusted",
    ylab="Global base metals basket return, %, next month",
    prob_est="map",
)
https://macrosynergy.com/notebooks.build/themes/economic-trends/_images/4824d3d19ebc357e2eec867d99ae9db5db049cde6d342a6c88bb6f34dc646103.png

Appendices #

Appendix 1: Currency symbols #

The word ‘cross-section’ 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).

Appendix 2: Methodology of scoring #

Survey confidence values are transformed into z-scores based on past expanding data samples in order to replicate the market’s information state on survey readings relative to what is considered as “normal”.

The underlying economic data used to develop the above indicators comes in the form of diffusion index or derivatives thereof. They are either seasonally adjusted at the source or by JPMaQS. This statistic is typically used to summarise surveys results with focus on the direction of conditions (extensive margin) rather than the quantity (intensive margin).

In order to standardise different survey indicators, we apply a custom z-scoring methodology to each survey’s vintage based on the principle of a sliding scale for the weights of empirical versus theoretical neutral level:

  • We first determine a theoretical nominal neutral level, defined by the original formula used by the publishing institution. This is typically one of 0, 50, or 100.

  • We compute the measure of central tendency: for the first 5 years this is a weighted average of neutral level and realised median. As time progresses, the weight of the historical median increases and the weight of the notional neutral level decreases until it reaches zero at the end of the 5-year period.,

  • We compute the mean absolute deviation to normalize deviations of confidence levels from their presumed neutral level. We require at least 12 observations to estimate it.

We finally calculate the z-score for the vintage values as

\[ Z_{i, t} = \frac{X_{i, t} - \bar{X_i|t}}{\sigma_i|t} \]

where \(X_{i, t}\) is the value of the indicator for country \(i\) at time \(t\) , \(\bar{X_i|t}\) is the measure of central tendency for country \(i\) at time \(t\) based on information up to that date, and \(\sigma_i|t\) is the mean absolute deviation for country \(i\) at time \(t\) based on information up to that date. Whenever a country / currency area has more than one representative survey, we average the z-scores by observation period (month or quarter).

We want to maximise the use of information set at each point in time, so we devised a back-casting algorithm to estimate a z-scored diffusion index in case another survey has already released some data for the latest observation period. Put simply, as soon as one survey for a month has been published we estimated the value for the other(s) in order to derive a new monthly observation.

Appendix 4: Survey details #

surveys = pd.DataFrame(
    [
        {
            "country": "Australia",
            "source": "Australian Industry Group",
            "details": "Australian Performance of Manufacturing Index Total SA Index",
        },
        {
            "country": "Australia",
            "source": "Australian Industry Group",
            "details": "Australian Industry Index PMI Total SA Index",
        },
        {
            "country": "Brazil",
            "source": "Getulio Vargas Foundation",
            "details": "Industrial Confidence Index Total SA Index",
        },
        {
            "country": "Brazil",
            "source": "National Confederation of Industry (CNI)",
            "details": "Industrial Confidence Index General Manufacturing Industry Total",
        },
        {
            "country": "Brazil",
            "source": "National Confederation of Industry (CNI)",
            "details": "Industrial Confidence Index Current Conditions Manufacturing Industry Total",
        },
        {
            "country": "Canada",
            "source": "Canadian Federation of Independent Business",
            "details": "CFIB Business Barometer Index Overall Index Manufacturing Long-term Index",
        },
        {
            "country": "Canada",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "Switzerland",
            "source": "KOF Swiss Economic Institute",
            "details": "Manufacturing Total Production Change Previous Month Compared to Month Before Balance SA",
        },
        {
            "country": "Switzerland",
            "source": "KOF Swiss Economic Institute",
            "details": "Business Situation Manufacturing SA",
        },
        {
            "country": "Chile",
            "source": "Chilean Institute of Rational Business Administration (ICARE)",
            "details": "Business Confidence Index Manufacturing Industries Assessment Manufacturing Index",
        },
        {
            "country": "Chile",
            "source": "Development University of Chile",
            "details": "Business Confidence Index Industry Index",
        },
        {
            "country": "Chile",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "China",
            "source": "China Federation of Logistics & Purchasing",
            "details": "Purchasing Managers Index Manufacturing PMI SA Index",
        },
        {
            "country": "Colombia",
            "source": "Foundation for Higher Education & Development (Fedesarrollo)",
            "details": "Business Opinion Survey Industrial Confidence Indicator Total",
        },
        {
            "country": "Czech Republic",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators National Indicator SA",
        },
        {
            "country": "Germany",
            "source": "Ifo",
            "details": "Business Survey Manufacturing Industry Total Assessment of the Business Situation SA (X-13 ARIMA) Index",
        },
        {
            "country": "Spain",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators National Indicator SA",
        },
        {
            "country": "Euro Area",
            "source": "DG ECFIN",
            "details": "Industrial Confidence Indicator Total Sector Monthly Balance SA",
        },
        {
            "country": "France",
            "source": "Bank of France",
            "details": "Industry Expected Production for The Coming Month Manufacturing Industry SA",
        },
        {
            "country": "France",
            "source": "INSEE",
            "details": "Industry Manufacturing Synthetic Index SA Index",
        },
        {
            "country": "United Kingdom",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "Hong Kong",
            "source": "Census & Statistics Department",
            "details": "Business Tendency Survey Manufacturing Business Situation Net Balance",
        },
        {
            "country": "Hungary",
            "source": "HALPIM",
            "details": "Purchasing Managers Index Total SA Index",
        },
        {
            "country": "Hungary",
            "source": "Business Surveys",
            "details": "Eurostat Sentiment Indicators Industrial Confidence Indicator SA",
        },
        {
            "country": "Indonesia",
            "source": "Bank Indonesia",
            "details": "Prompt Manufacturing Index Index Components Total Index",
        },
        {
            "country": "Israel",
            "source": "Israel Central Bureau of Statistics",
            "details": "Business Tendency Survey Business Situation of the Company Today Manufacturing Weighted",
        },
        {
            "country": "Israel",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "India",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "Italy",
            "source": "ISTAT",
            "details": "Confidence Climate Total Manufacturing SA Index",
        },
        {
            "country": "Japan",
            "source": "Teikoku Databank",
            "details": "TDB Economic Trends Diffusion Indexes for Current Conditions Manufacturing Total Index",
        },
        {
            "country": "Japan",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "South Korea",
            "source": " Bank of Korea",
            "details": " Business Survey Index National Tendency Business Condition Manufacturing SA Index",
        },
        {
            "country": "South Korea",
            "source": "Federation of Korean Industries",
            "details": "Business Survey Index Results Business Condition Manufacturing Index",
        },
        {
            "country": "South Korea",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Business Situation Current National Indicator SA",
        },
        {
            "country": "South Korea",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators National Indicator SA",
        },
        {
            "country": "Mexico",
            "source": "Bank of Mexico",
            "details": "Business Tendency Survey Manufacturing Business Confidence Index Total Index",
        },
        {
            "country": "Mexico",
            "source": "INEGI National Institute of Geography & Statistics",
            "details": "Manufacturing View Indicators Aggregate Trend Indicator Total SA",
        },
        {
            "country": "Mexico",
            "source": "INEGI National Institute of Geography & Statistics",
            "details": "Manufacturing View Indicators Producer Confidence Indicator Total SA",
        },
        {
            "country": "Mexico",
            "source": "Mexican Institute of Finance Executives",
            "details": "Mexican Business Environment Indicator Manufacturing Total SA",
        },
        {
            "country": "Malaysia",
            "source": "Department of Statistics Malaysia",
            "details": "Business Tendency Survey Current Situation Industry Total",
        },
        {
            "country": "Malaysia",
            "source": "Department of Statistics Malaysia",
            "details": "Business Tendency Survey Business Confidence Indicator Industry Total",
        },
        {
            "country": "Netherlands",
            "source": "DG ECFIN",
            "details": "Industrial Confidence Indicator Total Sector Monthly Balance SA",
        },
        {
            "country": "Netherlands",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Production Tendency National Indicator SA",
        },
        {
            "country": "Norway",
            "source": "NIMA",
            "details": "Purchasing Managers Index Total SA Index",
        },
        {
            "country": "Norway",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "New Zealand",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "Peru",
            "source": "Central Bank of Peru",
            "details": "Macroeconomic Expectations Survey Industry Expectations in 3 Months Diffusion Index",
        },
        {
            "country": "Philippines",
            "source": "Central Bank of the Philippines",
            "details": "Business Confidence Index on Own Operations Current Quarter Industry Sector Index",
        },
        {
            "country": "Philippines",
            "source": " Central Bank of the Philippines",
            "details": " Business Outlook Index on the Macroeconomy Current Quarter Industry Sector Index",
        },
        {
            "country": "Poland",
            "source": "DG ECFIN",
            "details": "Industrial Confidence Indicator Total Sector Monthly Balance SA",
        },
        {
            "country": "Poland",
            "source": "GUS",
            "details": "Business Tendency Survey Manufacturing General Business Climate Indicator General Business Climate Indicator Total",
        },
        {
            "country": "Poland",
            "source": "GUS",
            "details": "Business Tendency Survey Manufacturing Total General Economic Situation SA",
        },
        {
            "country": "Romania",
            "source": "Business Surveys",
            "details": "Eurostat Sentiment Indicators Industrial Confidence Indicator SA",
        },
        {
            "country": "Russia",
            "source": "Rosstat",
            "details": "Economic Activity Manufacturing Confidence Index Index",
        },
        {
            "country": "Russia",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "Sweden",
            "source": "Swedbank",
            "details": "Purchasing Managers Index Total Manufacturing SA Index",
        },
        {
            "country": "Sweden",
            "source": "Business Surveys",
            "details": "Eurostat Industry Industrial Confidence Indicator SA",
        },
        {
            "country": "Sweden",
            "source": "Konjunkturinstitutet (KI)",
            "details": "Economic Tendency Survey Manufacturing Confidence Indicator SA Index",
        },
        {
            "country": "Singapore",
            "source": "Singapore Institute of Purchasing & Materials Management",
            "details": "Purchasing Managers Index Total Index",
        },
        {
            "country": "Turkey",
            "source": "Business Surveys",
            "details": "Eurostat Sentiment Indicators Industrial Confidence Indicator SA",
        },
        {
            "country": "Turkey",
            "source": "Business Tendency Surveys (Manufacturing)",
            "details": "Confidence Indicators Composite Indicators OECD Indicator SA Index",
        },
        {
            "country": "Taiwan",
            "source": "Taiwan National Development Council (NDC)",
            "details": "Manufacturing Total PMI SA Index",
        },
        {
            "country": "United States",
            "source": "Federal Reserve Bank of Dallas",
            "details": "Texas Manufacturing Outlook Survey General Business Activity SA",
        },
        {
            "country": "United States",
            "source": "Federal Reserve Bank of Philadelphia",
            "details": "Business Outlook Survey Manufacturing Current General Activity Diffusion SA Index",
        },
        {
            "country": "United States",
            "source": "Federal Reserve Bank of Richmond",
            "details": "Fifth District Survey of Manufacturing Activity Current Conditions Manufacturing Index Diffusion Index SA Index",
        },
        {
            "country": "United States",
            "source": "ISM",
            "details": "Report on Business Manufacturing Purchasing Managers SA Index",
        },
        {
            "country": "South Africa",
            "source": "BER",
            "details": "Purchasing Managers Index Total SA Index",
        },
    ]
)
from IPython.display import HTML

HTML(surveys.to_html(index=False))
country source details
Australia Australian Industry Group Australian Performance of Manufacturing Index Total SA Index
Australia Australian Industry Group Australian Industry Index PMI Total SA Index
Brazil Getulio Vargas Foundation Industrial Confidence Index Total SA Index
Brazil National Confederation of Industry (CNI) Industrial Confidence Index General Manufacturing Industry Total
Brazil National Confederation of Industry (CNI) Industrial Confidence Index Current Conditions Manufacturing Industry Total
Canada Canadian Federation of Independent Business CFIB Business Barometer Index Overall Index Manufacturing Long-term Index
Canada Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
Switzerland KOF Swiss Economic Institute Manufacturing Total Production Change Previous Month Compared to Month Before Balance SA
Switzerland KOF Swiss Economic Institute Business Situation Manufacturing SA
Chile Chilean Institute of Rational Business Administration (ICARE) Business Confidence Index Manufacturing Industries Assessment Manufacturing Index
Chile Development University of Chile Business Confidence Index Industry Index
Chile Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
China China Federation of Logistics & Purchasing Purchasing Managers Index Manufacturing PMI SA Index
Colombia Foundation for Higher Education & Development (Fedesarrollo) Business Opinion Survey Industrial Confidence Indicator Total
Czech Republic Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators National Indicator SA
Germany Ifo Business Survey Manufacturing Industry Total Assessment of the Business Situation SA (X-13 ARIMA) Index
Spain Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators National Indicator SA
Euro Area DG ECFIN Industrial Confidence Indicator Total Sector Monthly Balance SA
France Bank of France Industry Expected Production for The Coming Month Manufacturing Industry SA
France INSEE Industry Manufacturing Synthetic Index SA Index
United Kingdom Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
Hong Kong Census & Statistics Department Business Tendency Survey Manufacturing Business Situation Net Balance
Hungary HALPIM Purchasing Managers Index Total SA Index
Hungary Business Surveys Eurostat Sentiment Indicators Industrial Confidence Indicator SA
Indonesia Bank Indonesia Prompt Manufacturing Index Index Components Total Index
Israel Israel Central Bureau of Statistics Business Tendency Survey Business Situation of the Company Today Manufacturing Weighted
Israel Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
India Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
Italy ISTAT Confidence Climate Total Manufacturing SA Index
Japan Teikoku Databank TDB Economic Trends Diffusion Indexes for Current Conditions Manufacturing Total Index
Japan Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
South Korea Bank of Korea Business Survey Index National Tendency Business Condition Manufacturing SA Index
South Korea Federation of Korean Industries Business Survey Index Results Business Condition Manufacturing Index
South Korea Business Tendency Surveys (Manufacturing) Business Situation Current National Indicator SA
South Korea Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators National Indicator SA
Mexico Bank of Mexico Business Tendency Survey Manufacturing Business Confidence Index Total Index
Mexico INEGI National Institute of Geography & Statistics Manufacturing View Indicators Aggregate Trend Indicator Total SA
Mexico INEGI National Institute of Geography & Statistics Manufacturing View Indicators Producer Confidence Indicator Total SA
Mexico Mexican Institute of Finance Executives Mexican Business Environment Indicator Manufacturing Total SA
Malaysia Department of Statistics Malaysia Business Tendency Survey Current Situation Industry Total
Malaysia Department of Statistics Malaysia Business Tendency Survey Business Confidence Indicator Industry Total
Netherlands DG ECFIN Industrial Confidence Indicator Total Sector Monthly Balance SA
Netherlands Business Tendency Surveys (Manufacturing) Production Tendency National Indicator SA
Norway NIMA Purchasing Managers Index Total SA Index
Norway Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
New Zealand Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
Peru Central Bank of Peru Macroeconomic Expectations Survey Industry Expectations in 3 Months Diffusion Index
Philippines Central Bank of the Philippines Business Confidence Index on Own Operations Current Quarter Industry Sector Index
Philippines Central Bank of the Philippines Business Outlook Index on the Macroeconomy Current Quarter Industry Sector Index
Poland DG ECFIN Industrial Confidence Indicator Total Sector Monthly Balance SA
Poland GUS Business Tendency Survey Manufacturing General Business Climate Indicator General Business Climate Indicator Total
Poland GUS Business Tendency Survey Manufacturing Total General Economic Situation SA
Romania Business Surveys Eurostat Sentiment Indicators Industrial Confidence Indicator SA
Russia Rosstat Economic Activity Manufacturing Confidence Index Index
Russia Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
Sweden Swedbank Purchasing Managers Index Total Manufacturing SA Index
Sweden Business Surveys Eurostat Industry Industrial Confidence Indicator SA
Sweden Konjunkturinstitutet (KI) Economic Tendency Survey Manufacturing Confidence Indicator SA Index
Singapore Singapore Institute of Purchasing & Materials Management Purchasing Managers Index Total Index
Turkey Business Surveys Eurostat Sentiment Indicators Industrial Confidence Indicator SA
Turkey Business Tendency Surveys (Manufacturing) Confidence Indicators Composite Indicators OECD Indicator SA Index
Taiwan Taiwan National Development Council (NDC) Manufacturing Total PMI SA Index
United States Federal Reserve Bank of Dallas Texas Manufacturing Outlook Survey General Business Activity SA
United States Federal Reserve Bank of Philadelphia Business Outlook Survey Manufacturing Current General Activity Diffusion SA Index
United States Federal Reserve Bank of Richmond Fifth District Survey of Manufacturing Activity Current Conditions Manufacturing Index Diffusion Index SA Index
United States ISM Report on Business Manufacturing Purchasing Managers SA Index
South Africa BER Purchasing Managers Index Total SA Index