Before we begin, we first need to use the function we created in class to create individual datasets for each subtopic.
sus_debt <- process_iif_gb_issuance(range = "B4:G41", issuance_type = "Sustainable debt")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(sus_debt)
sustainable_bonds <- process_iif_gb_issuance(range = "I4:N41", issuance_type = "Sustainable bonds")
iif_issuance_data <- iif_issuance_data %>%
bind_rows(sustainable_bonds)
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)
iif_issuance_data %>% glimpse()
## Rows: 2,405
## Columns: 4
## $ date <date> 2013-03-31, 2013-03-31, 2013-03-31, 2013-03-31, 2013-…
## $ geography <chr> "Mature markets", "Emerging markets", "Offshore center…
## $ issuance_bn_usd <dbl> 6.18958089, 0.45115568, 0.00000000, 1.15915118, 7.7998…
## $ issuance_type <chr> "Sustainable debt (bonds and loans)", "Sustainable deb…
The difference between annual issuances in sustainable lending vs. the sustainable bond market can tell us a lot about how investor confidence in sustainable and “green” industries has changed over time. Most companies can take out loans from banks, but issuing bonds is often a more attractive proposition because the interest rate that companies pay bond investors is usually less than the interest rate available from banks. However, it can also present more risk for investors. The growth of the sustainable bond market therefore signals investors’ faith in the stability and growth of this budding industry as public and private sector issuers tackle their climate commitments.
library(ggplot2)
library(dplyr)
library (ggthemes)
iif_issuance_data %>%
filter(issuance_type == "Sustainable bonds" | issuance_type == "Sustainable loans") %>%
filter(geography=="Global") %>%
ggplot(aes(x=date, y=issuance_bn_usd, fill=geography)) +
geom_line(aes(color=issuance_type))+
labs(
x = "Date",
y = "Issuance (USD Billions)",
title = "Difference in Growth of Sustainable
Bonds vs. Sustainable Loans",
subtitle = "2013-2022",
caption = "Data source: Institute of International Finance",
col = "Issuance Type"
)+
theme_pander()
China first started issuing green bonds in 2015. By the end of 2016, Chinese green bond issuances grew to US$36.2 billion, accounting for 39% of global green bond issuances. How does China compare to other Emerging Markets?
iif_EM_data <- here("01_data_raw", "iif", "Sustainable_debt_monitor.xlsx") %>%
#specify the sheet + the range of cells in excel
read_excel(sheet = "3a_EM&FM by country",
range = "B4:J41") %>%
# rename the first column to "date"
rename(date = `$ billion`) %>%
# Tidy the dataset by making the column names into long format
pivot_longer(cols = -date, names_to = "country", values_to = "issuance_bn_usd") %>%
# coerce the date column into a date object using lubridate::ymd() (year-month_date)
mutate(date = ymd(date)) %>%
# Add a column that includes the name of this specific data
add_column(issuance_type = "Green bonds")
library(ggplot2)
library(dplyr)
library (ggthemes)
iif_EM_data %>%
filter(country != "Other EMs") %>%
ggplot(aes(x=date, y=issuance_bn_usd, fill=country)) +
geom_line(aes(color=country))+
labs(
x = "Date",
y = "Issuance (USD Billions)",
title = "China's Dominance of EM Green Bonds
Began in 2016",
subtitle = "2013-2022",
caption = "Data source: Institute of International Finance",
col = "Country"
)+
theme_pander()
While Germany and the U.S. are the two largest individual countries in the market, the combination of issuances in other mature markets began to overtake them starting in 2021.
iif_MM_data <- here("01_data_raw", "iif", "Sustainable_debt_monitor.xlsx") %>%
#specify the sheet + the range of cells in excel
read_excel(sheet = "2a_MM by country",
range = "B4:J41") %>%
# rename the first column to "date"
rename(date = `$ billion`) %>%
# Tidy the dataset by making the column names into long format
pivot_longer(cols = -date, names_to = "country", values_to = "issuance_bn_usd") %>%
# coerce the date column into a date object using lubridate::ymd() (year-month_date)
mutate(date = ymd(date)) %>%
# Add a column that includes the name of this specific data
add_column(issuance_type = "Green bonds")
library(ggplot2)
library(dplyr)
library (ggthemes)
iif_MM_data %>%
filter(country == "U.S." | country=="Germany" | country=="Other MMs") %>%
ggplot(aes(x=date, y=issuance_bn_usd, fill=country)) +
geom_line(aes(color=country))+
labs(
x = "Date",
y = "Issuance (USD Billions)",
title = "Germany & U.S. Overtaken by Other
MMs in 2021",
subtitle = "2013-2022",
caption = "Data source: Institute of International Finance",
col = "Country"
)+
theme_pander()