Class 2 Data Visualization Homework

l

library(tidyverse)
-- Attaching packages --------------------------------------- tidyverse 1.3.1 --
v ggplot2 3.3.5     v purrr   0.3.4
v tibble  3.1.6     v dplyr   1.0.7
v tidyr   1.1.4     v stringr 1.4.0
v readr   2.1.1     v forcats 0.5.1
-- Conflicts ------------------------------------------ tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()
github_raw_csv_url <- "https://raw.githubusercontent.com/t-emery/sais-susfin_data/main/datasets/blackrock_etf_screener_2022-08-30.csv"

blackrock_etf_data <- read_csv(github_raw_csv_url)
Rows: 393 Columns: 22
-- Column specification --------------------------------------------------------
Delimiter: ","
chr (14): ticker, name, incept_date, net_assets_as_of, asset_class, sub_asse...
dbl  (8): gross_expense_ratio_percent, net_expense_ratio_percent, net_assets...

i Use `spec()` to retrieve the full column specification for this data.
i Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(blackrock_etf_data)

?blackrock_etf_data
No documentation for 'blackrock_etf_data' in specified packages and libraries:
you could try '??blackrock_etf_data'
glimpse(blackrock_etf_data)
Rows: 393
Columns: 22
$ ticker                                                                            <chr> ~
$ name                                                                              <chr> ~
$ incept_date                                                                       <chr> ~
$ gross_expense_ratio_percent                                                       <dbl> ~
$ net_expense_ratio_percent                                                         <dbl> ~
$ net_assets_usd_mn                                                                 <dbl> ~
$ net_assets_as_of                                                                  <chr> ~
$ asset_class                                                                       <chr> ~
$ sub_asset_class                                                                   <chr> ~
$ region                                                                            <chr> ~
$ market                                                                            <chr> ~
$ location                                                                          <chr> ~
$ investment_style                                                                  <chr> ~
$ sustainability_characteristics_msci_esg_fund_ratings_msci_esg_fund_rating_aaa_ccc <chr> ~
$ msci_esg_quality_score_0_10                                                       <dbl> ~
$ msci_weighted_average_carbon_intensity_tons_co2e_m_sales                          <dbl> ~
$ msci_esg_percent_coverage                                                         <dbl> ~
$ sustainable_classification                                                        <chr> ~
$ name_wo_ishares_etf                                                               <chr> ~
$ is_esg                                                                            <chr> ~
$ years_from_inception                                                              <dbl> ~
$ year_launched                                                                     <dbl> ~
mini_blackrock_data <- blackrock_etf_data |>  group_by(is_esg) |>  slice_max(order_by = net_assets_usd_mn, n = 5) |>  select(ticker, name, asset_class, sub_asset_class, region, incept_date, net_assets_usd_mn, msci_weighted_average_carbon_intensity_tons_co2e_m_sales) |>  rename(co2_intensity = msci_weighted_average_carbon_intensity_tons_co2e_m_sales) |>  ungroup()
Adding missing grouping variables: `is_esg`
mini_blackrock_data
# A tibble: 10 x 9
   is_esg       ticker name       asset_class sub_asset_class region incept_date
   <chr>        <chr>  <chr>      <chr>       <chr>           <chr>  <chr>      
 1 ESG Fund     ESGU   iShares E~ Equity      Large/Mid Cap   North~ 12/1/16    
 2 ESG Fund     ESGD   iShares E~ Equity      Large/Mid Cap   Global 6/28/16    
 3 ESG Fund     ICLN   iShares G~ Equity      All Cap         Global 6/24/08    
 4 ESG Fund     ESGE   iShares E~ Equity      Large/Mid Cap   Global 6/28/16    
 5 ESG Fund     DSI    iShares M~ Equity      Large/Mid Cap   North~ 11/14/06   
 6 Regular Fund IVV    iShares C~ Equity      Large Cap       North~ 5/15/00    
 7 Regular Fund IEFA   iShares C~ Equity      All Cap         Global 10/18/12   
 8 Regular Fund AGG    iShares C~ Fixed Inco~ Multi Sectors   North~ 9/22/03    
 9 Regular Fund IJR    iShares C~ Equity      Small Cap       North~ 5/22/00    
10 Regular Fund IEMG   iShares C~ Equity      All Cap         Global 10/18/12   
# ... with 2 more variables: net_assets_usd_mn <dbl>, co2_intensity <dbl>
mini_blackrock_data |> glimpse()
Rows: 10
Columns: 9
$ is_esg            <chr> "ESG Fund", "ESG Fund", "ESG Fund", "ESG Fund", "ESG~
$ ticker            <chr> "ESGU", "ESGD", "ICLN", "ESGE", "DSI", "IVV", "IEFA"~
$ name              <chr> "iShares ESG Aware MSCI USA ETF", "iShares ESG Aware~
$ asset_class       <chr> "Equity", "Equity", "Equity", "Equity", "Equity", "E~
$ sub_asset_class   <chr> "Large/Mid Cap", "Large/Mid Cap", "All Cap", "Large/~
$ region            <chr> "North America", "Global", "Global", "Global", "Nort~
$ incept_date       <chr> "12/1/16", "6/28/16", "6/24/08", "6/28/16", "11/14/0~
$ net_assets_usd_mn <dbl> 22376.688, 6425.673, 5628.011, 4233.544, 3688.930, 2~
$ co2_intensity     <dbl> 103.60, 103.83, 265.82, 167.71, 72.73, 148.34, 126.6~
ggplot(data = blackrock_etf_data) + geom_point(mapping = aes(x = is_esg, y = msci_weighted_average_carbon_intensity_tons_co2e_m_sales, color = region))
Warning: Removed 62 rows containing missing values (geom_point).

This is interesting because it lets us know how carbon intensive ESG funds are versus regular funds. While it is interesting to see that ESG funds tend to be less carbon intensive than regular funds, there are some ESGs that are more carbon intensive than many regular funds. When looking at it by region, no strong conclusion can be made.

ggplot(data = blackrock_etf_data) + geom_bar(mapping = aes(x = year_launched, fill = is_esg))

This is interesting because it shows the rise in new ESG funds over time. We can conclude that over the past 7 years ESG funds have risen steadily, with 2020 showing the largest new ESG funds founded.

ggplot(data = blackrock_etf_data) + geom_point(mapping = aes(x = market, y = net_assets_usd_mn, color = is_esg), position = "jitter")

There is a ton of important information that can be concluded from this chart. First, it can be seen that most funds are located in developed regions of the world. This makes sense because investors want to limit their risks. However, it is especially interesting that the majority of ESG funds are also in developed regions. One could make an argument that the S in ESG should make more ESG funds be in emerging regions. Finally, it can be seen that the largest funds are concentrated in developed regions. Again, this makes sense since developed regions have lower risks.