Since the following analysis is based on the cleaned dataset from IMF and IIF, lets start with an overview of the dataset.
glimpse(iif_issuance_data)
## Rows: 2,035
## Columns: 4
## $ date <chr> "2013-03-31", "2013-03-31", "2013-03-31", "2013-03-31"…
## $ 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…
head(iif_issuance_data)
## date geography issuance_bn_usd
## 1 2013-03-31 Mature markets 6.1895809
## 2 2013-03-31 Emerging markets 0.4511557
## 3 2013-03-31 Offshore centers 0.0000000
## 4 2013-03-31 Supranationals 1.1591512
## 5 2013-03-31 Global 7.7998877
## 6 2013-06-30 Mature markets 4.0782106
## issuance_type
## 1 Sustainable debt (bonds and loans)
## 2 Sustainable debt (bonds and loans)
## 3 Sustainable debt (bonds and loans)
## 4 Sustainable debt (bonds and loans)
## 5 Sustainable debt (bonds and loans)
## 6 Sustainable debt (bonds and loans)
#Geographic Structure of the Market
Compare the market size based on geography and look into data in different years.
issuance_2019_2022 <- iif_issuance_data %>%
filter(date == c("2019-12-31","2022-03-31"))
#treemap:issuance_type as subgroup
treemap(issuance_2019_2022,
index = c("date","issuance_type"),
vSize = "issuance_bn_usd",
fontsize.labels=c(15,12),
fontcolor.labels=c("darkgreen","black"),
fontface.labels=c(2,1),
align.labels=list(c("left", "top"), c("center", "center")),
overlap.labels=0.5,
inflate.labels=F,
palette = "Greens",
title = "Issuance type: Comapre Pre and Post Pandemic Data"
)
## Geographic breakdown
#treemap:geography the subgroup
treemap(issuance_2019_2022,
index = c("date","geography"),
vSize = "issuance_bn_usd",
fontsize.labels=c(15,12),
fontcolor.labels=c("darkgreen","black"),
fontface.labels=c(2,1),
align.labels=list(c("left", "top"), c("center", "center")),
overlap.labels=0.5,
inflate.labels=F,
palette = "Greens",
title = "Geography: Comapre Pre and Post Pandemic Data"
)
#Make a multi-dimentional overview Generate an alluvial plot representation of the multi-dimensional categorical dataset.
iif_issuance_data %>%
filter(date >= "2019-12-31") %>%
filter(geography == c("Emerging markets","Mature markets")) %>%
ggplot(aes(axis1 = date, axis2 = issuance_type, y=issuance_bn_usd))+
scale_x_discrete(limits = c("date", "type"), expand = c(.2, .05)) +
geom_alluvium(aes(fill = geography)) +
geom_stratum() +
labs(y = "Issuance in USD [Bn]")+
geom_text(stat = "stratum", aes(label = after_stat(stratum)),size = 3) +
theme_minimal() +
ggtitle("Issuance Market Size after the Outbreak of the Pandemic",
"stratified by date and type")
After the overview, let’s have a look at the trend.
iif_issuance_data %>%
mutate(year = lubridate::year(date))%>%
filter(geography == c("Mature markets","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)) +
labs(title = 'Growing Trend of Different Issuances',
subtitle = "Emerging & Mature Market",
x = "Time",
y = "Issuance in USD [Bn]") +
theme_minimal()+
facet_grid(geography ~.)
## `summarise()` has grouped output by 'year', 'geography'. You can override using
## the `.groups` argument.