Having imported data from the IIF on a selection of green debt instruments among various markets from 2013 to 2021, we use a function previous created to clean the data into a unified dataset more easily worked with.
Let’s first define some terminology regarding the types of markets:
Mature Markets: The dataset list 35 countries under this category and contain the usual suspects like the US, Japan, Australia, Italy, UK, etc.
Emerging Markets: 141 countries are listed and comprises the types of countries expect on this list, ranging from China (really??) to Somalia, and many countries in between.
Offshore Centers: These refer to entities like Bermuda, Barbados, Hong Kong, etc. Countries or jurisdictions that makes available financial services to non residents with the purpose of circumventing aspects of the non-resident’s home country or jurisdiction.
Supranational: These are not defined in the dataset but would include entities like the EU and IMF.
loans <- process_iif_gb_issuance(range = "P4:U41",
issuance_type = "Sustainable loans")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(loans)
green_bonds <- process_iif_gb_issuance(range = "W4:AB41",
issuance_type = "Green bonds")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(green_bonds)
green_abs <- process_iif_gb_issuance(range = "AD4:AI41",
issuance_type = "Green ABS")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(green_abs)
sustainability_bonds <- process_iif_gb_issuance(range = "AK4:AP41",
issuance_type = "Sustainability bonds")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(sustainability_bonds)
social_bonds <- process_iif_gb_issuance(range = "AR4:AW41",
issuance_type = "Social bonds")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(social_bonds)
green_municipal_bonds <- process_iif_gb_issuance(range = "AY4:BD41",
issuance_type = "Green municipal bonds")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(green_municipal_bonds)
sustainability_linked_bonds <- process_iif_gb_issuance(range = "BF4:BK41",
issuance_type = "Sustainability-linked bonds")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(sustainability_linked_bonds)
green_loans <- process_iif_gb_issuance(range = "BM4:BR41",
issuance_type = "Green loans")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(green_loans)
sustainability_linked_loans <- process_iif_gb_issuance(range = "BT4:BY41",
issuance_type = "Sustainability-linked loans")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(sustainability_linked_loans)
Having done this, let’s take a look at what this debt issuance looked like in emerging markets. We see that the biggest issuances came from sustainable/green loans and bonds, becoming sizable starting around 2016 and rapidly increasing during the pandemic from about 2020 through mid 2021. From there the dropoff is quite notable.
iif_issuance_data %>%
mutate(year = lubridate::year(date))%>%
filter(geography == "Emerging markets") %>%
group_by(year, geography, issuance_type) %>%
summarize(total = sum(issuance_bn_usd)) %>%
ggplot(aes(x = year, y = total)) +
geom_line(aes(color = issuance_type)) +
scale_x_continuous(breaks = seq(2013,2022, by = 1)) +
labs(title = 'Emerging Market Debt Issuance by type 2013-2022',
x = "Year",
y = "Issuance in USD [Bn]",
caption = "Source: IIF") +
theme_clean()
## `summarise()` has grouped output by 'year', 'geography'. You can override using
## the `.groups` argument.
This is a fun ridge line graph I made taking emerging market debt issuance totals from 2018 to 2022, showing a similar trend as the chart above. I don’t think this is the most effective way to portry the information, but still pretty neat alternative to look at.
iif_issuance_data %>%
filter(geography == "Emerging markets") %>%
group_by(date, geography, issuance_type) %>%
filter(date >= ymd("2018-03-31")) %>%
ggplot(aes(x = issuance_bn_usd, y = date, group = date, fill = stat(x))) +
geom_density_ridges_gradient(scale = 3, rel_min_height = 0.01) +
scale_fill_viridis_c(name = "Issuance [Bn]", option = "C") +
labs(title = 'Emerging Market Debt Issuance 2018-2022',
x = "Issuance in USD [Bn]",
y = "Year",
caption = "Source: IIF") +
theme_gdocs()
## Picking joint bandwidth of 4.58
Let’s also take a look at Mature Markets over the same period as Emerging Markets from 2013 - 2022. We see that that the numbers involved are several times large than EMs and major issuances for bonds and loans begins 1-2 years earlier than what’s seen in EMs. This could be because, due to how recently popular these debt instruments are, lenders were only willing to loan to more creditworthy entities until expectations for returns could become realized.
Comparatively lower numbers became avaialble in EMs several years later, but at significantly reduced levels, even during the pandemic years.
iif_issuance_data %>%
mutate(year = lubridate::year(date))%>%
filter(geography == "Mature markets") %>%
group_by(year, geography, issuance_type) %>%
summarize(total = sum(issuance_bn_usd)) %>%
ggplot(aes(x = year, y = total)) +
geom_line(aes(color = issuance_type)) +
scale_x_continuous(breaks = seq(2013,2022, by = 1)) +
labs(title = 'Mature Market Debt Issuance by type 2013-2022',
x = "Year",
y = "Issuance in USD [Bn]",
caption = "Source: IIF") +
theme_clean()
## `summarise()` has grouped output by 'year', 'geography'. You can override using
## the `.groups` argument.
arranged <-iif_issuance_data %>%
group_by(geography) %>%
summarise(total = sum(issuance_bn_usd)) %>%
arrange(desc(total))
Here we can look at total debt issuance by market type. Ignoring global totals, it’s clear that the preponderance of debt was issued in developed markets.
This becomes more staggering when we remember how many countries make up each category. 35 countries account for nearly 2/3s of “green” debt instruments, and emerging markets (141) only about 14%.
arranged %>%
ggplot(aes(x = reorder(geography, -total), y = total, fill = geography)) +
geom_col(stat = "identity") +
labs(title = 'Total Debt Issuance by Market Type, 2013-2022',
x = "Market Type",
y = "Total (Mn)",
caption = "Source: IIF",
color = "Geography") +
theme(axis.text.x = element_text(angle = 90, vjust = 0 , hjust=.5))
## Warning: Ignoring unknown parameters: stat
This graph looks only at those instruments labeled as “loans” but tells a similar story as above. Over the history of the dataset, 2013-2022, the majority of loans were issued to developed markets, as opposed to EMs, probably the ones that need these the most.
Given the latest round of debt negotiations, and with climate negotiations upcoming in November, it will be important for world leaders to figure out how to sustainably increase the quantity of these credit instruments for EMs once the latest round of restructuring has finished.
No idea why this won’t change the Legend’s title
iif_issuance_data %>%
filter(issuance_type == "Sustainability-linked loans" | issuance_type == "Green loans" | issuance_type == "Sustainable loans" & date >= ymd("2018-03-31")) %>%
group_by(geography) %>%
ggplot(aes(x = geography, y = issuance_bn_usd, fill = issuance_type)) +
geom_col(position = "dodge") +
labs(title = 'Loan Issuance by Market Type, 2018-2022',
x = "Market Type",
y = "Total [Bn]",
caption = "Source: IIF",
color = "Issuance Type") +
theme(axis.text.x = element_text(angle = 90, vjust = 0 , hjust=.5))