# assign the url to `github_raw_csv_url`github_raw_csv_url <-"https://raw.githubusercontent.com/t-emery/sais-susfin_data/main/datasets/blackrock_etf_screener_2022-08-30.csv"# read in the data, and assign it to the object `blackrock_etf_data`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...
ℹ 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.
`summarise()` has grouped output by 'region', 'market'. You can override using
the `.groups` argument.
# A tibble: 14 × 9
# Groups: region, market [11]
region market is_esg mean_…¹ media…² mean_…³ mean_…⁴ media…⁵ mean_…⁶
<chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Asia Pacific Devel… Regul… 1.45 0.567 8.04 158. 118. 99.8
2 Asia Pacific Emerg… Regul… 1.87 0.548 NA NA NA NA
3 Europe Devel… Regul… 0.806 0.197 8.87 139. 124. 98.0
4 Europe Emerg… Regul… 0.140 0.131 NA NA NA NA
5 Global Devel… ESG F… 2.02 0.419 9.02 138. 104. 98.4
6 Global Devel… Regul… 4.32 0.746 NA NA NA NA
7 Global Emerg… ESG F… 1.44 0.0601 8.90 161. 168. 100
8 Global Emerg… Regul… 7.89 0.394 NA NA NA NA
9 Global Front… Regul… 0.352 0.352 NA NA NA NA
10 Kuwait Emerg… Regul… 0.0291 0.0291 3.44 561. 561. 69.1
11 Latin America Emerg… Regul… 1.34 0.676 4.43 394. 352. 97.0
12 Middle East an… Emerg… Regul… 0.400 0.207 5.86 506. 482. 94.6
13 North America Devel… ESG F… 1.85 0.594 8.36 124. 104. 94.4
14 North America Devel… Regul… 7.97 0.934 NA NA NA NA
# … with abbreviated variable names ¹mean_assets, ²median_assets,
# ³mean_msci_10_0, ⁴mean_co2, ⁵median_co2, ⁶mean_coverage
I then decided that it might make more sense to compare only funds focusing on developed markets since the biggest ESG Funds are the one on North America and the Global-Developed one. As disclosing ESG information requires resources and infrastructure, ratings of funds in emerging markets might not be as precise as in developed markets and bias their rating negatively.
summary_region_market <- blackrock_etf_data |>filter(market =="Developed") |>#better comparison to North America which is largestgroup_by(region, is_esg) |>summarize(mean_assets =mean(net_assets_usd_bn),total_assets =sum(net_assets_usd_bn),median_assets =median(net_assets_usd_bn),mean_msci_10_0 =mean(msci_esg_quality_score_0_10, na.rm =TRUE),mean_co2 =mean(co2_intensity, na.rm =TRUE), median_co2 =median(co2_intensity, na.rm =TRUE), mean_coverage =mean(msci_esg_percent_coverage, na.rm =TRUE)) |>ungroup()
`summarise()` has grouped output by 'region'. You can override using the
`.groups` argument.
summary_region_market
# A tibble: 6 × 9
region is_esg mean_…¹ total…² media…³ mean_…⁴ mean_…⁵ media…⁶ mean_…⁷
<chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Asia Pacific Regular… 1.45 18.8 0.567 8.04 158. 118. 99.8
2 Europe Regular… 0.806 20.2 0.197 8.87 139. 124. 98.0
3 Global ESG Fund 2.02 14.1 0.419 9.02 138. 104. 98.4
4 Global Regular… 4.32 328. 0.746 7.79 221. 161. 96.8
5 North America ESG Fund 1.85 42.5 0.594 8.36 124. 104. 94.4
6 North America Regular… 7.97 1593. 0.934 7.31 230. 197. 96.3
# … with abbreviated variable names ¹mean_assets, ²total_assets,
# ³median_assets, ⁴mean_msci_10_0, ⁵mean_co2, ⁶median_co2, ⁷mean_coverage
Compared with their regular counterparts, the Global and North America ESG Funds look small (with only 4.29% and 2.67% of total assets respectively). However, there are still more than double as many net assets in North American ESG ETFs than in all regular European Funds. bubbleplot?
#percentage: global esg/regular and North America esg/regularperc_esg_Global <-14.10554/328.31109*100perc_esg_NorthA <-42.51177/1593.19313*100perc_Europe_esgNorthA <-20.15101/42.51177*100perc_esg_Global
[1] 4.296395
perc_esg_NorthA
[1] 2.668338
perc_Europe_esgNorthA
[1] 47.40101
#just checking that nothing changes substantially when including emerging markets in the global countsummary_region_market2 <- blackrock_etf_data |>group_by(region, is_esg) |>summarize(mean_assets =mean(net_assets_usd_bn),total_assets =sum(net_assets_usd_bn),median_assets =median(net_assets_usd_bn),mean_msci_10_0 =mean(msci_esg_quality_score_0_10, na.rm =TRUE),mean_co2 =mean(co2_intensity, na.rm =TRUE), median_co2 =median(co2_intensity, na.rm =TRUE), mean_coverage =mean(msci_esg_percent_coverage, na.rm =TRUE)) |>ungroup()
`summarise()` has grouped output by 'region'. You can override using the
`.groups` argument.
summary_region_market2
# A tibble: 9 × 9
region is_esg mean_…¹ total…² media…³ mean_…⁴ mean_…⁵ media…⁶ mean_…⁷
<chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Asia Pacific Regul… 1.68 4.88e+1 0.567 6.70 276. 214. 98.7
2 Europe Regul… 0.735 2.06e+1 0.187 8.60 185. 124. 96.8
3 Global ESG F… 1.84 1.84e+1 0.408 8.98 145. 124. 98.9
4 Global Regul… 4.86 4.47e+2 0.565 7.31 289. 180. 96.7
5 Kuwait Regul… 0.0291 2.91e-2 0.0291 3.44 561. 561. 69.1
6 Latin America Regul… 1.34 8.03e+0 0.676 4.43 394. 352. 97.0
7 Middle East an… Regul… 0.400 1.60e+0 0.207 5.86 506. 482. 94.6
8 North America ESG F… 1.85 4.25e+1 0.594 8.36 124. 104. 94.4
9 North America Regul… 7.97 1.59e+3 0.934 7.31 230. 197. 96.3
# … with abbreviated variable names ¹mean_assets, ²total_assets,
# ³median_assets, ⁴mean_msci_10_0, ⁵mean_co2, ⁶median_co2, ⁷mean_coverage
Here I try to visualize the distribution of MSCI ESG Quality Scores by region and ESG classification. Given the different scale of ESG Funds and Regular Funds it made more sense to split them into two graphs rather than into one. However, this meant that the color code is relative to each graph and not overarching for both which I find a little misleading and not optimal. I later use a density graph to show the distribution and that might be better suited. As expected, the spread of ESG Quality Scores is wider for Regular Funds and average ESG Scores of North American and Global regular Funds are lower than their ESG counterparts. Surprisingly, the average ESG Score of the European regular funds is even higher than of the North American ESG funds.
blackrock_etf_data |>filter(is_esg =="ESG Fund") |>ggplot(aes(x = region, y = net_assets_usd_bn, fill = msci_esg_quality_score_0_10)) +geom_col()+theme_classic()+labs(x ='Region', y ='Net Assets in Bn USD', title ='MSCI ESG Quality Scores of ESG Funds for North America and Global', subtitle ='Average Score Global: 9.02 vs Average Score North America: 8.36')
blackrock_etf_data |>filter(region =="Europe") |>ggplot(aes(x = region, y = net_assets_usd_bn, fill = msci_esg_quality_score_0_10)) +geom_col()+theme_classic()+labs(y ='Net Assets in Bn USD', title ='MSCI ESG Quality Scores of ESG Funds for Europe', subtitle ='Average Score Europe: 8.87')
Graph 3
explained above (see Graph 2)
blackrock_etf_data |>filter(is_esg =="Regular Fund", region =="Global"| region =="North America") |>ggplot(aes(x = region, y = net_assets_usd_bn, fill = msci_esg_quality_score_0_10)) +geom_col()+theme_classic()+labs(x ='Region', y ='Net Assets in Bn USD', title ='MSCI ESG Quality Scores of Regular Funds for North America and Global', subtitle ='Average Score Global: 7.79 vs Average Score North America: 7.31')
Graph 4 and 5
These graphs show the distribution by number and net assets of global funds, both ESG and regular, across the MSCI ESG rating categories. ESG Funds are only present in the top 2 categories which are also the most frequent categories for regular funds. Looking at net assets, regular funds are mostly concentrated on the AAA rating but BBB rated funds also account for a large amount of assets (AA rated ones are only third place).
blackrock_etf_data |>filter(region =="Global") |>ggplot(aes(x = msci_esg_rating, fill = is_esg)) +geom_bar()+theme_classic()
blackrock_etf_data |>filter(region =="Global") |>ggplot(aes(x = msci_esg_rating, y = net_assets_usd_bn, fill = is_esg)) +geom_col()+theme_classic()
Graphs 6 and 7
In analogy to the ESG Score distribution charts, these graphs show that in comparison to the global ESG Funds North American ones are wider spread across the spectrum of ESG ratings. They are also represented in the A and BBB rating groups, although most assets in ESG funds go towards AAA rated funds. Overall, the AA rated funds represent most assets (cmpared to the AAA group globally).
blackrock_etf_data |>filter(region =="North America") |>ggplot(aes(x = msci_esg_rating, y = net_assets_usd_bn, fill = is_esg)) +geom_col()+theme_classic()
Graph 8 and 9
These graphs show the distribution of MSCI ESG scores through a density plot, this might be the best way to visualize the difference in variance between global and North American funds. For North America, you can clearly see two peaks pointing towards net assets grouping in around types of regular funds, those that are basically as ESG-friendly as ESG-Funds and those that have a substantially worse ESG rating. North American ESG Funds also demonstrate a wider range of ESG scores, including some below 6. Global ESG funds are very concentrated around scores around 8 and 9 and basically do not include and funds with scores below 7. Global regular funds also show two peaks like the North American regular funds but they are much less pronounced and generally form a less accentuated picture.
blackrock_etf_data |>filter(region =="Global") |>ggplot(aes(x = msci_esg_quality_score_0_10, color = is_esg)) +geom_density()+theme_classic()+labs(title ='ESG Quality Scores Global Funds')
Rows: 537 Columns: 14
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (4): ticker, company_name, sector, esg_uw_ow
dbl (7): esg_etf, standard_etf, esg_tilt, esg_tilt_z_score, esg_tilt_rank, e...
lgl (3): in_esg_only, in_standard_only, in_on_index_only
ℹ 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.
What about the companies that are only in one of the two funds? A quick calculation shows that only 11% of the companies in the ESG Fund are exclusively in the ESG ETF while 45% of the Standard ETF are exclusively represented in the Standard Fund. Looking at these exclusive companies, no major difference in their sector distribution emerges but this might also be due to the sector categorization. If both Waste Management Inc and Lockheed Martin are counted as “Industrials” the special exclusion of Weapon Manufacturers of an ESG Fund is not visible in the sector distribution.
Rather than looking at sectors, it might thus be insightful to look at specific companies, particularly those that the respective fund invests most in. None of the top ten of either fund is an exclusive fund, in fact, the top five companies of both funds are identical as they are all the “usual (big tech) suspects”. Concluding this first superficial analysis, differences between the standard and ESG funds are not very visible at first. The sector categories do not reflect negative screening processes and specific ESG investments are only marginal in their share of the fund.