Yixiao Josie Zhou
This paper is driven by one question: Why might investors choose to allocate funds to thematic ETFs related to ESG concepts, rather than investing directly in ESG ETFs, and what distinguishes the two? With sustainable investing emerging as a novel field, the paper seeks to study the nuances in this area. It starts with a broad analysis of global ETF data, then progressively narrows down to ESG-specific ETFs, and further dissects various aspects such as AUM, trading volume, fund flows, and monthly returns. The data used for this paper is gathered from Bloomberg terminal and was classified into distinct ESG and thematic segments, with an overlapped segment of thematic ETFs that have ESG tags, encompassing sectors like clean energy, natural resources, and electric vehicles. This consideration ensures a detailed and accurate comparison, providing insights into the current trends and potential future directions of sustainable investment strategies.
library(openxlsx)
library(leaflet)
library(dplyr)
library(htmltools)
library(rnaturalearth)
library(scales)
# Clean data
data <- read.xlsx("/Users/hahazhou/Desktop/Final Project/00_data_raw/country.xlsx")
data <- data %>%
rename(Country = `Country`, Netflow = `Netflow`, iso3c = `iso3c`) %>%
mutate(Netflow = as.numeric(Netflow))
world <- ne_countries(scale = "medium", returnclass = "sf")
world_data <- world %>%
left_join(data, by = c("iso_a3" = "iso3c"))
# Set the breaks
breaks <- quantile(world_data$Netflow, probs = seq(0, 1, length.out = 10), na.rm = TRUE)
qpal <- colorBin(palette = rev(colorRampPalette(colors = c("olivedrab", "coral"))(10)),
bins = breaks)
labels <- sprintf(
"<strong>%s</strong><br/>Netflow: %s",
world_data$name, world_data$Netflow
) %>% lapply(htmltools::HTML)
# Coordinates for centering on Germany
initial_latitude <- 51.1657 # Latitude for Germany
initial_longitude <- 10.4515 # Longitude for Germany
initial_zoom_level <- 1.8 # Set zoom level to 1
# Create the map with a set view
leaflet(world_data) %>%
setView(lng = initial_longitude, lat = initial_latitude, zoom = initial_zoom_level) %>%
addTiles() %>%
addPolygons(fillColor = ~qpal(Netflow),
weight = 0.5,
opacity = 1,
color = "white",
dashArray = "3",
fillOpacity = 0.7,
highlight = highlightOptions(weight = 5,
color = "#666",
dashArray = "3",
fillOpacity = 0.7,
bringToFront = TRUE),
label = labels,
labelOptions = labelOptions(style = list("font-weight" = "normal", padding = "1.5px 4px"),
textsize = "12px",
direction = "auto")) %>%
addLegend(pal = qpal, values = ~Netflow, opacity = 0.7,
title = "Netflow of ETFs (M USD)", position = "bottomright")
The map illustrates the net flows of ETFs globally, highlighting a concentration of inflows into countries with developed financial markets and high growth potentials, particularly the United States and China, which top the chart with the most substantial positive inflows. Conversely, notable outflows are seen in several Latin American and European nations, likely reflecting less favorable economic conditions or investor sentiment in these regions, pointing to a possible reallocation of investments towards markets perceived as more profitable.
Narrowing down the focus to the trends in ESG ETF fund flows, the animation shows a surge in inflows into Equity ESG ETFs around 2021, followed by a dramatic decline, possibly due to the backlash against ESG investing. In contrast, fixed income and commodity/alternative ESG ETFs have demonstrated relatively stable inflows over the same period, indicating investor preference for diversification within the ESG sector and the resilience of these categories against the fluctuations experienced by Equity ESG ETFs.
library(readxl)
library(dplyr)
library(tidyr)
library(plotly)
library(ggplot2)
# Read data
AUM_ESG <- read_excel("/Users/hahazhou/Desktop/Final Project/00_data_raw/AUM_ESG.xlsx")
AUM_Thematic <- read_excel("/Users/hahazhou/Desktop/Final Project/00_data_raw/AUM_Thematic ETF.xlsx")
# Add "Type" column and fill values
AUM_ESG <- AUM_ESG %>% mutate(Type = "ESG")
AUM_Thematic <- AUM_Thematic %>% mutate(Type = "Thematic")
# Combine datasets
Combined_Volume <- bind_rows(AUM_ESG, AUM_Thematic)
# Handle duplicates
Combined_Volume <- Combined_Volume %>%
group_by(Ticker) %>%
mutate(duplicate = n() > 1) %>%
ungroup() %>%
filter(!duplicate | Type == "ESG") %>%
mutate(Type = ifelse(duplicate, "ESG and Thematic", Type)) %>%
select(-duplicate)
# Keep only the first 4 letters in the Ticker column
Combined_Volume$Ticker <- substr(Combined_Volume$Ticker, 1, 4)
# Transform to long format
Combined_Volume_long <- Combined_Volume %>%
pivot_longer(cols = starts_with("20"), names_to = "Quarter", values_to = "AUM")
#produce the graph
a <- ggplot(Combined_Volume_long) +
aes(x = Quarter, y = AUM, fill = Ticker) +
geom_col() +
scale_fill_hue(direction = 1) +
labs(
x = "Quarter",
y = "AUM",
title = "AUM for ETFs by Type and Ticker",
caption = "Data Source: Bloomberg | Latest data: 2024 Q1"
) +
theme_minimal() +
facet_wrap(vars(Type)) +
guides(fill = guide_none()) +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1, size = 4))
ggplotly(a)
In the detailed breakdown of ETFs by type, the visualization shows that the amount of money managed in ESG ETFs has seen a significant rise starting around the end of 2019. This increase is larger compared to the growth in thematic ETFs that target clean energy, electric vehicles, and natural resources. The data also includes a specific category for ETFs that are both considered thematic—in those three areas—and are labeled as ESG. This additional category helps to provide a clearer view by separating ETFs that are purely thematic or purely ESG from those that are a combination of both.
# Read data
FF_ESG <- read_excel("/Users/hahazhou/Desktop/Final Project/00_data_raw/Fund Flow_ESG.xlsx")
FF_Thematic <- read_excel("/Users/hahazhou/Desktop/Final Project/00_data_raw/Fund Flow_Thematic ETF.xlsx")
# Add "Type" column and fill values
FF_ESG <- FF_ESG %>% mutate(Type = "ESG")
FF_Thematic <- FF_Thematic %>% mutate(Type = "Thematic")
# Combine datasets
Combined_FF <- bind_rows(FF_ESG, FF_Thematic)
# Handle duplicates
Combined_FF <- Combined_FF %>%
group_by(Ticker) %>%
mutate(duplicate = n() > 1) %>%
ungroup() %>%
filter(!duplicate | Type == "ESG") %>%
mutate(Type = ifelse(duplicate, "ESG and Thematic", Type)) %>%
select(-duplicate)
# Keep only the first 4 letters in the Ticker column
Combined_FF$Ticker <- substr(Combined_FF$Ticker, 1, 4)
# Transform to long format
Combined_FF_long <- Combined_FF %>%
pivot_longer(cols = starts_with("20"), names_to = "Quarter", values_to = "Fund Flow")
# Replace NA with 0
Combined_FF_long$`Fund Flow`[is.na(Combined_FF_long$`Fund Flow`)] <- 0
#create the graph
c <- ggplot(Combined_FF_long) +
aes(x = Quarter, y = `Fund Flow`, fill = Ticker) +
geom_col() +
scale_fill_hue(direction = 1) +
labs(
x = "Quarter",
y = "Fund Flow",
title = "Fund Flow by Type and Ticker",
caption = "Data Source: Bloomberg | Latest data: 2024 Q1"
) +
theme_minimal() +
facet_wrap(vars(Type)) +
guides(fill = guide_none()) +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1, size = 4))
ggplotly(c)
Similar to the trend in AUM, ESG ETFs have attracted significantly more funds compared to thematic ETFs, including those with an overlap of ESG and thematic elements. All three categories saw a substantial influx of funds between 2019 and 2022. However, following this period, there appears to be some outflow, which might be associated with a backlach against ESG investing. This trend suggests a shifting investor focus and possibly a reevaluation of ESG as a driver for investment decisions.
# Read data
Volume_ESG <- read_excel("/Users/hahazhou/Desktop/Final Project/00_data_raw/Volume_ESG.xlsx")
Volume_Thematic <- read_excel("/Users/hahazhou/Desktop/Final Project/00_data_raw/Volume_Thematic ETF.xlsx")
# Add "Type" column and fill values
Volume_ESG <- Volume_ESG %>% mutate(Type = "ESG")
Volume_Thematic <- Volume_Thematic %>% mutate(Type = "Thematic")
# Combine datasets
Combined_V <- bind_rows(Volume_ESG, Volume_Thematic)
# Handle duplicates
Combined_V <- Combined_V %>%
group_by(Ticker) %>%
mutate(duplicate = n() > 1) %>%
ungroup() %>%
filter(!duplicate | Type == "ESG") %>%
mutate(Type = ifelse(duplicate, "ESG and Thematic", Type)) %>%
select(-duplicate)
# Keep only the first 4 letters in the Ticker column
Combined_V$Ticker <- substr(Combined_V$Ticker, 1, 4)
# Transform to long format
Combined_V_long <- Combined_V %>%
pivot_longer(cols = starts_with("20"), names_to = "Quarter", values_to = "$ Volume")
#create the graph
b <- ggplot(Combined_V_long) +
aes(x = Quarter, y = `$ Volume`, fill = Ticker) +
geom_col() +
scale_fill_hue(direction = 1) +
labs(
x = "Quarter",
y = "$ Volume",
title = "$ Volume by Type and Ticker",
caption = "Data Source: Bloomberg | Latest data: 2024 Q1"
) +
theme_minimal() +
facet_wrap(vars(Type)) +
guides(fill = guide_none()) +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1, size = 4))
ggplotly(b)
Trading volume refers to the total number of shares or contracts traded for a particular ETF within a specific period. It’s a measure of how much of the ETF was traded and can indicate the liquidity and interest in that financial product.
In the visualization of trading volume for ETFs across three categories, the trend appears consistent. All categories peaked around 2021 and have since seen a decline. This pattern suggests that there was a heightened interest and activity in trading of these ETFs during that peak period across the board, which has tapered off in the time since.
library(tidyquant)
library(dplyr)
library(ggplot2)
library(plotly)
#load the dataset
Thematic_tickers <- read.csv("/Users/hahazhou/Desktop/Final Project/03_data_processed/Volume_Thematic_Cleaned.csv") %>%
distinct(Ticker)
ESG_tickers <- read.csv("/Users/hahazhou/Desktop/Final Project/03_data_processed/Volume_ESG_Cleaned.csv") %>%
distinct(Ticker)
# organize data
Combined_tickers <- full_join(
mutate(Thematic_tickers, Type = "Thematic"),
mutate(ESG_tickers, Type = "ESG"),
by = "Ticker"
) %>%
mutate(Type = ifelse(is.na(Type.x) & is.na(Type.y), NA,
ifelse(!is.na(Type.x) & !is.na(Type.y), "ESG and Thematic",
coalesce(Type.x, Type.y)))) %>%
select(Ticker, Type)
combined_returns <- Combined_tickers %>%
tq_get(get = "stock.prices",
from = "2018-01-01",
collapse = "monthly") %>%
group_by(Ticker, Type) %>%
tq_transmute(select = adjusted,
mutate_fun = periodReturn,
period = "monthly",
col_rename = "monthly.returns")
# Creating the ggplot object
p <- ggplot(combined_returns, aes(x = date, y = monthly.returns, colour = Ticker)) +
geom_line() +
scale_color_viridis_d(option = "viridis", direction = 1) +
labs(
x = "Year",
y = "Monthly Returns",
title = "Monthly Returns by Type and Ticker",
caption = "Data Source: Bloomberg | Latest data: 2024 Q1"
) +
theme_minimal() +
facet_wrap(vars(Type)) +
guides(colour = guide_none())
ggplotly(p)
In the above analysis of monthly returns, initially, ESG ETFs appear to be the most volatile. However, a closer examination reveals that this high volatility is largely due to one particular ESG ETF, ESGW, which for reasons likely tied to its specific stock holdings, shows extreme fluctuations compared to its peers. When ESGW is excluded from the analysis, the volatility of the remaining ESG ETFs is, in fact, lower than that of both thematic ETFs and those in the overlapped category. This could be because ESG ETFs often apply ESG criteria as a form of negative screening, which acts as an additional layer of risk management. This process tends to filter out stocks with higher environmental, social, and governance risks, potentially leading to reduced volatility compared to other ETFs, including thematic ones that may not use such filters.
In response to the question posed by the title “Where to Invest: ESG or Thematic ETFs Covering Clean Energy, Natural Resources, and EVs?,” the data suggests that while both ESG and thematic ETFs have their merits, ESG investments have garnered more substantial fund flows and shown less volatility, making them a potentially more stable choice. Looking ahead, the trend toward sustainable investing is likely to grow as investor awareness and demand for responsible investment options increase. As global challenges such as climate change and social governance remain at the forefront, ESG ETFs may offer a promising avenue for investors aiming to align their portfolios with future-facing, sustainable values.
Bloomberg L.P. (2024). BI ETF and ESGD Database 1/1/18 to 4/1/24. Retrieved from Bloomberg database
Egghen, R. V. (2024, February 28). ESG funds outperformed peers during Covid stress, finds Esma. Financial Times. https://www.ft.com/content/1389109e-55eb-47cc-b08f-2532fca35c2c
ElBannan, M. A. (2023). Returns behavior of ESG etfs in the covid‐19 market crash: Are green funds more resilient? Journal of Corporate Accounting & Finance, 35(2), 187–223. https://doi.org/10.1002/jcaf.22680
Nguyen, H. (2023). Covid-19: Performance of ESG ETFS and, ESG ETFS vs. their declared indexes. Applied Finance Letters, 12(1), 33–43. https://doi.org/10.24135/afl.v12i1.647
Pavlova, I., & de Boyrie, M. E. (2022). ESG etfs and the COVID-19 stock market crash of 2020: Did clean funds fare better? Finance Research Letters, 44, 102051. https://doi.org/10.1016/j.frl.2021.102051
Schmitt, W. (2024, January 9). Launches of ESG funds plummet as investors pull back. https://www.ft.com/content/6656d077-7e9f-4f5a-b753-3c91379194d8