data EDA, ValeriaLee

Rough Draft

How effectively do investments in renewable energy through green bonds contribute to the reduction of global greenhouse gas emissions?

Introduction:

Green bonds are an innovative financial instrument designed to finance projects with positive environmental benefits, particularly those aimed at combating climate change. The link between green bonds and global greenhouse gas emissions stems from the allocation of the proceeds of these bonds to projects that reduce emissions, such as renewable energy installations, energy-efficient infrastructure and sustainable waste management. By investing funds in these low-carbon projects, green bonds help accelerate the transition to a more sustainable economy and play a key role in reducing global greenhouse gas emissions that contribute to climate change. The growth of the green bond market thus reflects the broader commitment of investors and Governments to achieving international climate goals and reducing the environmental impact of economic activities.

This paper aims to examine the effectiveness of green bonds on reducing global greenhouse gas emissions, particularly through the mechanisms of enhanced disclosure of climate-related information and the utilization of social monitoring, as green bonds typically mandate increased transparency from issuers regarding the environmental benefits and outcomes of funded projects for detailed reporting. Improved disclosure practices foster a greater understanding of the specific ways in which these projects contribute to emissions reductions, allowing for better assessment and optimization of green bond frameworks.

Moreover, the paper explores how social monitoring, involving community and stakeholder oversight, can amplify the effectiveness of green bonds. By engaging the wider community in monitoring outcomes through launching sustainable related bonds, , there is an additional layer of accountability that can lead to more rigorous compliance with green objectives. This process helps to prevent “greenwashing” — a practice where companies mislead investors about their environmental efforts — thereby ensuring that funds raised through green bonds are used effectively to combat climate change.

By linking these enhanced disclosure mechanisms and social monitoring with the actual reduction in emissions, the paper aims to provide a comprehensive analysis of how green bonds can be a critical tool in global efforts to mitigate climate change. Through empirical research, this study will assess the correlation between the transparency and community involvement required by green bonds and the measurable decrease in greenhouse gases, thereby contributing to the broader discourse on sustainable finance and its role in addressing environmental challenges.

Body Paragraphs:

On a macro level, we regert to found that the data presented in the graph reveals a concerning trend where annual greenhouse gas emissions have plateaued at around 50,000 million metric tons of greenhouse gas emissions equivalent from 2010 to 2022. This stagnation, with a slight uptick in emissions except for a notable dip in 2020, suggests that efforts to reduce emissions have not been as effective as necessary to achieve a downward trajectory. Moreover, the surprisingly decline in 2020 we observed might be attributed to the global economic slowdown due to the COVID-19 pandemic, which temporarily reduced industrial activity and transportation demands, leading to a short-lived decrease in emissions, as the subsequent return to previous levels indicates that this was not a sustained improvement but rather a temporary effect.

But a macro level of annual greenhouse gas cannot demonstrate the effectiveness of green bond in a general term, as the launch of first green bond, which was issued in 2007 by the European Investment Bank, and the market of green bond then developed slowly until the boom in late 2020. According to the bond market reports, the green bond market size is $436.0 Billion with a notable increasing size as the green bond market size at the end of 2017 is only worth of $155.5 billion, while the whole bond market size in 2022 is $133 trillion. As the green bond market, though fast developing, is still small compared to the vast expanse of the global bond market. The projections for 2030, while optimistic, forecast the green bond market to reach $914.4 billion, a figure that still represents a relatively minor segment when set against the multi-trillion-dollar bond market. This projection underscores the nascent stage of green finance and the long road ahead for it to become a dominant force in the global financial landscape.

Nonetheless, ideally, the rapid growth and gradual attention attracted by greenbonds could make all parties pay more attention to the greenhouse gas emissions, which can affect disclosure. Breaking the Green bond Issuer type down, we can see that the non-financial corporate issuers shows an

Make a Plan:

To assess the effectiveness of renewable energy investments through green bonds in reducing global greenhouse gas emissions, i’ll begin with data on green bond project specifics, such as project type (solar, wind, hydro, etc.), size, sourced from green bond databases and issuer reports. Additionally, broader renewable energy market data, including growth rates and technological advancements, along with emission reduction reports detailing estimated and actual emissions reductions from these projects, will form the basis of your analysis. For data analysis, you’ll examine investment efficiency by comparing the cost-effectiveness of emissions reductions across different financing mechanisms, quantify the impact of green bond-financed projects against national and global targets, and evaluate the long-term sustainability of these projects.

Data preparation will involve joining datasets—such as linking project details with emissions reductions using project identifiers—and potentially pivoting data from a wide to a long format for time-series analysis, especially for tracking project performance over time. Your data will need to be carefully typed, with dates in date formats for time series analysis, numeric values for scales, investments, and emissions reductions, and character or factor types for categorical data like project type and location. This thorough data preparation and analysis will enable insights into the role of green bonds in advancing renewable energy projects and their contribution to mitigating climate change, catering to investors, policymakers, and academic researchers focused on sustainable finance and climate mitigation.

Sources: https://efdata.org

https://collaboration.worldbank.org/content/sites/collaboration-for-development/en/groups/green-finance-community-of-practice/forum.topic.html/green_bond_databases-yZMO.html

https://www.climatebonds.net/market/data/

https://climatedata.imf.org/datasets/8e2772e0b65f4e33a80183ce9583d062/explore

https://www.climatebonds.net/cbi/pub/data/bonds

https://opendata.arcgis.com/datasets/8e2772e0b65f4e33a80183ce9583d062_0.csv

https://climatedata.imf.org/pages/greenhouse-gas-emissions?deliveryName=DM12397#gg2

https://www.nathanielbullard.com/presentations

https://kieranhealy.org/blog/archives/2024/04/04/make-your-own-noaa-sea-temperature-graph/

Some of the data sources listed above includes some reports so can be used directly (most of them are related to green gas emissions which i cannot find exact raw data set).

Raw database joining included in excel spreadsheet and the following diagrams show an intention to analyze the green bonds and climates bonds market:

For imf climate green debt database:

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.3     ✔ readr     2.1.4
✔ forcats   1.0.0     ✔ stringr   1.5.0
✔ ggplot2   3.4.4     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.0
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(janitor)

Attaching package: 'janitor'

The following objects are masked from 'package:stats':

    chisq.test, fisher.test
library(countrycode)
imf_climate_dashboards_green_debt_url <- "https://opendata.arcgis.com/datasets/8e2772e0b65f4e33a80183ce9583d062_0.csv"
green_debt <- imf_climate_dashboards_green_debt_url |> 
  read_csv() 
Rows: 355 Columns: 42
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (12): Country, ISO2, ISO3, Indicator, Unit, Source, CTS_Code, CTS_Name, ...
dbl (30): ObjectId, F1985, F1986, F1987, F1990, F1991, F1992, F1993, F1994, ...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
indicators_we_want <- c("Green Bond Issuances by Country", "Sovereign Green Bond Issuances")

green_debt_subset <- green_debt |>
clean_names() |> 
  filter(indicator %in% indicators_we_want) |> 
  select(country, iso3, indicator, matches("f\\d{4}")) 

green_debt_subset |> 
  pivot_longer(
    cols = matches("f\\d{4}")
  )
# A tibble: 3,103 × 5
   country   iso3  indicator                       name  value
   <chr>     <chr> <chr>                           <chr> <dbl>
 1 Argentina ARG   Green Bond Issuances by Country f1985    NA
 2 Argentina ARG   Green Bond Issuances by Country f1986    NA
 3 Argentina ARG   Green Bond Issuances by Country f1987    NA
 4 Argentina ARG   Green Bond Issuances by Country f1990    NA
 5 Argentina ARG   Green Bond Issuances by Country f1991    NA
 6 Argentina ARG   Green Bond Issuances by Country f1992    NA
 7 Argentina ARG   Green Bond Issuances by Country f1993    NA
 8 Argentina ARG   Green Bond Issuances by Country f1994    NA
 9 Argentina ARG   Green Bond Issuances by Country f1999    NA
10 Argentina ARG   Green Bond Issuances by Country f2000    NA
# ℹ 3,093 more rows
green_debt <- green_debt %>%
  janitor::clean_names()

green_debt_clean <- green_debt %>%
  filter(type_of_issuer != "Not Applicable")

green_debt_clean
# A tibble: 7 × 42
  object_id country iso2  iso3  indicator         unit  source cts_code cts_name
      <dbl> <chr>   <chr> <chr> <chr>             <chr> <chr>  <chr>    <chr>   
1       347 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
2       348 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
3       349 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
4       350 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
5       351 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
6       352 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
7       353 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
# ℹ 33 more variables: cts_full_descriptor <chr>, type_of_issuer <chr>,
#   use_of_proceed <chr>, principal_currency <chr>, f1985 <dbl>, f1986 <dbl>,
#   f1987 <dbl>, f1990 <dbl>, f1991 <dbl>, f1992 <dbl>, f1993 <dbl>,
#   f1994 <dbl>, f1999 <dbl>, f2000 <dbl>, f2002 <dbl>, f2003 <dbl>,
#   f2004 <dbl>, f2007 <dbl>, f2008 <dbl>, f2009 <dbl>, f2010 <dbl>,
#   f2011 <dbl>, f2012 <dbl>, f2013 <dbl>, f2014 <dbl>, f2015 <dbl>,
#   f2016 <dbl>, f2017 <dbl>, f2018 <dbl>, f2019 <dbl>, f2020 <dbl>, …
green_debt_cumulative <- green_debt_clean %>%
  pivot_longer(
    cols = starts_with("f"),
    names_to = "year",
    values_to = "issuance_bn_usd",
    names_transform = list(year = as.integer),
    values_drop_na = TRUE
  ) %>% 
  group_by(type_of_issuer) %>% 
  mutate(green_debt_cumulative = cumsum(issuance_bn_usd))
Warning in f(names[[col]]): NAs introduced by coercion
ggplot(green_debt_cumulative, 
       aes(x = factor(1), 
           y = green_debt_cumulative, 
           fill = type_of_issuer)) +
  geom_bar(stat = "identity") +
  theme_minimal() +
  coord_polar(theta = "y") +
  scale_fill_brewer(palette = "Set3") +
  scale_y_continuous(labels = scales::label_dollar(suffix = " bn"),
                     expand = c(0, 0)) +
  labs(title = "Distribution of Cumulative Green Debt Issuance by Issuer",
       x = NULL,
       y = NULL,
       fill = "Issuer",
       caption = "ValeriaLee")

green_debt |> 
  clean_names() |> 
  filter(type_of_issuer != "Not Applicable")
# A tibble: 7 × 42
  object_id country iso2  iso3  indicator         unit  source cts_code cts_name
      <dbl> <chr>   <chr> <chr> <chr>             <chr> <chr>  <chr>    <chr>   
1       347 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
2       348 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
3       349 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
4       350 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
5       351 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
6       352 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
7       353 World   <NA>  WLD   Green Bond Issua… Bill… Refin… ECFFI    Green B…
# ℹ 33 more variables: cts_full_descriptor <chr>, type_of_issuer <chr>,
#   use_of_proceed <chr>, principal_currency <chr>, f1985 <dbl>, f1986 <dbl>,
#   f1987 <dbl>, f1990 <dbl>, f1991 <dbl>, f1992 <dbl>, f1993 <dbl>,
#   f1994 <dbl>, f1999 <dbl>, f2000 <dbl>, f2002 <dbl>, f2003 <dbl>,
#   f2004 <dbl>, f2007 <dbl>, f2008 <dbl>, f2009 <dbl>, f2010 <dbl>,
#   f2011 <dbl>, f2012 <dbl>, f2013 <dbl>, f2014 <dbl>, f2015 <dbl>,
#   f2016 <dbl>, f2017 <dbl>, f2018 <dbl>, f2019 <dbl>, f2020 <dbl>, …
green_debt %>%
  distinct(use_of_proceed)
# A tibble: 70 × 1
   use_of_proceed                        
   <chr>                                 
 1 Not Applicable                        
 2 Access to Essential Services          
 3 Acquiring and distribution of vaccine 
 4 Acquisition                           
 5 Affordable Basic Infrastructure       
 6 Agriculture                           
 7 Alternative Energy                    
 8 Aquatic Biodiversity Conservation     
 9 Capital expenditure                   
10 Capital expenditure/Financing expenses
# ℹ 60 more rows
green_debt_principals <- green_debt %>%
  clean_names() %>%
  filter(principal_currency != "Not Applicable")

principal_currency <- green_debt_principals %>% 
  pivot_longer(
    cols = starts_with("f"),
    names_to = "year",
    values_to = "issuance_bn_usd",
    names_transform = readr::parse_number
  ) |> 
  arrange(principal_currency, year) %>% 
  group_by(principal_currency, year) %>% 
  mutate(cumulative_bn_usd = cumsum(issuance_bn_usd)) %>%
  filter(!is.na(cumulative_bn_usd)) 

top_10_principal_currency <- principal_currency |> 
  group_by(principal_currency) |> 
  slice_max(order_by = year) |> 
  arrange(desc(cumulative_bn_usd)) |> 
  select(principal_currency, cumulative_bn_usd) |> 
  ungroup() |> 
  slice_max(order_by = cumulative_bn_usd, n = 10) |> 
  ggplot(aes(x = cumulative_bn_usd, 
             y = fct_reorder(principal_currency, cumulative_bn_usd),
             fill = principal_currency)) +
  geom_col() +
  scale_fill_brewer(palette = "Set3") +
  labs(title = "Top 10 Green Bond Principal Currencies",
       x = "Cumulative Issuance",
       y = "Principal Currency",
       caption = "ValeriaLee") +
  theme_minimal()

top_10_principal_currency

For Climate Bonds issuer type issued :

This data visualization will provide valuable insights into the trends and behaviors of different issuer types in the climate bond market, which could inform an analysis of the effectiveness of green bond investments in reducing greenhouse gas emissions. However, for a complete understanding, additional data linking these investments to specific renewable energy projects and their associated emission reductions would be required, which can be complemented by the IMF dataset: https://climatedata.imf.org/pages/greenhouse-gas-emissions?deliveryName=DM12397#gg2

library(ggplot2)
library(reshape2)

Attaching package: 'reshape2'
The following object is masked from 'package:tidyr':

    smiths
data <- read.csv("/Users/avery/Desktop/ClimateBonds issuer type issued.csv")

melted_data <- melt(data, id.vars = 'Issuer.Type', variable.name = 'Year', value.name = 'Issued')

ggplot(melted_data, aes(x = Year, y = Issued, group = Issuer.Type, color = Issuer.Type)) +
  geom_line() +
  geom_point() +
  theme_minimal() +
  labs(title = "Climate Bonds Issued by Issuer Type Over Years",
       x = "Year",
       y = "Amount Issued",
       color = "Issuer Type") +
  theme(legend.position = "bottom")
Warning: Removed 2 rows containing missing values (`geom_line()`).
Warning: Removed 2 rows containing missing values (`geom_point()`).

For Climate Bonds Issued by Region (see the degree of region to launch climate bonds) :

Can we identify a corresponding trend in the reduction of greenhouse gas emissions in regions where climate bond issuance has increased? – By analyzing the green house gas emissions report reported by each. country in the region, especially for Europe and Asia Pacific regions as they have the particularly notable increases (this can also be related with the EV report from IEA, with an increasing electrical demand needed of China and EU).

library(ggplot2)
library(tidyr)
library(readr)

data <- read_csv("/Users/avery/Desktop/ClimateBonds region issued.csv", na = "n.a")
Rows: 6 Columns: 10
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (1): Region
dbl (9): 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data_long <- pivot_longer(data, cols = starts_with("20"), names_to = "Year", values_to = "Issuance")

ggplot(data_long, aes(x = Year, y = Issuance, group = Region, color = Region)) +
  geom_line() +
  geom_point() +
  theme_minimal() +
  labs(title = "Climate Bonds Issued by Region", x = "Year", y = "Issuance Volume")
Warning: Removed 1 rows containing missing values (`geom_point()`).

GreenHouse Gas Emissions Situation for China:

GreenHouse Gas Emissions Situation for Europe:

Supplement Data Visualization:

For Climate Bonds Issued by the development level of issued market:

library(ggplot2)
library(reshape2)

data <- read.csv("/Users/avery/Desktop/ClimateBonds market issued.csv")
Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
incomplete final line found by readTableHeader on
'/Users/avery/Desktop/ClimateBonds market issued.csv'
melted_data <- melt(data, id.vars = "Year", variable.name = "Year_Issued", value.name = "Value")

ggplot(melted_data, aes(x = Year_Issued, y = Value, group = Year, color = Year)) +
  geom_line() + 
  geom_point() + 
  theme_minimal() +
  labs(title = "Climate Bonds Market Issuance Over Time",
       x = "Year",
       y = "Value (Billion USD)",
       color = "Market Type") +
  scale_x_discrete(breaks = melted_data$Year_Issued)

Green House Gas Emissions by Countries and Industries (from IMF):

Together, these diagrams provide a comprehensive visual narrative that addresses the proposed question from multiple angles: the scope and focus of green bond investments, their role within the larger market, the direct impact on emissions, cost-effectiveness, and long-term sustainability. For climate change and emission reduction I have not found the complete data, but with the reports provided by imf, and my previous course’s paper on climate action 100+, I think I can just use the data from those reports to analyze it. As for renewable energy data, the papers from the last couple weeks could help me some as well.