Rows: 424 Columns: 18
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (10): ticker, name, asset_class, sub_asset_class, region, market, locat...
dbl (6): gross_expense_ratio_percent, net_expense_ratio_percent, net_asset...
dttm (2): incept_date, net_assets_as_of
ℹ 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.
#only contains ESG funds (no standard fundsblackrock_etf_screener_w_ESG <- blackrock_etf_screener |>mutate(standard_or_esg =if_else(condition =is.na(sustainable_classification),true ="Standard",false ="ESG"))ESG_funds <- blackrock_etf_screener_w_ESG %>%filter(standard_or_esg =="ESG") %>%as_tibble()#contains the largest fund from each sustainable classification.largest_funds_by_classification <- blackrock_etf_screener %>%group_by(sustainable_classification) %>%arrange(desc(net_assets_usd), .by_group =TRUE) %>%slice(1) %>%ungroup() %>%as_tibble()#shows the percent of assets that the top fund comprises for its categoryassets_funds_by_classification <- blackrock_etf_screener |>group_by(sustainable_classification) |>summarize(assets_total =sum(net_assets_usd, na.rm =TRUE) )assets_top_fund <- assets_funds_by_classification %>%inner_join(largest_funds_by_classification, by ="sustainable_classification") percent_assets_top_fund <- assets_top_fund %>%mutate(percent_of_assets = (net_assets_usd / assets_total) *100) %>%select(sustainable_classification, percent_of_assets)#Ranks each sustainable classification by the % of assetsranked_classifications <- percent_assets_top_fund %>%arrange(desc(percent_of_assets))
#The Ranking of Regions by Total Net Assets for ETFblackrock_etf_screener |>group_by(region) |>summarise(total_net_assets_usd =sum(net_assets_usd, na.rm =TRUE)) |>arrange(desc(total_net_assets_usd))
# A tibble: 7 × 2
region total_net_assets_usd
<chr> <dbl>
1 North America 1.98e12
2 Global 5.32e11
3 Asia Pacific 5.36e10
4 Europe 2.34e10
5 Latin America 1.10e10
6 Middle East and Africa 1.22e 9
7 Kuwait 5.68e 7
#Because I'm interested in the current state of ETFs and ESG ETFs, I'll start by examining the size of ETFs by region.#The results show that North America has the largest amount of ETF assets, which is consistent with the impression that North America has highly developed financial markets#Visualize each region's ESG ETF and Standard ETFfunds_by_region <- blackrock_etf_screener_w_ESG %>%group_by(region)funds_by_region |>ggplot(aes(x = region, y = net_assets_usd, fill = standard_or_esg)) +geom_bar(stat ="identity", position ="stack")
#In order to further visualize the results above and examine the prospects for sustainable finance, we have categorized the regions by ESG and standard ETFs in a bar chart. North America has the largest total amount of ESG ETFs, but nonetheless, we can see that the development of ESG ETFs globally is still in its beginning stages, and their numbers in each region are very small compared to standard ETFs.#Which sub asset class is leading ESG ETFs in North America?NA_funds <- blackrock_etf_screener_w_ESG %>%filter(region =="North America"& standard_or_esg =="ESG" ) %>%as_tibble()NA_funds_by_sub_class <- NA_funds |>group_by(sub_asset_class) |>summarize(assets_total =sum(net_assets_usd, na.rm =TRUE) )ranked_sub_class <- NA_funds_by_sub_class %>%arrange(desc(assets_total)) #Large/Mid Cap#What about North Ameirca ESG ETF's quality (its rating)?summary_by_rating <- NA_funds %>%group_by(msci_esg_fund_rating_aaa_ccc) %>%summarize(number_of_funds =n() )#50% of them are A class.#Comparison of ESG ETF Development quality in NA and GlobalNA_G_funds <- blackrock_etf_screener_w_ESG %>%filter(region %in%c("North America", "Global") & standard_or_esg =="ESG" ) %>%as_tibble()NA_G_funds |>ggplot(aes(x = region, y = net_assets_usd, fill = msci_esg_fund_rating_aaa_ccc)) +geom_bar(stat ="identity", position ="stack")
ESG_funds <- blackrock_etf_screener_w_ESG %>%filter(standard_or_esg =="ESG" ) %>%as_tibble()ESG_funds |>ggplot(aes(x = region, y = net_assets_usd, fill = msci_esg_fund_rating_aaa_ccc)) +geom_bar(stat ="identity", position ="stack")