
[2025-04-05 23:22:40] Executing command: initialsample <- left_join(compustat, asset4, by = c(ISIN = "isin",      "year"))

[2025-04-05 23:22:40] Executing command: initialsample <- left_join(initialsample, kld, by = c(ncusip = "CUSIP",      "year"))

[2025-04-05 23:22:40] Executing command: initialsample <- left_join(initialsample, sic_US[, c("gvkey",      "fyear", "sic")], by = c("gvkey", "fyear"))

[2025-04-05 23:22:41] Executing command: initialsample <- subset(initialsample, sic < 6000 | sic > 6799)

[2025-04-05 23:22:41] Executing command: initialsample <- subset(initialsample, sale >= 0)

[2025-04-05 23:22:41] Executing command: initialsample$mktcap <- log(initialsample$csho * initialsample$prcc_f +      1)

[2025-04-05 23:22:41] Executing command: initialsample$mktcap <- Winsorize(initialsample$mktcap, probs = c(0.01,      0.99), na.rm = T)

[2025-04-05 23:22:41] Executing command: initialsample$mtb <- initialsample$csho * initialsample$prcc_f/initialsample$ceq

[2025-04-05 23:22:41] Executing command: initialsample <- subset(initialsample, !is.na(ceq) & ceq != 0)

[2025-04-05 23:22:41] Executing command: initialsample$mtb <- Winsorize(initialsample$mtb, probs = c(0.01,      0.99), na.rm = T)

[2025-04-05 23:22:41] Executing command: initialsample$leverage <- (initialsample$dlc + initialsample$dltt)/initialsample$at

[2025-04-05 23:22:41] Executing command: initialsample$leverage <- Winsorize(initialsample$leverage, probs = c(0.01,      0.99), na.rm = T)

[2025-04-05 23:22:41] Executing command: initialsample$roe <- initialsample$ib/initialsample$ceq_lag

[2025-04-05 23:22:41] Executing command: initialsample$roe <- ifelse(initialsample$roe < (-1), (-1), initialsample$roe)

[2025-04-05 23:22:41] Executing command: initialsample$roe <- Winsorize(initialsample$roe, probs = c(0.01,      0.99), na.rm = T)

[2025-04-05 23:22:41] Executing command: initialsample <- left_join(initialsample, BBG[, c("ticker", "year",      "ESG_dis_score")], by = c(tic = "ticker", "year"))

[2025-04-05 23:22:41] Executing command: initialsample <- left_join(initialsample, CSR_Report, by = c(tic = "Symbol",      year = "year2"))

[2025-04-05 23:22:41] Executing command: initialsample$Report <- ifelse(is.na(initialsample$Report), 0,      initialsample$Report)

[2025-04-05 23:22:42] Executing command: initialsample <- left_join(initialsample, compustat_io[, c("gvkey",      "fyear", "io_perc")], by = c("gvkey", "fyear"))

[2025-04-05 23:22:42] Executing command: initialsample <- left_join(initialsample, compustat_io[, c("gvkey",      "fyear", "analystnum", "analyst_log")], by = c("gvkey", "fyear"))

[2025-04-05 23:22:42] Executing command: initialsample$analystnum <- ifelse(is.na(initialsample$analystnum),      0, initialsample$analystnum)

[2025-04-05 23:22:42] Executing command: initialsample$analyst_log <- ifelse(is.na(initialsample$analyst_log),      0, initialsample$analyst_log)

[2025-04-05 23:22:42] Executing command: initialsample <- subset(initialsample, !is.na(mktcap) & !is.na(mtb) &      !is.na(leverage) & !is.na(roe) & !is.na(return))

[2025-04-05 23:22:42] Executing command: treatment <- subset(historical_score_weighted, year == 2009)

[2025-04-05 23:22:42] Executing command: treatment <- treatment %>% distinct(isin_filled)

[2025-04-05 23:22:42] Executing command: treatment$sustan <- 1

[2025-04-05 23:22:42] Executing command: treatment <- subset(treatment, !is.na(isin_filled))

[2025-04-05 23:22:42] Executing command: initialsample <- left_join(initialsample, treatment, by = c(ISIN = "isin_filled"))

[2025-04-05 23:22:43] Executing command: treatment <- subset(initialsample, sustan == 1)

[2025-04-05 23:22:43] Executing command: treat <- unique(treatment$gvkey)

[2025-04-05 23:22:43] Executing command: initialsample$treat <- ifelse(initialsample$gvkey %in% treat,      1, 0)

[2025-04-05 23:22:43] Executing command: sic_ffi <- sic_ffi %>% distinct(sic, ffi_48)

[2025-04-05 23:22:43] Executing command: sic_ffi <- subset(sic_ffi, !is.na(sic))

[2025-04-05 23:22:43] Executing command: sic_ffi$sic <- as.character(sic_ffi$sic)

[2025-04-05 23:22:43] Executing command: initialsample <- left_join(initialsample, sic_ffi, by = c("sic"))

[2025-04-05 23:22:43] Executing command: initialsample$indyear_48 <- initialsample %>% group_by(ffi_48,      year) %>% group_indices()

[2025-04-05 23:22:43] Executing command: initialsample$post <- ifelse(initialsample$year >= 2010, 1, 0)

[2025-04-05 23:22:43] Executing command: initialsample$pre <- ifelse(initialsample$year < 2010, 1, 0)

[2025-04-05 23:22:43] Executing command: initialsample <- left_join(initialsample, kld_CC[, c("year",      "CUSIP", "envnet", "comnet", "humnet", "empnet", "divnet",      "govnet")], by = c("year", ncusip = "CUSIP"))

[2025-04-05 23:22:43] Executing command: initialsample$kld_net <- initialsample$envnet + initialsample$comnet +      initialsample$humnet + initialsample$empnet + initialsample$divnet +      initialsample$govnet

[2025-04-05 23:22:43] Executing command: disagree_sample <- subset(initialsample, !is.na(kld_net) & !is.na(overall_score) &      year >= 2007 & year <= 2012)

[2025-04-05 23:22:43] Executing command: disagree_sample$kld_scale <- (max(disagree_sample$kld_net) -      disagree_sample$kld_net)/(max(disagree_sample$kld_net) -      min(disagree_sample$kld_net))

[2025-04-05 23:22:43] Executing command: disagree_sample$overall_scale <- (max(disagree_sample$overall_score) -      disagree_sample$overall_score)/(max(disagree_sample$overall_score) -      min(disagree_sample$overall_score))

[2025-04-05 23:22:43] Executing command: disagree_sample$disagree <- rowSds(as.matrix(disagree_sample[,      c("kld_scale", "overall_scale")]))

[2025-04-05 23:22:43] Executing command: disagree_sample$rating <- (disagree_sample$kld_scale + disagree_sample$overall_scale)/2

[2025-04-05 23:22:43] Executing command: disagree_sample$treatpost <- disagree_sample$treat * disagree_sample$post

[2025-04-05 23:22:43] Executing command: disagree_sample <- disagree_sample %>% group_by(gvkey) %>% mutate(preexist = sum(pre),      postexist = sum(post))

[2025-04-05 23:22:43] Executing command: disagree_sample <- left_join(disagree_sample, ratingcomponent,      by = c(ISIN = "Isin", fyear = "fisyear"))

[2025-04-05 23:22:43] Executing command: disagree_sample$matchrating_AS4_scale <- (max(disagree_sample$matchrating_AS4,      na.rm = T) - disagree_sample$matchrating_AS4)/(max(disagree_sample$matchrating_AS4,      na.rm = T) - min(disagree_sample$matchrating_AS4, na.rm = T))

[2025-04-05 23:22:43] Executing command: disagree_sample$matchrating_AS4_sustan_scale <- (max(disagree_sample$matchrating_AS4_sustan,      na.rm = T) - disagree_sample$matchrating_AS4_sustan)/(max(disagree_sample$matchrating_AS4_sustan,      na.rm = T) - min(disagree_sample$matchrating_AS4_sustan,      na.rm = T))

[2025-04-05 23:22:43] Executing command: disagree_sample$matchrating_AS4_nosustan_scale <- (max(disagree_sample$matchrating_AS4_nosustan,      na.rm = T) - disagree_sample$matchrating_AS4_nosustan)/(max(disagree_sample$matchrating_AS4_nosustan,      na.rm = T) - min(disagree_sample$matchrating_AS4_nosustan,      na.rm = T))

[2025-04-05 23:22:43] Executing command: disagree_sample$matchrating_KLD_scale <- (max(disagree_sample$matchrating_KLD,      na.rm = T) - disagree_sample$matchrating_KLD)/(max(disagree_sample$matchrating_KLD,      na.rm = T) - min(disagree_sample$matchrating_KLD, na.rm = T))

[2025-04-05 23:22:43] Executing command: disagree_sample$matchrating_KLD_sustan_scale <- (max(disagree_sample$matchrating_KLD_sustan,      na.rm = T) - disagree_sample$matchrating_KLD_sustan)/(max(disagree_sample$matchrating_KLD_sustan,      na.rm = T) - min(disagree_sample$matchrating_KLD_sustan,      na.rm = T))

[2025-04-05 23:22:43] Executing command: disagree_sample$matchrating_KLD_nosustan_scale <- (max(disagree_sample$matchrating_KLD_nosustan,      na.rm = T) - disagree_sample$matchrating_KLD_nosustan)/(max(disagree_sample$matchrating_KLD_nosustan,      na.rm = T) - min(disagree_sample$matchrating_KLD_nosustan,      na.rm = T))

[2025-04-05 23:22:43] Executing command: disagree_sample$disagree_match <- rowSds(as.matrix(disagree_sample[,      c("matchrating_AS4_scale", "matchrating_KLD_scale")]))

[2025-04-05 23:22:43] Executing command: disagree_sample$disagree_match_sustan <- rowSds(as.matrix(disagree_sample[,      c("matchrating_AS4_sustan_scale", "matchrating_KLD_sustan_scale")]))

[2025-04-05 23:22:43] Executing command: disagree_sample$disagree_match_nosustan <- rowSds(as.matrix(disagree_sample[,      c("matchrating_AS4_nosustan_scale", "matchrating_KLD_nosustan_scale")]))

[2025-04-05 23:22:43] Executing command: metrics_sample <- subset(initialsample, !is.na(kld_net) | !is.na(overall_score))

[2025-04-05 23:22:43] Executing command: metrics_sample <- subset(metrics_sample, year >= 2007 & year <=      2012)

[2025-04-05 23:22:43] Executing command: treatment <- subset(metrics_sample, !is.na(kld_net) & sustan ==      1 & year < 2010)

[2025-04-05 23:22:43] Executing command: treat_kld <- unique(treatment$gvkey)

[2025-04-05 23:22:43] Executing command: metrics_sample$treat_kld <- ifelse(metrics_sample$gvkey %in%      treat_kld, 1, 0)

[2025-04-05 23:22:43] Executing command: treatment <- subset(metrics_sample, !is.na(overall_score) & sustan ==      1 & year < 2010)

[2025-04-05 23:22:43] Executing command: treat_as4 <- unique(treatment$gvkey)

[2025-04-05 23:22:43] Executing command: metrics_sample$treat_as4 <- ifelse(metrics_sample$gvkey %in%      treat_as4, 1, 0)

[2025-04-05 23:22:43] Executing command: metrics_sample <- left_join(metrics_sample, asset4_detail, by = c(year = "fisyear",      ISIN = "Isin"))

[2025-04-05 23:22:43] Executing command: metrics_sample <- metrics_sample %>% rename(populate_as4 = populated)

[2025-04-05 23:22:43] Executing command: metrics_sample <- left_join(metrics_sample, as4_output[, c("fisyear",      "Isin", "populated_output")], by = c(year = "fisyear", ISIN = "Isin"))

[2025-04-05 23:22:43] Executing command: metrics_sample$populate_input <- metrics_sample$populate_as4 -      metrics_sample$populated_output

[2025-04-05 23:22:44] Executing command: metrics_sample <- left_join(metrics_sample, kld_simple[, c("year",      "CUSIP", "populated")], by = c("year", ncusip = "CUSIP"))

[2025-04-05 23:22:44] Executing command: metrics_sample <- metrics_sample %>% rename(populate_kld = populated)

[2025-04-05 23:22:44] Executing command: metrics_sample <- left_join(metrics_sample, KLD_output[, c("CUSIP",      "year", "populated_output_KLD")], by = c("year", ncusip = "CUSIP"))

[2025-04-05 23:22:44] Executing command: metrics_sample$populated_input_KLD <- metrics_sample$populate_kld -      metrics_sample$populated_output_KLD

[2025-04-05 23:22:44] Executing command: metrics_sample$kld_scale <- (max(metrics_sample$kld_net, na.rm = T) -      metrics_sample$kld_net)/(max(metrics_sample$kld_net, na.rm = T) -      min(metrics_sample$kld_net, na.rm = T))

[2025-04-05 23:22:44] Executing command: metrics_sample$overall_scale <- (max(metrics_sample$overall_score,      na.rm = T) - metrics_sample$overall_score)/(max(metrics_sample$overall_score,      na.rm = T) - min(metrics_sample$overall_score, na.rm = T))

[2025-04-05 23:22:44] Executing command: metrics_sample$rating <- ifelse(!is.na(metrics_sample$kld_scale) &      !is.na(metrics_sample$overall_scale), (metrics_sample$kld_scale +      metrics_sample$overall_scale)/2, metrics_sample$kld_scale)

[2025-04-05 23:22:44] Executing command: metrics_sample$rating <- ifelse(is.na(metrics_sample$rating),      metrics_sample$overall_scale, metrics_sample$rating)

[2025-04-05 23:22:44] Executing command: metrics_sample <- metrics_sample %>% group_by(gvkey) %>% mutate(preexist = sum(pre),      postexist = sum(post))

[2025-04-05 23:22:44] Executing command: RRnews$year <- substr(RRnews$incident_date, 1, 4)

[2025-04-05 23:22:44] Executing command: RRnews$year <- as.numeric(RRnews$year)

[2025-04-05 23:22:44] Executing command: RRnews_novel <- subset(RRnews, novelty == 2)

[2025-04-05 23:22:44] Executing command: RRnews_novel <- RRnews_novel %>% group_by(primary_isin, year) %>%      mutate(newscount = n())

[2025-04-05 23:22:44] Executing command: RRnews_novel <- RRnews_novel %>% distinct(primary_isin, year,      newscount)

[2025-04-05 23:22:45] Executing command: RRnews_novel <- RRnews_novel %>% group_by(primary_isin) %>% arrange(year) %>%      mutate(newscount_lead = dplyr::lead(newscount, 1), newscount_lead2 = dplyr::lead(newscount,          2))

[2025-04-05 23:22:45] Executing command: news_sample <- left_join(metrics_sample, RRnews_novel, by = c(ISIN = "primary_isin",      "year"))

[2025-04-05 23:22:45] Executing command: news_sample$newscount <- ifelse(is.na(news_sample$newscount),      0, news_sample$newscount)

[2025-04-05 23:22:45] Executing command: news_sample$newscount_lead2 <- ifelse(is.na(news_sample$newscount_lead2),      0, news_sample$newscount_lead2)

[2025-04-05 23:22:45] Executing command: kld_CC$kld_con <- kld_CC$envconindice + kld_CC$humconindice +      kld_CC$empconindice + kld_CC$divconindice + kld_CC$comconindice +      kld_CC$govconindice

[2025-04-05 23:22:45] Executing command: news_sample <- left_join(news_sample, kld_CC[, c("year", "CUSIP",      "kld_con")], by = c("year", ncusip = "CUSIP"))

[2025-04-05 23:22:45] Executing command: news_sample <- left_join(news_sample, asset4_con, by = c(year = "fisyear",      ISIN = "Isin"))

[2025-04-05 23:22:45] Executing command: news_sample$overall_con_sum2 <- (-1) * news_sample$overall_con_sum

[2025-04-05 23:22:45] Executing command: news_sample$kldcon_adj <- news_sample$kld_con * 100/news_sample$populate_kld

[2025-04-05 23:22:45] Executing command: news_sample$as4con_adj <- news_sample$overall_con_sum2 * 100/news_sample$populate_as4

[2025-04-05 23:22:45] Executing command: news_sample <- news_sample %>% group_by(gvkey) %>% mutate(preexist = sum(pre),      postexist = sum(post))

[2025-04-05 23:22:46] Executing command: disagree_sample$postexist <- ifelse(disagree_sample$postexist >      0, 1, 0)

[2025-04-05 23:22:46] Executing command: D <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% pull(treat)

[2025-04-05 23:22:46] Executing command: X <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% dplyr::select(mktcap, leverage, mtb, roe, Report,      io_perc, rating, analyst_log, return) %>% mutate(sizeq = mktcap^2,      levq = leverage^2, mtbq = mtb^2, roeq = roe^2, ioq = io_perc^2,      ratingq = rating^2, analystq = analyst_log^2, returnq = return^2) %>%      as.matrix()

[2025-04-05 23:22:46] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:46] Executing command: eb <- ebalance(D, X_num)

[2025-04-05 23:22:46] Executing command: eb_treat <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% filter(treat == 1) %>% mutate(weights = 1)

[2025-04-05 23:22:46] Executing command: disagree_sample <- disagree_sample %>% ungroup()

[2025-04-05 23:22:46] Executing command: en_con <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% filter(treat == 0) %>% mutate(weights = eb$w)

[2025-04-05 23:22:46] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:46] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:46] Executing command: disagree_sample$weights <- NULL

[2025-04-05 23:22:46] Executing command: disagree_sample <- left_join(disagree_sample, balanced[, c("gvkey",      "weights")], by = c("gvkey"))

[2025-04-05 23:22:46] Executing command: disagreesample_balanced <- subset(disagree_sample, !is.na(weights))

[2025-04-05 23:22:46] Executing command: metrics_sample <- metrics_sample %>% group_by(gvkey) %>% mutate(postexist = sum(post))

[2025-04-05 23:22:46] Executing command: metrics_sample$postexist <- ifelse(metrics_sample$postexist >      0, 1, 0)

[2025-04-05 23:22:46] Executing command: metrics_sample <- metrics_sample %>% ungroup()

[2025-04-05 23:22:46] Executing command: D <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% pull(treat_kld)

[2025-04-05 23:22:46] Executing command: X <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% dplyr::select(mktcap,      leverage, mtb, roe, Report, io_perc, analyst_log, rating,      return) %>% mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,      roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,      ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:46] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:46] Executing command: eb <- ebalance(D, X_num)
[2025-04-05 23:22:46] Output:
Converged within tolerance 

[2025-04-05 23:22:46] Executing command: eb_treat <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% filter(treat_kld ==      1) %>% mutate(weights = 1)

[2025-04-05 23:22:46] Executing command: en_con <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% filter(treat_kld ==      0) %>% mutate(weights = eb$w)

[2025-04-05 23:22:46] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:46] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:46] Executing command: metrics_sample$weights <- NULL

[2025-04-05 23:22:46] Executing command: metrics_sample <- left_join(metrics_sample, balanced[, c("gvkey",      "weights")], by = c("gvkey"))

[2025-04-05 23:22:46] Executing command: kldmetricssample_balanced <- subset(metrics_sample, !is.na(weights))

[2025-04-05 23:22:46] Executing command: metrics_sample <- metrics_sample %>% ungroup()

[2025-04-05 23:22:46] Executing command: D <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% pull(treat_as4)

[2025-04-05 23:22:46] Executing command: X <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% dplyr::select(mktcap,      leverage, mtb, roe, Report, io_perc, analyst_log, rating,      return) %>% mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,      roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,      ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:46] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:46] Executing command: eb <- ebalance(D, X_num)

[2025-04-05 23:22:46] Executing command: eb_treat <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% filter(treat_as4 ==      1) %>% mutate(weights = 1)

[2025-04-05 23:22:46] Executing command: metrics_sample <- metrics_sample %>% ungroup()

[2025-04-05 23:22:46] Executing command: en_con <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% filter(treat_as4 ==      0) %>% mutate(weights = eb$w)

[2025-04-05 23:22:46] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:46] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:46] Executing command: metrics_sample$weights <- NULL

[2025-04-05 23:22:46] Executing command: metrics_sample <- left_join(metrics_sample, balanced[, c("gvkey",      "weights")], by = c("gvkey"))

[2025-04-05 23:22:46] Executing command: as4metricssample_balanced <- subset(metrics_sample, !is.na(weights))

[2025-04-05 23:22:46] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:46] Executing command: news_sample <- news_sample %>% group_by(gvkey) %>% mutate(postexist = sum(post))

[2025-04-05 23:22:47] Executing command: news_sample$postexist <- ifelse(news_sample$postexist > 0, 1,      0)

[2025-04-05 23:22:47] Executing command: D <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% pull(treat_kld)

[2025-04-05 23:22:47] Executing command: X <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% dplyr::select(mktcap, leverage,      mtb, roe, Report, io_perc, analyst_log, rating, return) %>%      mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,          roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,          ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:47] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:47] Executing command: eb <- ebalance(D, X_num)
[2025-04-05 23:22:47] Output:
Converged within tolerance 

[2025-04-05 23:22:47] Executing command: eb_treat <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% filter(treat_kld == 1) %>%      mutate(weights = 1)

[2025-04-05 23:22:47] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:47] Executing command: en_con <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% filter(treat_kld == 0) %>%      mutate(weights = eb$w)

[2025-04-05 23:22:47] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:47] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:47] Executing command: news_sample$weights <- NULL

[2025-04-05 23:22:47] Executing command: news_sample <- left_join(news_sample, balanced[, c("gvkey", "weights")],      by = c("gvkey"))

[2025-04-05 23:22:47] Executing command: kldnewssample_balanced <- subset(news_sample, !is.na(weights))

[2025-04-05 23:22:47] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:47] Executing command: D <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% pull(treat_as4)

[2025-04-05 23:22:47] Executing command: X <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% dplyr::select(mktcap, leverage,      mtb, roe, Report, io_perc, analyst_log, rating, return) %>%      mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,          roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,          ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:47] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:47] Executing command: eb <- ebalance(D, X_num)

[2025-04-05 23:22:47] Executing command: eb_treat <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% filter(treat_as4 == 1) %>%      mutate(weights = 1)

[2025-04-05 23:22:47] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:47] Executing command: en_con <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% filter(treat_as4 == 0) %>%      mutate(weights = eb$w)

[2025-04-05 23:22:48] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:48] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:48] Executing command: news_sample$weights <- NULL

[2025-04-05 23:22:48] Executing command: news_sample <- left_join(news_sample, balanced[, c("gvkey", "weights")],      by = c("gvkey"))

[2025-04-05 23:22:48] Executing command: as4newssample_balanced <- subset(news_sample, !is.na(weights))

[2025-04-05 23:22:48] Executing command: regsummary <- function(model) {     model_summary <- summary(model)     n_obs <- nobs(model)     cat("Coefficients:\n")     print(model_summary$coefficients)     cat("\nR-squared:", model_summary$r.squared, "\n")     cat("Adjusted R-squared:", model_summary$adj.r.squared, "\n")     cat("Number of Observations:", n_obs, "\n") }

[2025-04-05 23:22:48] Executing command: did11 <- felm(disagree ~ treat + post + treat:post + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | 0 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:48] Executing command: regsummary(did11)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.    t value     Pr(>|t|)
(Intercept)  0.1747145964 0.0742697264  2.3524336 1.871952e-02
treat        0.0205576432 0.0114562891  1.7944417 7.284995e-02
post         0.0079179577 0.0072240477  1.0960556 2.731482e-01
rating      -0.2730906003 0.0367725273 -7.4264844 1.470117e-13
mktcap       0.0221333123 0.0093751253  2.3608551 1.830066e-02
mtb         -0.0001243193 0.0008416318 -0.1477122 8.825805e-01
leverage     0.0484368949 0.0176118322  2.7502474 5.993102e-03
roe         -0.0046376788 0.0059060361 -0.7852439 4.323767e-01
Report       0.0395384850 0.0084778613  4.6637334 3.250057e-06
io_perc      0.0065713346 0.0176538247  0.3722329 7.097475e-01
analyst_log -0.0255736711 0.0086275392 -2.9641907 3.060266e-03
return      -0.0088904736 0.0075326026 -1.1802658 2.379942e-01
treat:post  -0.0498744140 0.0075149249 -6.6367149 3.833210e-11

R-squared: 0.3402221 
Adjusted R-squared: 0.3374095 
Number of Observations: 2828 

[2025-04-05 23:22:48] Executing command: did12 <- felm(disagree ~ treat + post + treat:post + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + year | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:48] Executing command: regsummary(did12)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.     t value     Pr(>|t|)
treat                 NaN 0.0000000000         NaN          NaN
post                  NaN 0.0000000000         NaN          NaN
rating      -2.669108e-01 0.0456907753 -5.84167809 6.709117e-07
mktcap       1.238923e-02 0.0087151108  1.42158000 1.625317e-01
mtb         -7.517051e-05 0.0007597243 -0.09894445 9.216531e-01
leverage     1.901784e-02 0.0317809505  0.59840364 5.527843e-01
roe         -2.998445e-03 0.0055902815 -0.53636743 5.945344e-01
Report       2.642091e-02 0.0073512108  3.59408914 8.482709e-04
io_perc      1.100999e-02 0.0278696906  0.39505261 6.948033e-01
analyst_log  3.618301e-03 0.0121268288  0.29837155 7.668908e-01
return      -9.934267e-03 0.0069291754 -1.43368673 1.590649e-01
treat:post  -6.095550e-02 0.0075639481 -8.05868844 4.633918e-10

R-squared: 0.7087377 
Adjusted R-squared: 0.6398081 
Number of Observations: 2828 

[2025-04-05 23:22:48] Executing command: did13 <- felm(disagree ~ treat + post + treat:post + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:48] Executing command: regsummary(did13)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.     t value     Pr(>|t|)
treat                 NaN 0.0000000000         NaN          NaN
post                  NaN 0.0000000000         NaN          NaN
rating      -0.3083918376 0.0455402526 -6.77185171 3.083989e-08
mktcap       0.0123802150 0.0110076440  1.12469253 2.671061e-01
mtb         -0.0000432055 0.0007294081 -0.05923364 9.530470e-01
leverage     0.0318152479 0.0333535404  0.95387918 3.456028e-01
roe         -0.0030268766 0.0052481336 -0.57675296 5.671849e-01
Report       0.0241691636 0.0063749832  3.79125136 4.729940e-04
io_perc     -0.0133822965 0.0336449178 -0.39775090 6.928283e-01
analyst_log  0.0069520655 0.0101181795  0.68708659 4.958048e-01
return      -0.0079622586 0.0063779562 -1.24840282 2.187981e-01
treat:post  -0.0573637040 0.0073285585 -7.82741979 9.760529e-10

R-squared: 0.7477916 
Adjusted R-squared: 0.6568849 
Number of Observations: 2828 

[2025-04-05 23:22:48] Executing command: did14 <- felm(disagree ~ treat + post + treat:post + mktcap +      rating + mtb + leverage + roe + Report + rating + io_perc +      analyst_log + return | 0 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:48] Executing command: regsummary(did14)
[2025-04-05 23:22:48] Output:
Coefficients:
                Estimate Cluster s.e.    t value     Pr(>|t|)
(Intercept)  0.303180732  0.110158674  2.7522184 5.957312e-03
treat        0.024414255  0.020764933  1.1757444 2.397966e-01
post         0.004744467  0.016891325  0.2808819 7.788217e-01
mktcap       0.018511792  0.010782250  1.7168765 8.611193e-02
rating      -0.332898710  0.038370136 -8.6759847 6.816584e-18
mtb         -0.001824411  0.002014328 -0.9057168 3.651634e-01
leverage    -0.015482298  0.051518657 -0.3005183 7.638041e-01
roe         -0.019642247  0.016436689 -1.1950246 2.321783e-01
Report       0.028792616  0.017239304  1.6701728 9.499656e-02
io_perc     -0.093462794  0.047491872 -1.9679745 4.916916e-02
analyst_log -0.013059939  0.016144604 -0.8089352 4.186209e-01
return      -0.025815171  0.022657282 -1.1393764 2.546433e-01
treat:post  -0.048497464  0.015865427 -3.0568018 2.258170e-03

R-squared: 0.3898573 
Adjusted R-squared: 0.3872517 
Number of Observations: 2823 

[2025-04-05 23:22:48] Executing command: did15 <- felm(disagree ~ treat + post + treat:post + mktcap +      rating + mtb + leverage + roe + Report + rating + io_perc +      analyst_log + return | gvkey + year | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:48] Executing command: regsummary(did15)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.    t value    Pr(>|t|)
treat                 NaN 0.0000000000        NaN         NaN
post                  NaN 0.0000000000        NaN         NaN
mktcap       0.0498521574 0.0230609879  2.1617529 0.036383687
rating      -0.4020783996 0.1152747137 -3.4880017 0.001155296
mtb          0.0006628716 0.0007974309  0.8312590 0.410528396
leverage     0.1210635938 0.0740919690  1.6339638 0.109741331
roe          0.0011256832 0.0077584363  0.1450915 0.885332683
Report       0.0047872062 0.0148127494  0.3231815 0.748161429
io_perc     -0.0179202808 0.0549827088 -0.3259258 0.746098926
analyst_log -0.0112586811 0.0232935967 -0.4833380 0.631366023
return      -0.0438095814 0.0213890319 -2.0482265 0.046822561
treat:post  -0.0520180076 0.0181861271 -2.8603126 0.006566777

R-squared: 0.7452665 
Adjusted R-squared: 0.6851257 
Number of Observations: 2823 

[2025-04-05 23:22:48] Executing command: did16 <- felm(disagree ~ treat + post + treat:post + mktcap +      rating + mtb + leverage + roe + Report + rating + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:48] Executing command: regsummary(did16)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.    t value     Pr(>|t|)
treat                 NaN 0.0000000000        NaN          NaN
post                  NaN 0.0000000000        NaN          NaN
mktcap       0.0437203122 0.0251868772  1.7358370 8.992477e-02
rating      -0.3586034257 0.0793744095 -4.5178720 5.008707e-05
mtb          0.0007482196 0.0007255692  1.0312175 3.083408e-01
leverage     0.0679148221 0.0582026043  1.1668691 2.498459e-01
roe          0.0070006295 0.0059672156  1.1731819 2.473335e-01
Report       0.0101699939 0.0129613101  0.7846424 4.370667e-01
io_perc     -0.0879655135 0.0730575644 -1.2040576 2.353094e-01
analyst_log -0.0154026103 0.0191710553 -0.8034305 4.262497e-01
return      -0.0400476097 0.0194375473 -2.0603222 4.559794e-02
treat:post  -0.0662925129 0.0158210922 -4.1901350 1.401036e-04

R-squared: 0.8126215 
Adjusted R-squared: 0.7451652 
Number of Observations: 2823 

[2025-04-05 23:22:48] Executing command: did11 <- felm(disagree_match ~ treat + post + treat:post + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:48] Executing command: regsummary(did11)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.    t value   Pr(>|t|)
treat                 NaN 0.0000000000        NaN        NaN
post                  NaN 0.0000000000        NaN        NaN
rating       0.0526868556 0.0257254431  2.0480446 0.04684119
mktcap       0.0064906284 0.0062456747  1.0392197 0.30464845
mtb         -0.0002249525 0.0003786165 -0.5941435 0.55560315
leverage     0.0081125515 0.0177434746  0.4572132 0.64987404
roe         -0.0034259760 0.0033822738 -1.0129210 0.31689792
Report       0.0068973709 0.0038562890  1.7886032 0.08089338
io_perc     -0.0052951578 0.0245522388 -0.2156690 0.83028970
analyst_log  0.0041058313 0.0078526513  0.5228592 0.60381974
return       0.0036092193 0.0064795156  0.5570199 0.58047024
treat:post  -0.0175680229 0.0078134708 -2.2484275 0.02985490

R-squared: 0.7135258 
Adjusted R-squared: 0.6102683 
Number of Observations: 2828 

[2025-04-05 23:22:48] Executing command: did12 <- felm(disagree_match ~ treat + post + treat:post + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:48] Executing command: regsummary(did12)
[2025-04-05 23:22:48] Output:
Coefficients:
                Estimate Cluster s.e.    t value   Pr(>|t|)
treat                NaN 0.0000000000        NaN        NaN
post                 NaN 0.0000000000        NaN        NaN
rating       0.011963932 0.0370531825  0.3228854 0.74838406
mktcap       0.027250479 0.0145782233  1.8692593 0.06856998
mtb         -0.000395412 0.0005981624 -0.6610446 0.51219375
leverage    -0.009969960 0.0415688955 -0.2398418 0.81161960
roe         -0.012403240 0.0055377507 -2.2397613 0.03045719
Report       0.001185712 0.0050790088  0.2334535 0.81654340
io_perc     -0.135801952 0.0505355231 -2.6872573 0.01027938
analyst_log  0.024570838 0.0171974730  1.4287470 0.16047234
return      -0.003387882 0.0070139891 -0.4830179 0.63159144
treat:post  -0.027417921 0.0121707050 -2.2527800 0.02955643

R-squared: 0.7565576 
Adjusted R-squared: 0.6689183 
Number of Observations: 2823 

[2025-04-05 23:22:48] Executing command: did13 <- felm(disagree_match_nosustan ~ treat + post + treat:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:48] Executing command: regsummary(did13)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.     t value   Pr(>|t|)
treat                 NaN 0.0000000000         NaN        NaN
post                  NaN 0.0000000000         NaN        NaN
rating       5.331956e-03 0.0247217577  0.21567869 0.83028223
mktcap       7.008273e-03 0.0061230854  1.14456562 0.25887012
mtb         -1.489057e-05 0.0003525461 -0.04223723 0.96650974
leverage     1.691768e-02 0.0195816362  0.86395637 0.39251925
roe         -3.524595e-03 0.0036619770 -0.96248433 0.34131533
Report       8.802276e-03 0.0038774131  2.27014145 0.02839216
io_perc     -3.023410e-03 0.0258916447 -0.11677165 0.90759761
analyst_log  3.884049e-03 0.0077664224  0.50010785 0.61960948
return       3.847223e-03 0.0065876995  0.58400104 0.56234329
treat:post  -2.378747e-02 0.0075893889 -3.13430682 0.00313876

R-squared: 0.715283 
Adjusted R-squared: 0.6126589 
Number of Observations: 2828 

[2025-04-05 23:22:48] Executing command: did14 <- felm(disagree_match_nosustan ~ treat + post + treat:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:48] Executing command: regsummary(did14)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.      t value    Pr(>|t|)
treat                 NaN 0.0000000000          NaN         NaN
post                  NaN 0.0000000000          NaN         NaN
rating      -5.238344e-02 0.0412384658 -1.270256763 0.210985262
mktcap       2.211156e-02 0.0135183936  1.635664734 0.109383220
mtb          3.294283e-06 0.0005549052  0.005936659 0.995291369
leverage     1.717011e-02 0.0296320202  0.579444308 0.565384710
roe         -7.303452e-03 0.0049867879 -1.464560271 0.150486644
Report       6.680780e-04 0.0070313432  0.095014277 0.924755366
io_perc     -6.277887e-02 0.0327454419 -1.917178830 0.062034113
analyst_log  8.879080e-03 0.0151839247  0.584768414 0.561831899
return       7.349232e-04 0.0064632410  0.113708153 0.910010963
treat:post  -3.881355e-02 0.0136111218 -2.851605519 0.006718852

R-squared: 0.7628704 
Adjusted R-squared: 0.6775038 
Number of Observations: 2823 

[2025-04-05 23:22:48] Executing command: did15 <- felm(disagree_match_sustan ~ treat + post + treat:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:48] Executing command: regsummary(did15)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.    t value     Pr(>|t|)
treat                 NaN 0.0000000000        NaN          NaN
post                  NaN 0.0000000000        NaN          NaN
rating      -0.0261145582 0.0342764750 -0.7618799 4.503890e-01
mktcap       0.0088460347 0.0101037676  0.8755184 3.862716e-01
mtb          0.0001755019 0.0006371884  0.2754317 7.843352e-01
leverage     0.0043941648 0.0268082672  0.1639108 8.705876e-01
roe          0.0010031743 0.0059978254  0.1672563 8.679711e-01
Report       0.0217831081 0.0052629695  4.1389387 1.641677e-04
io_perc      0.0330713075 0.0323521994  1.0222275 3.125254e-01
analyst_log -0.0094197727 0.0122502448 -0.7689457 4.462283e-01
return       0.0021797954 0.0090228220  0.2415869 8.102759e-01
treat:post  -0.0431124736 0.0087862440 -4.9068150 1.439873e-05

R-squared: 0.6687376 
Adjusted R-squared: 0.5493365 
Number of Observations: 2828 

[2025-04-05 23:22:48] Executing command: did16 <- felm(disagree_match_sustan ~ treat + post + treat:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:48] Executing command: regsummary(did16)
[2025-04-05 23:22:48] Output:
Coefficients:
                 Estimate Cluster s.e.    t value   Pr(>|t|)
treat                 NaN 0.0000000000        NaN        NaN
post                  NaN 0.0000000000        NaN        NaN
rating      -0.1288084696 0.0592738626 -2.1731074 0.03546212
mktcap       0.0264630852 0.0117319292  2.2556465 0.02936131
mtb          0.0004689752 0.0009599978  0.4885170 0.62772480
leverage     0.0473910912 0.0693827040  0.6830390 0.49833288
roe         -0.0061912712 0.0066042323 -0.9374702 0.35387657
Report       0.0047920398 0.0118677250  0.4037876 0.68841756
io_perc     -0.1562708483 0.1184197838 -1.3196346 0.19410542
analyst_log  0.0225459847 0.0263852529  0.8544919 0.39768041
return      -0.0108850921 0.0085189770 -1.2777464 0.20835636
treat:post  -0.0104394810 0.0158553899 -0.6584184 0.51386259

R-squared: 0.7008821 
Adjusted R-squared: 0.5931996 
Number of Observations: 2823 

[2025-04-05 23:22:48] Executing command: disagree_sample$disclscore <- ifelse(is.na(disagree_sample$ESG_dis_score),      0, disagree_sample$ESG_dis_score)

[2025-04-05 23:22:48] Executing command: disagree_sample$disclscore <- log(1 + disagree_sample$disclscore)

[2025-04-05 23:22:48] Executing command: disagreesample_balanced$disclscore <- ifelse(is.na(disagreesample_balanced$ESG_dis_score),      0, disagreesample_balanced$ESG_dis_score)

[2025-04-05 23:22:48] Executing command: disagreesample_balanced$disclscore <- log(1 + disagreesample_balanced$disclscore)

[2025-04-05 23:22:49] Executing command: did11 <- felm(disagree ~ treat + post + analyst_log + treat:post +      treat:post:disclscore + post:disclscore + treat:disclscore +      rating + mktcap + mtb + leverage + roe + disclscore + io_perc +      return | 0 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did11)
[2025-04-05 23:22:49] Output:
Coefficients:
                           Estimate Cluster s.e.     t value     Pr(>|t|)
(Intercept)            0.2123921818  0.070568283  3.00973999 2.637937e-03
treat                 -0.0440708004  0.033816628 -1.30322870 1.926034e-01
post                  -0.0222325472  0.024918044 -0.89222683 3.723477e-01
analyst_log           -0.0255383965  0.009086994 -2.81043406 4.981713e-03
rating                -0.3161148633  0.033195150 -9.52292312 3.499470e-21
mktcap                 0.0220076328  0.009240327  2.38169410 1.729936e-02
mtb                   -0.0003374044  0.000829566 -0.40672402 6.842417e-01
leverage               0.0580890528  0.017378527  3.34257638 8.409070e-04
roe                   -0.0051894253  0.005839628 -0.88865681 3.742636e-01
disclscore            -0.0019368258  0.007000466 -0.27667098 7.820531e-01
io_perc                0.0014291181  0.017383424  0.08221154 9.344843e-01
return                -0.0071675892  0.007308547 -0.98071328 3.268185e-01
treat:post             0.0538096333  0.034368186  1.56568152 1.175357e-01
post:disclscore        0.0122833682  0.009115722  1.34749257 1.779302e-01
treat:disclscore       0.0248488615  0.011843513  2.09809888 3.598543e-02
treat:post:disclscore -0.0369518357  0.013306768 -2.77692049 5.524027e-03

R-squared: 0.3370773 
Adjusted R-squared: 0.333541 
Number of Observations: 2828 

[2025-04-05 23:22:49] Executing command: did12 <- felm(disagree ~ treat + post + analyst_log + treat:post +      treat:post:disclscore + post:disclscore + treat:disclscore +      rating + mktcap + mtb + leverage + roe + disclscore + io_perc +      return | gvkey + year | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did12)
[2025-04-05 23:22:49] Output:
Coefficients:
                          Estimate Cluster s.e.    t value     Pr(>|t|)
treat                          NaN 0.0000000000        NaN          NaN
post                           NaN 0.0000000000        NaN          NaN
analyst_log            0.005191159 0.0122985548  0.4220950 6.751086e-01
rating                -0.284037103 0.0422549044 -6.7219914 3.636138e-08
mktcap                 0.011082985 0.0080436822  1.3778496 1.755472e-01
mtb                   -0.000214503 0.0007132235 -0.3007515 7.650878e-01
leverage               0.007540466 0.0297293620  0.2536370 8.010135e-01
roe                   -0.003808016 0.0053251886 -0.7150950 4.785068e-01
disclscore             0.002261336 0.0051178250  0.4418548 6.608610e-01
io_perc                0.004147161 0.0278102315  0.1491236 8.821699e-01
return                -0.007238554 0.0075273769 -0.9616304 3.417392e-01
treat:post             0.048835073 0.0290499106  1.6810748 1.001715e-01
post:disclscore        0.010229585 0.0083971968  1.2182143 2.299418e-01
treat:disclscore       0.019105557 0.0085753948  2.2279507 3.129540e-02
treat:post:disclscore -0.037607691 0.0110782827 -3.3947221 1.510801e-03

R-squared: 0.7130944 
Adjusted R-squared: 0.6447297 
Number of Observations: 2828 

[2025-04-05 23:22:49] Executing command: did13 <- felm(disagree ~ treat + post + analyst_log + treat:post +      treat:post:disclscore + post:disclscore + treat:disclscore +      rating + mktcap + mtb + leverage + roe + disclscore + io_perc +      return | gvkey + indyear_48 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did13)
[2025-04-05 23:22:49] Output:
Coefficients:
                           Estimate Cluster s.e.    t value     Pr(>|t|)
treat                           NaN 0.0000000000        NaN          NaN
post                            NaN 0.0000000000        NaN          NaN
analyst_log            0.0079814731 0.0100955361  0.7905943 4.336224e-01
rating                -0.3220777643 0.0422697966 -7.6195721 1.914268e-09
mktcap                 0.0112444128 0.0104507214  1.0759461 2.880933e-01
mtb                   -0.0001442090 0.0006811833 -0.2117036 8.333622e-01
leverage               0.0216633973 0.0307867101  0.7036607 4.855271e-01
roe                   -0.0041899416 0.0051666414 -0.8109604 4.219603e-01
disclscore            -0.0007463665 0.0048001776 -0.1554873 8.771821e-01
io_perc               -0.0148936213 0.0337457956 -0.4413475 6.612253e-01
return                -0.0046834098 0.0067260593 -0.6963081 4.900716e-01
treat:post             0.0505675789 0.0305732920  1.6539789 1.055878e-01
post:disclscore        0.0102015822 0.0081315524  1.2545676 2.165727e-01
treat:disclscore       0.0244573096 0.0077918287  3.1388407 3.099789e-03
treat:post:disclscore -0.0375516108 0.0115408411 -3.2538019 2.251703e-03

R-squared: 0.7524681 
Adjusted R-squared: 0.6627601 
Number of Observations: 2828 

[2025-04-05 23:22:49] Executing command: did14 <- felm(disagree ~ treat + post + analyst_log + treat:post +      treat:post:disclscore + post:disclscore + treat:disclscore +      rating + mktcap + mtb + leverage + roe + disclscore + io_perc +      return | 0 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:49] Executing command: regsummary(did14)
[2025-04-05 23:22:49] Output:
Coefficients:
                          Estimate Cluster s.e.    t value     Pr(>|t|)
(Intercept)            0.275610765  0.112478960  2.4503317 1.433311e-02
treat                  0.014948313  0.044709386  0.3343439 7.381450e-01
post                  -0.032030418  0.049785408 -0.6433696 5.200369e-01
analyst_log           -0.020360571  0.014273768 -1.4264328 1.538547e-01
rating                -0.335895912  0.036556191 -9.1884822 7.534428e-20
mktcap                 0.019185209  0.010001537  1.9182261 5.518369e-02
mtb                   -0.002126693  0.001836033 -1.1583090 2.468365e-01
leverage               0.026872716  0.026990716  0.9956281 3.195167e-01
roe                   -0.018307378  0.012238031 -1.4959415 1.347813e-01
disclscore             0.017671824  0.015446586  1.1440601 2.526962e-01
io_perc               -0.095776877  0.042332730 -2.2624781 2.374401e-02
return                -0.029184028  0.021110146 -1.3824645 1.669391e-01
treat:post             0.063426258  0.052707277  1.2033681 2.289354e-01
post:disclscore        0.013142778  0.015124576  0.8689683 3.849387e-01
treat:disclscore       0.002033119  0.014553551  0.1396992 8.889077e-01
treat:post:disclscore -0.037277739  0.016152870 -2.3078090 2.108215e-02

R-squared: 0.408278 
Adjusted R-squared: 0.4051159 
Number of Observations: 2823 

[2025-04-05 23:22:49] Executing command: did15 <- felm(disagree ~ treat + post + analyst_log + treat:post +      treat:post:disclscore + post:disclscore + treat:disclscore +      rating + mktcap + mtb + leverage + roe + disclscore + io_perc +      return | gvkey + year | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:49] Executing command: regsummary(did15)
[2025-04-05 23:22:49] Output:
Coefficients:
                           Estimate Cluster s.e.     t value     Pr(>|t|)
treat                           NaN 0.0000000000         NaN          NaN
post                            NaN 0.0000000000         NaN          NaN
analyst_log            0.0030640207 0.0244700982  0.12521489 0.9009508665
rating                -0.4023039620 0.1059876546 -3.79576247 0.0004666474
mktcap                 0.0409577402 0.0179080081  2.28711869 0.0272934029
mtb                    0.0006619939 0.0007024402  0.94242028 0.3513670819
leverage               0.0895762787 0.0701126502  1.27760509 0.2084057257
roe                   -0.0002129681 0.0068424393 -0.03112458 0.9753176223
disclscore            -0.0183902739 0.0048108208 -3.82268947 0.0004304413
io_perc                0.0115822287 0.0522622023  0.22161769 0.8256855327
return                -0.0364619306 0.0192356010 -1.89554413 0.0649157483
treat:post             0.0133762502 0.0299268803  0.44696440 0.6571972286
post:disclscore       -0.0042586165 0.0110043994 -0.38699218 0.7007159969
treat:disclscore       0.0332787526 0.0127880040  2.60234142 0.0127373032
treat:post:disclscore -0.0237630418 0.0118830117 -1.99974910 0.0520226019

R-squared: 0.7543259 
Adjusted R-squared: 0.6959245 
Number of Observations: 2823 

[2025-04-05 23:22:49] Executing command: did16 <- felm(disagree ~ treat + post + analyst_log + treat:post +      treat:post:disclscore + post:disclscore + treat:disclscore +      rating + mktcap + mtb + leverage + roe + disclscore + io_perc +      return | gvkey + indyear_48 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:49] Executing command: regsummary(did16)
[2025-04-05 23:22:49] Output:
Coefficients:
                           Estimate Cluster s.e.    t value     Pr(>|t|)
treat                           NaN 0.0000000000        NaN          NaN
post                            NaN 0.0000000000        NaN          NaN
analyst_log            0.0055292091 0.0202134243  0.2735414 7.857778e-01
rating                -0.3406163939 0.0734542626 -4.6371222 3.426720e-05
mktcap                 0.0264544625 0.0171740409  1.5403750 1.309702e-01
mtb                    0.0005221539 0.0007142142  0.7310887 4.687843e-01
leverage               0.0151305854 0.0509662360  0.2968747 7.680255e-01
roe                    0.0033532284 0.0058909141  0.5692204 5.722384e-01
disclscore            -0.0291934556 0.0044832131 -6.5117260 7.289140e-08
io_perc               -0.0689539812 0.0677541119 -1.0177092 3.146431e-01
return                -0.0203039515 0.0135257803 -1.5011298 1.408032e-01
treat:post             0.0131807518 0.0371213320  0.3550722 7.243125e-01
post:disclscore        0.0082867987 0.0092907843  0.8919375 3.775082e-01
treat:disclscore       0.0438046399 0.0124903467  3.5070796 1.093186e-03
treat:post:disclscore -0.0311732317 0.0120310626 -2.5910622 1.310157e-02

R-squared: 0.8208588 
Adjusted R-squared: 0.7560153 
Number of Observations: 2823 

[2025-04-05 23:22:49] Executing command: did11 <- felm(newscount_lead2 ~ treat_kld + post + kldcon_adj +      treat_kld:post:kldcon_adj + post:kldcon_adj + treat_kld:post +      treat_kld:kldcon_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + year |      0 | ffi_48, data = news_sample[news_sample$preexist > 0 &      news_sample$postexist > 0 & news_sample$year >= 2007 & news_sample$year <=      2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did11)
[2025-04-05 23:22:49] Output:
Coefficients:
                              Estimate Cluster s.e.     t value     Pr(>|t|)
treat_kld                          NaN  0.000000000         NaN          NaN
post                               NaN  0.000000000         NaN          NaN
kldcon_adj                -0.271664481  0.212604268 -1.27779411 0.2081775064
rating                     0.401535864  0.628118243  0.63926795 0.5260397117
mktcap                     0.102205058  0.043525458  2.34816732 0.0235348776
mtb                       -0.005190310  0.003785496 -1.37110435 0.1774562682
leverage                  -0.004062529  0.137554388 -0.02953398 0.9765753693
roe                       -0.032837820  0.036525142 -0.89904703 0.3736347456
Report                     0.233810812  0.113148858  2.06640010 0.0448471380
io_perc                    0.044010983  0.089783416  0.49019056 0.6264910099
analyst_log               -0.009747406  0.029886332 -0.32614929 0.7458934679
return                    -0.103764663  0.042874291 -2.42020708 0.0198101166
post:kldcon_adj            0.297025155  0.162287524  1.83024023 0.0741511077
treat_kld:post             0.429452290  0.181409748  2.36730548 0.0224884034
treat_kld:kldcon_adj      -1.321309021  0.317264952 -4.16468637 0.0001471902
treat_kld:post:kldcon_adj  0.948959612  0.299673846  3.16664141 0.0028345995

R-squared: 0.8127369 
Adjusted R-squared: 0.769313 
Number of Observations: 10424 

[2025-04-05 23:22:49] Executing command: did12 <- felm(newscount_lead2 ~ treat_kld + post + kldcon_adj +      treat_kld:post:kldcon_adj + post:kldcon_adj + treat_kld:post +      treat_kld:kldcon_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + indyear_48 |      0 | ffi_48, data = news_sample[news_sample$preexist > 0 &      news_sample$postexist > 0 & news_sample$year >= 2007 & news_sample$year <=      2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did12)
[2025-04-05 23:22:49] Output:
Coefficients:
                              Estimate Cluster s.e.    t value     Pr(>|t|)
treat_kld                          NaN  0.000000000        NaN          NaN
post                               NaN  0.000000000        NaN          NaN
kldcon_adj                -0.195418339  0.206294499 -0.9472785 0.3487902486
rating                     0.287183986  0.591482460  0.4855325 0.6297634898
mktcap                     0.084611802  0.039621952  2.1354779 0.0384587875
mtb                       -0.004729104  0.003455408 -1.3686095 0.1782295750
leverage                   0.051956858  0.153037802  0.3395034 0.7358831861
roe                       -0.033521133  0.038216410 -0.8771397 0.3852851531
Report                     0.222671104  0.112356426  1.9818279 0.0539139070
io_perc                    0.082055705  0.100689421  0.8149387 0.4195982626
analyst_log               -0.019793715  0.035066069 -0.5644692 0.5753677309
return                    -0.086278406  0.036810395 -2.3438598 0.0237763603
post:kldcon_adj            0.230865243  0.160206854  1.4410447 0.1568149491
treat_kld:post             0.426658382  0.180986652  2.3574025 0.0230245566
treat_kld:kldcon_adj      -1.320174801  0.314705827 -4.1949487 0.0001339238
treat_kld:post:kldcon_adj  0.970232229  0.306372694  3.1668365 0.0028330621

R-squared: 0.8215774 
Adjusted R-squared: 0.7744726 
Number of Observations: 10424 

[2025-04-05 23:22:49] Executing command: did13 <- felm(newscount_lead2 ~ treat_kld + post + kldcon_adj +      treat_kld:post:kldcon_adj + post:kldcon_adj + treat_kld:post +      treat_kld:kldcon_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + year |      0 | ffi_48, data = kldnewssample_balanced[kldnewssample_balanced$year >=      2007 & kldnewssample_balanced$year <= 2012, ], weights = kldnewssample_balanced[kldnewssample_balanced$year >=      2007 & kldnewssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:49] Executing command: regsummary(did13)
[2025-04-05 23:22:49] Output:
Coefficients:
                             Estimate Cluster s.e.     t value    Pr(>|t|)
treat_kld                         NaN  0.000000000         NaN         NaN
post                              NaN  0.000000000         NaN         NaN
kldcon_adj                 0.21418757  0.431106653  0.49683196 0.621838255
rating                    -1.18492729  0.856646320 -1.38321646 0.173738745
mktcap                    -0.10253100  0.114314920 -0.89691708 0.374757465
mtb                       -0.01123960  0.009155217 -1.22767127 0.226248770
leverage                  -0.02835087  0.599896997 -0.04725956 0.962525175
roe                        0.06803390  0.111125991  0.61222315 0.543614174
Report                     0.10254406  0.185821738  0.55184103 0.583914073
io_perc                    0.81727582  0.325541620  2.51051102 0.015896853
analyst_log               -0.13105772  0.190036343 -0.68964555 0.494122312
return                    -0.13723423  0.139692711 -0.98240080 0.331397890
post:kldcon_adj            0.19195809  0.270311777  0.71013589 0.481453573
treat_kld:post            -0.33612788  0.245117748 -1.37129147 0.177398376
treat_kld:kldcon_adj      -1.41412250  0.485505217 -2.91268239 0.005662576
treat_kld:post:kldcon_adj  1.16186120  0.378462445  3.06995110 0.003701597

R-squared: 0.7938368 
Adjusted R-squared: 0.7471188 
Number of Observations: 10134 

[2025-04-05 23:22:49] Executing command: did14 <- felm(newscount_lead2 ~ treat_kld + post + kldcon_adj +      treat_kld:post:kldcon_adj + post:kldcon_adj + treat_kld:post +      treat_kld:kldcon_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + indyear_48 |      0 | ffi_48, data = kldnewssample_balanced[kldnewssample_balanced$year >=      2007 & kldnewssample_balanced$year <= 2012, ], weights = kldnewssample_balanced[kldnewssample_balanced$year >=      2007 & kldnewssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:49] Executing command: regsummary(did14)
[2025-04-05 23:22:49] Output:
Coefficients:
                             Estimate Cluster s.e.    t value   Pr(>|t|)
treat_kld                         NaN   0.00000000        NaN        NaN
post                              NaN   0.00000000        NaN        NaN
kldcon_adj                 0.13652849   0.46152756  0.2958187 0.76879244
rating                    -0.66989001   0.87870690 -0.7623589 0.45000764
mktcap                    -0.19140011   0.14913510 -1.2834008 0.20622536
mtb                       -0.01022368   0.01071474 -0.9541697 0.34533121
leverage                   0.49100036   0.62217039  0.7891735 0.43434059
roe                        0.09015528   0.11959626  0.7538303 0.45505938
Report                     0.20214819   0.18466056  1.0947015 0.27974158
io_perc                    0.82043791   0.37541758  2.1854009 0.03435414
analyst_log               -0.19841200   0.21889109 -0.9064416 0.36975373
return                    -0.06143360   0.12038240 -0.5103204 0.61243681
post:kldcon_adj            0.27634132   0.34133571  0.8095881 0.42263449
treat_kld:post            -0.23230519   0.29699774 -0.7821783 0.43839593
treat_kld:kldcon_adj      -1.20597931   0.57899842 -2.0828715 0.04324503
treat_kld:post:kldcon_adj  1.06399203   0.48530587  2.1924154 0.03380959

R-squared: 0.8229552 
Adjusted R-squared: 0.7770327 
Number of Observations: 10134 

[2025-04-05 23:22:49] Executing command: did21 <- felm(newscount_lead2 ~ treat_as4 + post + as4con_adj +      treat_as4:post:as4con_adj + treat_as4:post + post:as4con_adj +      treat_as4:as4con_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + year |      0 | ffi_48, data = news_sample[news_sample$preexist > 0 &      news_sample$postexist > 0 & news_sample$year >= 2007 & news_sample$year <=      2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did21)
[2025-04-05 23:22:49] Output:
Coefficients:
                              Estimate Cluster s.e.    t value     Pr(>|t|)
treat_as4                          NaN   0.00000000        NaN          NaN
post                               NaN   0.00000000        NaN          NaN
as4con_adj                -0.316952162   0.64826190 -0.4889261 0.6274375410
rating                     1.521553846   1.04951389  1.4497701 0.1545494369
mktcap                     0.293707683   0.10097921  2.9085956 0.0057800863
mtb                       -0.007798308   0.01304646 -0.5977335 0.5532272258
leverage                  -0.084785623   0.42962984 -0.1973457 0.8445089563
roe                       -0.035638631   0.08866320 -0.4019551 0.6897552913
Report                     0.172747193   0.11710988  1.4750865 0.1476468757
io_perc                    0.456644551   0.53709959  0.8502046 0.4000322376
analyst_log               -0.086215817   0.16259813 -0.5302387 0.5987388252
return                    -0.300605581   0.13772617 -2.1826323 0.0347050260
treat_as4:post            11.626220850   3.19275456  3.6414390 0.0007380973
post:as4con_adj            1.931723375   0.68569148  2.8171903 0.0073525945
treat_as4:as4con_adj      -2.920225226   0.93488611 -3.1236160 0.0032324897
treat_as4:post:as4con_adj  3.936491523   1.13691296  3.4624388 0.0012438304

R-squared: 0.8226393 
Adjusted R-squared: 0.7776709 
Number of Observations: 3363 

[2025-04-05 23:22:49] Executing command: did22 <- felm(newscount_lead2 ~ treat_as4 + post + as4con_adj +      treat_as4:post:as4con_adj + treat_as4:post + post:as4con_adj +      treat_as4:as4con_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + indyear_48 |      0 | ffi_48, data = news_sample[news_sample$preexist > 0 &      news_sample$postexist > 0 & news_sample$year >= 2007 & news_sample$year <=      2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did22)
[2025-04-05 23:22:49] Output:
Coefficients:
                              Estimate Cluster s.e.     t value    Pr(>|t|)
treat_as4                          NaN   0.00000000         NaN         NaN
post                               NaN   0.00000000         NaN         NaN
as4con_adj                -0.677333564   0.63567907 -1.06552756 0.292724561
rating                     1.821383701   1.05898052  1.71994070 0.092805066
mktcap                     0.185461875   0.07179756  2.58312220 0.013363689
mtb                       -0.000376465   0.01321700 -0.02848339 0.977411532
leverage                  -0.319918516   0.40336795 -0.79311833 0.432166684
roe                       -0.044698811   0.09341768 -0.47848341 0.634787663
Report                     0.222360871   0.12457565  1.78494653 0.081493673
io_perc                    0.944036698   0.59344829  1.59076487 0.119162395
analyst_log               -0.084957165   0.15220855 -0.55816290 0.579696626
return                    -0.234355422   0.10898823 -2.15028195 0.037336109
treat_as4:post             8.557175537   2.61260326  3.27534443 0.002119518
post:as4con_adj            2.333346077   0.67015601  3.48179537 0.001176219
treat_as4:as4con_adj      -2.057769855   0.87658431 -2.34748653 0.023687910
treat_as4:post:as4con_adj  2.872261215   0.93275666  3.07932534 0.003649664

R-squared: 0.8484857 
Adjusted R-squared: 0.794019 
Number of Observations: 3363 

[2025-04-05 23:22:49] Executing command: did23 <- felm(newscount_lead2 ~ treat_as4 + post + as4con_adj +      treat_as4:post:as4con_adj + treat_as4:post + post:as4con_adj +      treat_as4:as4con_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + year |      0 | ffi_48, data = as4newssample_balanced[as4newssample_balanced$year >=      2007 & as4newssample_balanced$year <= 2012, ], weights = as4newssample_balanced[as4newssample_balanced$year >=      2007 & as4newssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:49] Executing command: regsummary(did23)
[2025-04-05 23:22:49] Output:
Coefficients:
                              Estimate Cluster s.e.    t value    Pr(>|t|)
treat_as4                          NaN   0.00000000        NaN         NaN
post                               NaN   0.00000000        NaN         NaN
as4con_adj                 2.521744675   2.67043170  0.9443210 0.350406612
rating                     2.129888422   0.85310626  2.4966274 0.016546439
mktcap                    -0.173086070   0.20110335 -0.8606822 0.394299944
mtb                        0.002927137   0.01335715  0.2191439 0.827599498
leverage                   0.244306290   0.83343717  0.2931310 0.770865501
roe                        0.201815960   0.20147679  1.0016834 0.322232897
Report                    -0.156354380   0.23202795 -0.6738601 0.504092169
io_perc                   -0.193739457   1.23358139 -0.1570545 0.875954509
analyst_log               -0.050914064   0.33644094 -0.1513314 0.880438885
return                    -0.361516822   0.24686641 -1.4644229 0.150523985
treat_as4:post            20.245085428   6.39302589  3.1667454 0.002869820
post:as4con_adj           -1.272858146   2.21949943 -0.5734888 0.569372044
treat_as4:as4con_adj      -5.721201961   2.90259953 -1.9710614 0.055329883
treat_as4:post:as4con_adj  7.140081202   2.31628990  3.0825508 0.003617649

R-squared: 0.7980357 
Adjusted R-squared: 0.7501081 
Number of Observations: 3218 

[2025-04-05 23:22:49] Executing command: did24 <- felm(newscount_lead2 ~ treat_as4 + post + as4con_adj +      treat_as4:post:as4con_adj + treat_as4:post + post:as4con_adj +      treat_as4:as4con_adj + rating + mktcap + mtb + leverage +      roe + Report + io_perc + analyst_log + return | gvkey + indyear_48 |      0 | ffi_48, data = as4newssample_balanced[as4newssample_balanced$year >=      2007 & as4newssample_balanced$year <= 2012, ], weights = as4newssample_balanced[as4newssample_balanced$year >=      2007 & as4newssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:49] Executing command: regsummary(did24)
[2025-04-05 23:22:49] Output:
Coefficients:
                             Estimate Cluster s.e.    t value   Pr(>|t|)
treat_as4                         NaN   0.00000000        NaN        NaN
post                              NaN   0.00000000        NaN        NaN
as4con_adj                 1.27146715   4.06579921  0.3127226 0.75603900
rating                     2.65863369   1.02270414  2.5996117 0.01282460
mktcap                     0.05411498   0.14537434  0.3722458 0.71158163
mtb                        0.01180867   0.01777436  0.6643653 0.51008780
leverage                   0.44657669   0.76725318  0.5820461 0.56364715
roe                        0.08830089   0.15869539  0.5564175 0.58087821
Report                     0.10622471   0.15327332  0.6930411 0.49209853
io_perc                    0.22308467   1.19989498  0.1859202 0.85340241
analyst_log               -0.02626591   0.22739625 -0.1155072 0.90859359
return                    -0.63647364   0.33595868 -1.8944998 0.06505770
treat_as4:post            16.59783674   6.67360344  2.4870877 0.01693677
post:as4con_adj           -0.65031444   2.53834707 -0.2561960 0.79905021
treat_as4:as4con_adj      -3.97706620   4.06594593 -0.9781405 0.33360562
treat_as4:post:as4con_adj  5.82169026   2.36176393  2.4649755 0.01787390

R-squared: 0.8438453 
Adjusted R-squared: 0.7898998 
Number of Observations: 3218 

[2025-04-05 23:22:49] Executing command: did11 <- felm(populated_output ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + year | 0 | ffi_48, data = metrics_sample[!is.na(metrics_sample$overall_score) &      metrics_sample$preexist > 0 & metrics_sample$postexist >      0 & metrics_sample$year >= 2007 & metrics_sample$year <=      2012, ])

[2025-04-05 23:22:49] Executing command: regsummary(did11)
[2025-04-05 23:22:49] Output:
Coefficients:
                  Estimate Cluster s.e.    t value     Pr(>|t|)
treat_as4              NaN   0.00000000        NaN          NaN
post                   NaN   0.00000000        NaN          NaN
rating         -4.40161175   0.55778038 -7.8912989 7.941411e-10
mktcap          0.34911379   0.11521346  3.0301477 4.172068e-03
mtb            -0.01826149   0.00895861 -2.0384290 4.783541e-02
leverage       -1.10443804   0.61076644 -1.8082821 7.772635e-02
roe             0.27357579   0.12469976  2.1938759 3.382975e-02
Report          0.80944178   0.16312719  4.9620285 1.204127e-05
io_perc        -0.52721319   0.75129258 -0.7017415 4.867110e-01
analyst_log    -0.15513790   0.18355824 -0.8451699 4.028051e-01
return         -0.52635827   0.15551690 -3.3845728 1.555249e-03
treat_as4:post  0.70057806   0.13590732  5.1548220 6.430854e-06

R-squared: 0.901556 
Adjusted R-squared: 0.87678 
Number of Observations: 3363 

[2025-04-05 23:22:50] Executing command: did12 <- felm(populated_output ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = metrics_sample[!is.na(metrics_sample$overall_score) &      metrics_sample$preexist > 0 & metrics_sample$postexist >      0 & metrics_sample$year >= 2007 & metrics_sample$year <=      2012, ])

[2025-04-05 23:22:50] Executing command: regsummary(did12)
[2025-04-05 23:22:50] Output:
Coefficients:
                  Estimate Cluster s.e.    t value     Pr(>|t|)
treat_as4              NaN  0.000000000        NaN          NaN
post                   NaN  0.000000000        NaN          NaN
rating         -4.40087312  0.616402391 -7.1396107 9.184958e-09
mktcap          0.28003608  0.145480080  1.9249102 6.103127e-02
mtb            -0.01658811  0.008814175 -1.8819812 6.678000e-02
leverage       -1.24546809  0.610654532 -2.0395625 4.771727e-02
roe             0.30856000  0.103656576  2.9767528 4.818417e-03
Report          0.72463830  0.168010892  4.3130436 9.552014e-05
io_perc        -0.19872376  0.718481008 -0.2765887 7.834525e-01
analyst_log    -0.21884665  0.173412674 -1.2619992 2.139125e-01
return         -0.36983213  0.173124854 -2.1362163 3.853392e-02
treat_as4:post  0.70833570  0.133442925  5.3081548 3.894131e-06

R-squared: 0.9137722 
Adjusted R-squared: 0.8829641 
Number of Observations: 3363 

[2025-04-05 23:22:50] Executing command: did13 <- felm(populated_output ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + year | 0 | ffi_48, data = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ], weights = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ]$weights)

[2025-04-05 23:22:50] Executing command: regsummary(did13)
[2025-04-05 23:22:50] Output:
Coefficients:
                  Estimate Cluster s.e.    t value     Pr(>|t|)
treat_as4              NaN   0.00000000        NaN          NaN
post                   NaN   0.00000000        NaN          NaN
rating         -1.65571555   1.30724815 -1.2665656 2.122900e-01
mktcap          0.71981759   0.32420284  2.2202692 3.185151e-02
mtb            -0.01539766   0.01070318 -1.4386059 1.576730e-01
leverage       -1.70702668   1.58743610 -1.0753357 2.883632e-01
roe            -0.12668040   0.22912128 -0.5528967 5.832652e-01
Report          0.35130988   0.32031069  1.0967785 2.789871e-01
io_perc        -0.88907679   1.01680272 -0.8743847 3.868814e-01
analyst_log    -0.43215884   0.31410904 -1.3758243 1.761690e-01
return         -0.07668812   0.41173058 -0.1862580 8.531392e-01
treat_as4:post  2.03336346   0.35730156  5.6908888 1.104545e-06

R-squared: 0.9124981 
Adjusted R-squared: 0.8918996 
Number of Observations: 3218 

[2025-04-05 23:22:50] Executing command: did14 <- felm(populated_output ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ], weights = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ]$weights)

[2025-04-05 23:22:50] Executing command: regsummary(did14)
[2025-04-05 23:22:50] Output:
Coefficients:
                   Estimate Cluster s.e.    t value     Pr(>|t|)
treat_as4               NaN   0.00000000        NaN          NaN
post                    NaN   0.00000000        NaN          NaN
rating         -2.888599203   1.09653774 -2.6342907 0.0117553107
mktcap          0.545505243   0.34696376  1.5722254 0.1234021895
mtb            -0.008096219   0.01362212 -0.5943435 0.5554706175
leverage       -1.373339580   1.19263178 -1.1515202 0.2560314503
roe             0.236707870   0.17169955  1.3786167 0.1753121342
Report          0.362031561   0.31082559  1.1647418 0.2506966775
io_perc         0.273590116   0.91888540  0.2977413 0.7673685006
analyst_log    -1.233785308   0.36589151 -3.3719976 0.0016120521
return          0.222378315   0.50190837  0.4430656 0.6599921320
treat_as4:post  1.709648547   0.43138300  3.9631802 0.0002814577

R-squared: 0.9306964 
Adjusted R-squared: 0.9069104 
Number of Observations: 3218 

[2025-04-05 23:22:50] Executing command: did21 <- felm(populate_input ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + year | 0 | ffi_48, data = metrics_sample[!is.na(metrics_sample$overall_score) &      metrics_sample$preexist > 0 & metrics_sample$postexist >      0 & metrics_sample$year >= 2007 & metrics_sample$year <=      2012, ])

[2025-04-05 23:22:50] Executing command: regsummary(did21)
[2025-04-05 23:22:50] Output:
Coefficients:
                    Estimate Cluster s.e.      t value     Pr(>|t|)
treat_as4                NaN  0.000000000          NaN          NaN
post                     NaN  0.000000000          NaN          NaN
rating         -1.5193290293  0.349851682 -4.342780404 8.702133e-05
mktcap          0.1129249702  0.128157866  0.881139594 3.832570e-01
mtb            -0.0034648716  0.004495398 -0.770759706 4.451638e-01
leverage       -0.0112820556  0.214827477 -0.052516818 9.583659e-01
roe             0.0424581491  0.044421541  0.955800897 3.446422e-01
Report         -0.0234992371  0.059397472 -0.395626893 6.943828e-01
io_perc        -0.5396963478  0.315880986 -1.708543317 9.491709e-02
analyst_log     0.0131884017  0.089872465  0.146745744 8.840348e-01
return          0.0008797891  0.180096036  0.004885111 9.961254e-01
treat_as4:post -0.0268893976  0.067756210 -0.396855098 6.934838e-01

R-squared: 0.9900863 
Adjusted R-squared: 0.9875912 
Number of Observations: 3363 

[2025-04-05 23:22:50] Executing command: did22 <- felm(populate_input ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = metrics_sample[!is.na(metrics_sample$overall_score) &      metrics_sample$preexist > 0 & metrics_sample$postexist >      0 & metrics_sample$year >= 2007 & metrics_sample$year <=      2012, ])

[2025-04-05 23:22:50] Executing command: regsummary(did22)
[2025-04-05 23:22:50] Output:
Coefficients:
                   Estimate Cluster s.e.    t value    Pr(>|t|)
treat_as4               NaN  0.000000000        NaN         NaN
post                    NaN  0.000000000        NaN         NaN
rating         -1.547138044  0.390012980 -3.9668886 0.000278298
mktcap          0.065938578  0.073525390  0.8968137 0.374930238
mtb            -0.007138504  0.004917351 -1.4516971 0.154015258
leverage       -0.063392767  0.204323515 -0.3102568 0.757900032
roe             0.044148041  0.050658355  0.8714859 0.388443444
Report         -0.022398370  0.066941049 -0.3345984 0.739593291
io_perc        -0.906930582  0.376521674 -2.4087075 0.020474391
analyst_log    -0.052068477  0.076317013 -0.6822657 0.498816703
return          0.105045209  0.114755025  0.9153866 0.365214679
treat_as4:post -0.028456928  0.076767630 -0.3706892 0.712732184

R-squared: 0.9915999 
Adjusted R-squared: 0.9885986 
Number of Observations: 3363 

[2025-04-05 23:22:50] Executing command: did23 <- felm(populate_input ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + year | 0 | ffi_48, data = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ], weights = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ]$weights)

[2025-04-05 23:22:50] Executing command: regsummary(did23)
[2025-04-05 23:22:50] Output:
Coefficients:
                    Estimate Cluster s.e.     t value  Pr(>|t|)
treat_as4                NaN   0.00000000         NaN       NaN
post                     NaN   0.00000000         NaN       NaN
rating         -3.4460816928   2.09305678 -1.64643488 0.1071379
mktcap          0.3083536863   0.25030441  1.23191473 0.2248336
mtb            -0.0008188633   0.01063589 -0.07699061 0.9389966
leverage        0.2056812403   0.44944729  0.45763151 0.6495759
roe             0.0279417383   0.10043964  0.27819434 0.7822282
Report         -0.0533858715   0.14035415 -0.38036546 0.7055911
io_perc        -0.1191054440   1.21130472 -0.09832823 0.9221395
analyst_log     0.8137822031   0.61734552  1.31819570 0.1945824
return         -0.3671848176   0.25370658 -1.44728139 0.1552415
treat_as4:post  0.0679912062   0.40302420  0.16870254 0.8668405

R-squared: 0.9968221 
Adjusted R-squared: 0.996074 
Number of Observations: 3218 

[2025-04-05 23:22:50] Executing command: did24 <- felm(populate_input ~ treat_as4 + post + treat_as4:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ], weights = as4metricssample_balanced[!is.na(as4metricssample_balanced$overall_score) &      as4metricssample_balanced$year >= 2007 & as4metricssample_balanced$year <=      2012, ]$weights)

[2025-04-05 23:22:50] Executing command: regsummary(did24)
[2025-04-05 23:22:50] Output:
Coefficients:
                   Estimate Cluster s.e.    t value    Pr(>|t|)
treat_as4               NaN  0.000000000        NaN         NaN
post                    NaN  0.000000000        NaN         NaN
rating         -2.333386756  1.460160700 -1.5980342 0.117532576
mktcap          0.433889828  0.143652440  3.0204139 0.004283472
mtb             0.002333037  0.009203329  0.2534992 0.801119282
leverage        0.325725119  0.311208861  1.0466447 0.301249740
roe             0.023355756  0.085866111  0.2720020 0.786953161
Report          0.080798014  0.177315306  0.4556742 0.650971520
io_perc        -0.544443763  0.850468780 -0.6401690 0.525539910
analyst_log     0.396803204  0.507665517  0.7816233 0.438820104
return         -0.331420558  0.107993130 -3.0689041 0.003754940
treat_as4:post  0.125605120  0.516585262  0.2431450 0.809076704

R-squared: 0.997883 
Adjusted R-squared: 0.9971564 
Number of Observations: 3218 

[2025-04-05 23:22:50] Executing command: treatment_stag <- historical_score_weighted %>% group_by(isin_filled) %>%      mutate(earliest = min(year, na.rm = T))

[2025-04-05 23:22:50] Executing command: treatment_stag <- subset(treatment_stag, year == earliest)

[2025-04-05 23:22:50] Executing command: treatment_stag <- treatment_stag %>% distinct(isin_filled, year)

[2025-04-05 23:22:50] Executing command: treatment_stag$treat_stag <- 1

[2025-04-05 23:22:50] Executing command: treatment_stag$treatyear <- treatment_stag$year + 1

[2025-04-05 23:22:50] Executing command: treatment_stag <- subset(treatment_stag, !is.na(isin_filled))

[2025-04-05 23:22:50] Executing command: treatment_stag <- treatment_stag %>% distinct(isin_filled, .keep_all = T)

[2025-04-05 23:22:50] Executing command: stagdid <- subset(initialsample, year >= 2007 & year <= 2017)

[2025-04-05 23:22:50] Executing command: stagdid <- subset(stagdid, !is.na(kld_net) | !is.na(overall_score))

[2025-04-05 23:22:50] Executing command: stagdid <- left_join(stagdid, treatment_stag[, c("isin_filled",      "treat_stag", "treatyear")], by = c(ISIN = "isin_filled"))

[2025-04-05 23:22:50] Executing command: stagdid$treat_stag <- ifelse(stagdid$gvkey %in% unique(stagdid[stagdid$treat_stag ==      1, ]$gvkey), 1, 0)

[2025-04-05 23:22:50] Executing command: stagdid$treat_stag <- ifelse(is.na(stagdid$treat_stag), 0, stagdid$treat_stag)

[2025-04-05 23:22:50] Executing command: stagdid$post <- ifelse(stagdid$year >= stagdid$treatyear, 1,      0)

[2025-04-05 23:22:50] Executing command: stagdid$post <- ifelse(is.na(stagdid$post), 0, stagdid$post)

[2025-04-05 23:22:50] Executing command: stagdid$treatpost_stag <- ifelse(stagdid$treat_stag == 1 & stagdid$year >=      stagdid$treatyear, 1, 0)

[2025-04-05 23:22:50] Executing command: stagdid$treatpost_stag <- ifelse(is.na(stagdid$treatpost_stag),      0, stagdid$treatpost_stag)

[2025-04-05 23:22:50] Executing command: stagdid <- left_join(stagdid, asset4_detail, by = c(year = "fisyear",      ISIN = "Isin"))

[2025-04-05 23:22:51] Executing command: stagdid <- stagdid %>% rename(populate_as4 = populated)

[2025-04-05 23:22:51] Executing command: stagdid <- left_join(stagdid, as4_output[, c("fisyear", "Isin",      "populated_output")], by = c(year = "fisyear", ISIN = "Isin"))

[2025-04-05 23:22:51] Executing command: stagdid$populate_input <- stagdid$populate_as4 - stagdid$populated_output

[2025-04-05 23:22:51] Executing command: stagdid <- left_join(stagdid, kld_simple[, c("year", "CUSIP",      "populated")], by = c("year", ncusip = "CUSIP"))

[2025-04-05 23:22:51] Executing command: stagdid <- stagdid %>% rename(populate_kld = populated)

[2025-04-05 23:22:51] Executing command: stagdid <- left_join(stagdid, KLD_output[, c("CUSIP", "year",      "populated_output_KLD")], by = c("year", ncusip = "CUSIP"))

[2025-04-05 23:22:51] Executing command: stagdid$populated_input_KLD <- stagdid$populate_kld - stagdid$populated_output_KLD

[2025-04-05 23:22:51] Executing command: stagdid$kld_scale <- (max(stagdid$kld_net, na.rm = T) - stagdid$kld_net)/(max(stagdid$kld_net,      na.rm = T) - min(stagdid$kld_net, na.rm = T))

[2025-04-05 23:22:51] Executing command: stagdid$overall_scale <- (max(stagdid$overall_score, na.rm = T) -      stagdid$overall_score)/(max(stagdid$overall_score, na.rm = T) -      min(stagdid$overall_score, na.rm = T))

[2025-04-05 23:22:51] Executing command: stagdid$rating <- ifelse(!is.na(stagdid$kld_scale) & !is.na(stagdid$overall_scale),      (stagdid$kld_scale + stagdid$overall_scale)/2, stagdid$kld_scale)

[2025-04-05 23:22:51] Executing command: stagdid$rating <- ifelse(is.na(stagdid$rating), stagdid$overall_scale,      stagdid$rating)

[2025-04-05 23:22:51] Executing command: stagdid <- left_join(stagdid, RRnews_novel, by = c(ISIN = "primary_isin",      "year"))

[2025-04-05 23:22:51] Executing command: stagdid$newscount <- ifelse(is.na(stagdid$newscount), 0, stagdid$newscount)

[2025-04-05 23:22:51] Executing command: stagdid$newscount_lead2 <- ifelse(is.na(stagdid$newscount_lead2),      0, stagdid$newscount_lead2)

[2025-04-05 23:22:51] Executing command: stagdid <- left_join(stagdid, kld_CC[, c("year", "CUSIP", "kld_con")],      by = c("year", ncusip = "CUSIP"))

[2025-04-05 23:22:51] Executing command: stagdid <- left_join(stagdid, asset4_con, by = c(year = "fisyear",      ISIN = "Isin"))

[2025-04-05 23:22:51] Executing command: stagdid$overall_con_sum2 <- (-1) * stagdid$overall_con_sum

[2025-04-05 23:22:51] Executing command: stagdid$kldcon_adj <- stagdid$kld_con * 100/stagdid$populate_kld

[2025-04-05 23:22:51] Executing command: stagdid$as4con_adj <- stagdid$overall_con_sum2 * 100/stagdid$populate_as4

[2025-04-05 23:22:51] Executing command: stagdid_disagree <- subset(stagdid, !is.na(kld_net) & !is.na(overall_score))

[2025-04-05 23:22:51] Executing command: stagdid_disagree$disagree <- rowSds(as.matrix(stagdid_disagree[,      c("kld_scale", "overall_scale")]))

[2025-04-05 23:22:51] Executing command: did11 <- felm(disagree ~ treatpost_stag + rating + mktcap + mtb +      leverage + roe + Report + io_perc + analyst_log + return |      gvkey + indyear_48 | 0 | ffi_48, data = stagdid_disagree[stagdid_disagree$year >=      2007 & stagdid_disagree$year <= 2017, ])

[2025-04-05 23:22:51] Executing command: regsummary(did11)
[2025-04-05 23:22:51] Output:
Coefficients:
                    Estimate Cluster s.e.     t value     Pr(>|t|)
treatpost_stag -0.0146050279 0.0056996053 -2.56246305 1.397810e-02
rating         -0.1608250375 0.0377892928 -4.25583612 1.106695e-04
mktcap          0.0015176949 0.0062283150  0.24367664 8.086401e-01
mtb             0.0001930711 0.0002412604  0.80026037 4.279593e-01
leverage       -0.0017005916 0.0196101295 -0.08672006 9.312966e-01
roe             0.0027559219 0.0027996568  0.98437848 3.304361e-01
Report          0.0256306162 0.0037875399  6.76708801 2.800254e-08
io_perc        -0.0140178825 0.0246315294 -0.56910321 5.722470e-01
analyst_log    -0.0089166063 0.0080725906 -1.10455327 2.754958e-01
return         -0.0022180924 0.0026760574 -0.82886577 4.117578e-01

R-squared: 0.6842466 
Adjusted R-squared: 0.5664768 
Number of Observations: 7989 

[2025-04-05 23:22:51] Executing command: did12 <- felm(populated_output_KLD ~ treatpost_stag + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = stagdid[stagdid$year >=      2010 & stagdid$year <= 2017, ])

[2025-04-05 23:22:51] Executing command: regsummary(did12)
[2025-04-05 23:22:51] Output:
Coefficients:
                   Estimate Cluster s.e.   t value     Pr(>|t|)
treatpost_stag  0.605416015  0.058113378 10.417842 2.455673e-13
rating         -1.392147225  0.235894177 -5.901575 5.083243e-07
mktcap          0.331994552  0.029905508 11.101452 3.296075e-14
mtb            -0.007672918  0.002514446 -3.051535 3.892794e-03
leverage       -0.018787335  0.100182554 -0.187531 8.521264e-01
roe            -0.087631680  0.026071623 -3.361190 1.637283e-03
Report          0.151714526  0.050381286  3.011327 4.342952e-03
io_perc        -0.059208444  0.054102240 -1.094381 2.798806e-01
analyst_log     0.087735146  0.046733093  1.877367 6.726221e-02
return         -0.157026379  0.026659675 -5.890033 5.283377e-07

R-squared: 0.9007268 
Adjusted R-squared: 0.8980988 
Number of Observations: 13960 

[2025-04-05 23:22:51] Executing command: did13 <- felm(populated_output ~ treatpost_stag + rating + mktcap +      mtb + leverage + roe + Report + io_perc + analyst_log + return |      gvkey + indyear_48 | 0 | ffi_48, data = stagdid[stagdid$year >=      2007 & stagdid$year <= 2017 & !is.na(stagdid$overall_score),      ])

[2025-04-05 23:22:51] Executing command: regsummary(did13)
[2025-04-05 23:22:51] Output:
Coefficients:
                  Estimate Cluster s.e.   t value     Pr(>|t|)
treatpost_stag  0.07888728  0.130170377  0.606031 5.476802e-01
rating         -5.58709776  0.715458537 -7.809115 8.849879e-10
mktcap          0.19008161  0.104849494  1.812900 7.683199e-02
mtb            -0.01085815  0.006163853 -1.761585 8.524854e-02
leverage        0.77976489  0.339140326  2.299240 2.641175e-02
roe             0.08744487  0.074736651  1.170040 2.484292e-01
Report          0.73330858  0.138538382  5.293180 3.855361e-06
io_perc        -0.94277084  0.531571510 -1.773554 8.321923e-02
analyst_log    -0.27005628  0.173000268 -1.561017 1.258504e-01
return         -0.06754415  0.066644255 -1.013503 3.164891e-01

R-squared: 0.8959836 
Adjusted R-squared: 0.8560337 
Number of Observations: 9039 

[2025-04-05 23:22:51] Executing command: did14 <- felm(newscount_lead2 ~ kldcon_adj + treatpost_stag +      kldcon_adj:treatpost_stag + kldcon_adj:treat_stag + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = stagdid[stagdid$year >=      2007 & stagdid$year <= 2017, ])

[2025-04-05 23:22:51] Executing command: regsummary(did14)
[2025-04-05 23:22:51] Output:
Coefficients:
                               Estimate Cluster s.e.     t value     Pr(>|t|)
kldcon_adj                 0.0515759185  0.030600108  1.68548160 0.0991405131
treatpost_stag             0.3292781288  0.103157359  3.19199843 0.0026412416
rating                     0.0871512214  0.342655037  0.25434099 0.8004445245
mktcap                     0.0439311876  0.040097190  1.09561760 0.2793448357
mtb                        0.0002172629  0.002808877  0.07734866 0.9387049829
leverage                   0.0840260341  0.124049156  0.67736079 0.5018053861
roe                       -0.0054379719  0.020010331 -0.27175822 0.7871084941
Report                     0.0904933174  0.059073151  1.53188574 0.1328754860
io_perc                    0.0723194164  0.097959083  0.73826147 0.4643659741
analyst_log                0.0417927158  0.041375372  1.01008677 0.3181040306
return                    -0.0184181713  0.017416382 -1.05751994 0.2961794057
kldcon_adj:treatpost_stag  0.6492557972  0.189983259  3.41743689 0.0013931088
kldcon_adj:treat_stag     -0.7058001088  0.174291219 -4.04954485 0.0002103894

R-squared: 0.848967 
Adjusted R-squared: 0.8111919 
Number of Observations: 19659 

[2025-04-05 23:22:51] Executing command: did15 <- felm(newscount_lead2 ~ as4con_adj + treatpost_stag +      as4con_adj:treatpost_stag + as4con_adj:treat_stag + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = stagdid[stagdid$year >=      2007 & stagdid$year <= 2017 & !is.na(stagdid$overall_score),      ])

[2025-04-05 23:22:51] Executing command: regsummary(did15)
[2025-04-05 23:22:51] Output:
Coefficients:
                              Estimate Cluster s.e.     t value     Pr(>|t|)
as4con_adj                -0.136900985   0.15785676 -0.86724814 3.906201e-01
treatpost_stag            11.120312525   1.86933996  5.94879088 4.340261e-07
rating                     1.407124234   0.60103007  2.34118776 2.392727e-02
mktcap                     0.294851090   0.09394980  3.13838967 3.065757e-03
mtb                        0.005039659   0.00644223  0.78228480 4.383340e-01
leverage                   0.047971162   0.30322364  0.15820390 8.750368e-01
roe                       -0.052553124   0.05551314 -0.94667905 3.490922e-01
Report                     0.043565374   0.06826714  0.63816026 5.267536e-01
io_perc                    0.018302178   0.46310700  0.03952041 9.686584e-01
analyst_log                0.119925731   0.08235519  1.45620128 1.526003e-01
return                    -0.160267589   0.04334190 -3.69775217 6.122302e-04
as4con_adj:treatpost_stag  3.905448983   0.66242712  5.89566589 5.184747e-07
as4con_adj:treat_stag     -2.280373283   0.73179097 -3.11615390 3.260085e-03

R-squared: 0.8565742 
Adjusted R-squared: 0.8013969 
Number of Observations: 9039 

[2025-04-05 23:22:51] Executing command: cohort_number <- 1

[2025-04-05 23:22:51] Executing command: for (i in 2007:2012) {     start_year <- i     end_year <- i + 5     cohort <- subset(stagdid, year >= start_year & year <= end_year)     cohort <- subset(cohort, treatyear == (start_year + 3) |          is.na(treatyear) | treatyear > end_year)     cohort$treatpost_cohort <- ifelse(cohort$treatyear == (start_year +          3) & cohort$year >= (start_year + 3), 1, 0)     cohort$treat <- ifelse(cohort$treatyear == (start_year +          3), 1, 0)     cohort$post <- ifelse(cohort$year >= (start_year + 3), 1,          0)     cohort$cohort <- cohort_number     dataset_name <- paste0("cohort", cohort_number)     assign(dataset_name, cohort)     cohort_number <- cohort_number + 1 }

[2025-04-05 23:22:52] Executing command: stackdid <- rbind(cohort1, cohort2, cohort3, cohort4, cohort5,      cohort6)

[2025-04-05 23:22:52] Executing command: stackdid$treatpost_cohort <- ifelse(is.na(stackdid$treatpost_cohort),      0, stackdid$treatpost_cohort)

[2025-04-05 23:22:52] Executing command: stackdid$treat <- ifelse(is.na(stackdid$treat), 0, stackdid$treat)

[2025-04-05 23:22:52] Executing command: stackdid$post <- ifelse(is.na(stackdid$post), 0, stackdid$post)

[2025-04-05 23:22:52] Executing command: stackdid$cohortfirm <- stackdid %>% group_by(cohort, gvkey) %>%      group_indices()

[2025-04-05 23:22:52] Executing command: stackdid$cohortind_48 <- stackdid %>% group_by(cohort, ffi_48) %>%      group_indices()

[2025-04-05 23:22:52] Executing command: stackdid$indyearcohort_48 <- stackdid %>% group_by(year, ffi_48,      cohort) %>% group_indices()

[2025-04-05 23:22:52] Executing command: stackdid_disagree <- subset(stackdid, !is.na(kld_net) & !is.na(overall_score))

[2025-04-05 23:22:52] Executing command: stackdid_disagree$disagree <- rowSds(as.matrix(stackdid_disagree[,      c("kld_scale", "overall_scale")]))

[2025-04-05 23:22:52] Executing command: did11 <- felm(disagree ~ treatpost_cohort + rating + mktcap +      mtb + leverage + roe + Report + io_perc + analyst_log + return |      cohortfirm + indyearcohort_48 | 0 | cohortind_48, data = stackdid_disagree)

[2025-04-05 23:22:53] Executing command: regsummary(did11)
[2025-04-05 23:22:53] Output:
Coefficients:
                      Estimate Cluster s.e.     t value     Pr(>|t|)
treatpost_cohort -0.0166901169 0.0087910241 -1.89854068 5.879996e-02
rating           -0.2369833445 0.0396111858 -5.98273794 7.733952e-09
mktcap            0.0082530055 0.0062966159  1.31070492 1.911848e-01
mtb              -0.0001338589 0.0002430649 -0.55071264 5.823325e-01
leverage          0.0351435643 0.0164161174  2.14079635 3.327784e-02
roe               0.0020486070 0.0025261536  0.81095899 4.181763e-01
Report            0.0175907155 0.0049731393  3.53714515 4.836585e-04
io_perc          -0.0002084349 0.0178732718 -0.01166182 9.907049e-01
analyst_log       0.0010620095 0.0069159023  0.15356052 8.780827e-01
return           -0.0027541225 0.0023190392 -1.18761361 2.361358e-01

R-squared: 0.8023152 
Adjusted R-squared: 0.5956025 
Number of Observations: 8288 

[2025-04-05 23:22:53] Executing command: did12 <- felm(populated_output_KLD ~ treatpost_cohort + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | cohortfirm + indyearcohort_48 | 0 | cohortind_48,      data = stackdid[stackdid$year >= 2010, ])

[2025-04-05 23:22:54] Executing command: regsummary(did12)
[2025-04-05 23:22:54] Output:
Coefficients:
                     Estimate Cluster s.e.    t value     Pr(>|t|)
treatpost_cohort  0.910147403  0.129851881   7.009120 2.014422e-11
rating           -2.324376167  0.167036977 -13.915339 2.324163e-33
mktcap            0.220067536  0.015153874  14.522196 1.727493e-35
mtb              -0.007005788  0.001538289  -4.554273 8.047917e-06
leverage         -0.076089902  0.057238095  -1.329358 1.848819e-01
roe              -0.073065364  0.014164778  -5.158243 4.911686e-07
Report            0.389955133  0.062738642   6.215549 1.995209e-09
io_perc          -0.173630612  0.026520466  -6.547042 3.061815e-10
analyst_log       0.111264193  0.023636804   4.707244 4.065097e-06
return           -0.082489685  0.011247117  -7.334296 2.762447e-12

R-squared: 0.9225703 
Adjusted R-squared: 0.9197245 
Number of Observations: 37180 

[2025-04-05 23:22:54] Executing command: did13 <- felm(populated_output ~ treatpost_cohort + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | cohortfirm + indyearcohort_48 | 0 | cohortind_48,      data = stackdid[!is.na(stackdid$overall_score), ])

[2025-04-05 23:22:54] Executing command: regsummary(did13)
[2025-04-05 23:22:54] Output:
Coefficients:
                     Estimate Cluster s.e.    t value     Pr(>|t|)
treatpost_cohort  0.685354584   0.15516772  4.4168632 1.494368e-05
rating           -4.031260650   0.61509474 -6.5538858 3.201326e-10
mktcap            0.138757582   0.11016782  1.2595110 2.090251e-01
mtb               0.002908604   0.00498037  0.5840136 5.597399e-01
leverage         -0.403082706   0.38266006 -1.0533702 2.931924e-01
roe               0.127478809   0.07118472  1.7908169 7.453730e-02
Report            0.711634812   0.12829268  5.5469635 7.413579e-08
io_perc          -0.874545774   0.45615270 -1.9172215 5.635407e-02
analyst_log       0.045272426   0.17386305  0.2603913 7.947772e-01
return           -0.190020431   0.06393221 -2.9722173 3.246268e-03

R-squared: 0.9409203 
Adjusted R-squared: 0.8838427 
Number of Observations: 9806 

[2025-04-05 23:22:54] Executing command: did14 <- felm(newscount_lead2 ~ kldcon_adj + treat + post + treat:post +      kldcon_adj:treat:post + kldcon_adj:treat + kldcon_adj:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | cohortfirm + indyearcohort_48 | 0 |      cohortind_48, data = stackdid)

[2025-04-05 23:22:54] Executing command: regsummary(did14)

[2025-04-05 23:22:54] Output:
Coefficients:
                          Estimate Cluster s.e.    t value     Pr(>|t|)
kldcon_adj            -0.041525701 0.0262430682 -1.5823493 0.1147716344
rating                 0.049991612 0.1974929878  0.2531311 0.8003646747
mktcap                 0.041626778 0.0156432872  2.6609994 0.0082700977
mtb                   -0.001211139 0.0008231794 -1.4712940 0.1424071080
leverage               0.007048788 0.0415287017  0.1697329 0.8653506557
roe                   -0.003721906 0.0104682330 -0.3555430 0.7224678631
Report                 0.118534105 0.0554941427  2.1359751 0.0336049867
io_perc                0.050420705 0.0381210320  1.3226480 0.1871014245
analyst_log           -0.008015299 0.0146090979 -0.5486512 0.5837103166
return                -0.014525321 0.0060053252 -2.4187401 0.0162537377
treat:post             0.240783404 0.1152340402  2.0895163 0.0376222252
kldcon_adj:treat      -0.665934403 0.1686942411 -3.9475823 0.0001013937
kldcon_adj:post        0.072163658 0.0203719263  3.5423090 0.0004691094
kldcon_adj:treat:post  0.656149245 0.1909918404  3.4354831 0.0006872067

R-squared: 0.8143873 
Adjusted R-squared: 0.7297179 
Number of Observations: 47351 

[2025-04-05 23:22:54] Executing command: did15 <- felm(newscount_lead2 ~ as4con_adj + treat + post + treat:post +      as4con_adj:treat:post + as4con_adj:treat + as4con_adj:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | cohortfirm + indyearcohort_48 | 0 |      cohortind_48, data = stackdid[!is.na(stackdid$overall_score),      ])

[2025-04-05 23:22:54] Executing command: regsummary(did15)

[2025-04-05 23:22:54] Output:
Coefficients:
                          Estimate Cluster s.e.    t value     Pr(>|t|)
as4con_adj             0.061475924  0.190015385  0.3235313 7.465645e-01
rating                 1.023050903  0.550326640  1.8589885 6.420849e-02
mktcap                 0.120981128  0.085684375  1.4119392 1.592163e-01
mtb                   -0.001767793  0.005181652 -0.3411640 7.332678e-01
leverage              -0.078114897  0.181286401 -0.4308922 6.669195e-01
roe                   -0.006055587  0.040111743 -0.1509679 8.801232e-01
Report                 0.123341491  0.102339708  1.2052164 2.292639e-01
io_perc                0.388594475  0.308987103  1.2576398 2.097003e-01
analyst_log           -0.105602766  0.086895999 -1.2152777 2.254112e-01
return                -0.099742899  0.048947260 -2.0377627 4.263080e-02
treat:post            10.311182567  1.927227873  5.3502664 1.990587e-07
as4con_adj:treat      -1.857221241  0.708999714 -2.6194951 9.346634e-03
as4con_adj:post        0.079180462  0.094330968  0.8393899 4.020557e-01
as4con_adj:treat:post  3.539322489  0.678691353  5.2149220 3.868291e-07

R-squared: 0.8589003 
Adjusted R-squared: 0.7223595 
Number of Observations: 9806 

[2025-04-05 23:22:54] Executing command: disagree_sample$IO_n <- NULL

[2025-04-05 23:22:54] Executing command: disagree_sample <- left_join(disagree_sample, io_cxs[, c("ISIN",      "year", "IO_n")], by = c("ISIN", "year"))

[2025-04-05 23:22:54] Executing command: temp <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$treat ==      1, ]

[2025-04-05 23:22:54] Executing command: temp <- temp %>% group_by(ffi_12) %>% mutate(cutoff = quantile(IO_n,      0.75, na.rm = T))

[2025-04-05 23:22:54] Executing command: treat_highIO <- unique(temp[temp$IO_n >= temp$cutoff, ]$gvkey)

[2025-04-05 23:22:54] Executing command: treat_lowIO <- unique(temp[temp$IO_n < temp$cutoff, ]$gvkey)

[2025-04-05 23:22:54] Executing command: disagree_sample$treat_highIO <- ifelse(disagree_sample$gvkey %in%      treat_highIO, 1, 0)

[2025-04-05 23:22:54] Executing command: disagree_sample$treat_lowIO <- ifelse(disagree_sample$gvkey %in%      treat_lowIO, 1, 0)

[2025-04-05 23:22:54] Executing command: metrics_sample$IO_n <- NULL

[2025-04-05 23:22:54] Executing command: metrics_sample <- left_join(metrics_sample, io_cxs[, c("ISIN",      "year", "IO_n")], by = c("ISIN", "year"))

[2025-04-05 23:22:54] Executing command: temp <- metrics_sample[metrics_sample$year == 2009 & metrics_sample$treat_as4 ==      1, ]

[2025-04-05 23:22:54] Executing command: temp <- temp %>% group_by(ffi_12) %>% mutate(cutoff = quantile(IO_n,      0.75, na.rm = T))

[2025-04-05 23:22:54] Executing command: treat_highIO <- unique(temp[temp$IO_n >= temp$cutoff, ]$gvkey)

[2025-04-05 23:22:54] Executing command: treat_lowIO <- unique(temp[temp$IO_n < temp$cutoff, ]$gvkey)

[2025-04-05 23:22:54] Executing command: metrics_sample$treat_highIO <- ifelse(metrics_sample$gvkey %in%      treat_highIO, 1, 0)

[2025-04-05 23:22:54] Executing command: metrics_sample$treat_lowIO <- ifelse(metrics_sample$gvkey %in%      treat_lowIO, 1, 0)

[2025-04-05 23:22:54] Executing command: D <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% pull(treat)

[2025-04-05 23:22:54] Executing command: X <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% dplyr::select(mktcap, leverage, mtb, roe, Report,      io_perc, rating, analyst_log, return) %>% mutate(sizeq = mktcap^2,      levq = leverage^2, mtbq = mtb^2, roeq = roe^2, ioq = io_perc^2,      ratingq = rating^2, analystq = analyst_log^2, returnq = return^2) %>%      as.matrix()

[2025-04-05 23:22:54] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:54] Executing command: eb <- ebalance(D, X_num)

[2025-04-05 23:22:54] Executing command: eb_treat <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% filter(treat == 1) %>% mutate(weights = 1)

[2025-04-05 23:22:54] Executing command: disagree_sample <- disagree_sample %>% ungroup()

[2025-04-05 23:22:54] Executing command: en_con <- disagree_sample[disagree_sample$year == 2009 & disagree_sample$postexist ==      1, ] %>% filter(treat == 0) %>% mutate(weights = eb$w)

[2025-04-05 23:22:54] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:54] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:54] Executing command: disagree_sample$weights <- NULL

[2025-04-05 23:22:54] Executing command: disagree_sample <- left_join(disagree_sample, balanced[, c("gvkey",      "weights")], by = c("gvkey"))

[2025-04-05 23:22:54] Executing command: disagreesample_balanced <- subset(disagree_sample, !is.na(weights))

[2025-04-05 23:22:54] Executing command: metrics_sample <- metrics_sample %>% group_by(gvkey) %>% mutate(postexist = sum(post))

[2025-04-05 23:22:55] Executing command: metrics_sample$postexist <- ifelse(metrics_sample$postexist >      0, 1, 0)

[2025-04-05 23:22:55] Executing command: metrics_sample <- metrics_sample %>% ungroup()

[2025-04-05 23:22:55] Executing command: D <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% pull(treat_kld)

[2025-04-05 23:22:55] Executing command: X <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% dplyr::select(mktcap,      leverage, mtb, roe, Report, io_perc, analyst_log, rating,      return) %>% mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,      roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,      ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:55] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:55] Executing command: eb <- ebalance(D, X_num)
[2025-04-05 23:22:55] Output:
Converged within tolerance 

[2025-04-05 23:22:55] Executing command: eb_treat <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% filter(treat_kld ==      1) %>% mutate(weights = 1)

[2025-04-05 23:22:55] Executing command: en_con <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$kld_net) &      metrics_sample$postexist == 1, ] %>% filter(treat_kld ==      0) %>% mutate(weights = eb$w)

[2025-04-05 23:22:55] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:55] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:55] Executing command: metrics_sample$weights <- NULL

[2025-04-05 23:22:55] Executing command: metrics_sample <- left_join(metrics_sample, balanced[, c("gvkey",      "weights")], by = c("gvkey"))

[2025-04-05 23:22:55] Executing command: kldmetricssample_balanced <- subset(metrics_sample, !is.na(weights))

[2025-04-05 23:22:55] Executing command: metrics_sample <- metrics_sample %>% ungroup()

[2025-04-05 23:22:55] Executing command: D <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% pull(treat_as4)

[2025-04-05 23:22:55] Executing command: X <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% dplyr::select(mktcap,      leverage, mtb, roe, Report, io_perc, analyst_log, rating,      return) %>% mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,      roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,      ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:55] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:55] Executing command: eb <- ebalance(D, X_num)

[2025-04-05 23:22:55] Executing command: eb_treat <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% filter(treat_as4 ==      1) %>% mutate(weights = 1)

[2025-04-05 23:22:55] Executing command: metrics_sample <- metrics_sample %>% ungroup()

[2025-04-05 23:22:55] Executing command: en_con <- metrics_sample[metrics_sample$year == 2009 & !is.na(metrics_sample$overall_score) &      metrics_sample$postexist == 1, ] %>% filter(treat_as4 ==      0) %>% mutate(weights = eb$w)

[2025-04-05 23:22:55] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:55] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:55] Executing command: metrics_sample$weights <- NULL

[2025-04-05 23:22:55] Executing command: metrics_sample <- left_join(metrics_sample, balanced[, c("gvkey",      "weights")], by = c("gvkey"))

[2025-04-05 23:22:55] Executing command: as4metricssample_balanced <- subset(metrics_sample, !is.na(weights))

[2025-04-05 23:22:55] Executing command: did11 <- felm(disagree ~ treat_highIO:post + treat_lowIO:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = disagree_sample[disagree_sample$preexist >      0 & disagree_sample$postexist > 0 & disagree_sample$year >=      2007 & disagree_sample$year <= 2012, ])

[2025-04-05 23:22:55] Executing command: regsummary(did11)
[2025-04-05 23:22:55] Output:
Coefficients:
                       Estimate Cluster s.e.     t value     Pr(>|t|)
rating            -3.132498e-01 0.0427761430 -7.32300213 5.035092e-09
mktcap             1.117965e-02 0.0101191331  1.10480300 2.755341e-01
mtb                4.939155e-05 0.0007027726  0.07028098 9.443036e-01
leverage           3.790366e-02 0.0308062811  1.23038737 2.253989e-01
roe               -3.189552e-03 0.0050944779 -0.62608017 5.346503e-01
Report             2.180732e-02 0.0060117362  3.62745728 7.691109e-04
io_perc           -2.567553e-02 0.0299382589 -0.85761615 3.959720e-01
analyst_log        7.311861e-03 0.0098720886  0.74066003 4.630205e-01
return            -8.634602e-03 0.0061607735 -1.40154511 1.683980e-01
treat_highIO:post -1.045129e-01 0.0141749060 -7.37309624 4.274301e-09
post:treat_lowIO  -4.114201e-02 0.0080408979 -5.11659370 7.284959e-06

R-squared: 0.7547313 
Adjusted R-squared: 0.6661653 
Number of Observations: 2828 

[2025-04-05 23:22:55] Executing command: did12 <- felm(disagree ~ treat_highIO:post + treat_lowIO:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ], weights = disagreesample_balanced[disagreesample_balanced$year >=      2007 & disagreesample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:55] Executing command: regsummary(did12)
[2025-04-05 23:22:55] Output:
Coefficients:
                       Estimate Cluster s.e.    t value     Pr(>|t|)
rating            -0.3643992920 0.0803993227 -4.5323677 4.783518e-05
mktcap             0.0418196661 0.0243454047  1.7177643 9.320533e-02
mtb                0.0008678076 0.0007157663  1.2124175 2.321287e-01
leverage           0.0761784965 0.0538446494  1.4147830 1.645037e-01
roe                0.0063417961 0.0059991829  1.0571100 2.965040e-01
Report             0.0084448271 0.0128385524  0.6577710 5.142745e-01
io_perc           -0.1086634648 0.0686129637 -1.5837162 1.207602e-01
analyst_log       -0.0151484140 0.0191322407 -0.7917742 4.329416e-01
return            -0.0404381004 0.0182201771 -2.2194131 3.191403e-02
treat_highIO:post -0.1127963497 0.0168308061 -6.7017794 3.887293e-08
post:treat_lowIO  -0.0511577092 0.0184697548 -2.7698099 8.316229e-03

R-squared: 0.8179277 
Adjusted R-squared: 0.7522623 
Number of Observations: 2823 

[2025-04-05 23:22:55] Executing command: did21 <- felm(populated_output ~ treat_highIO:post + treat_lowIO:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = metrics_sample[!is.na(metrics_sample$overall_score) &      metrics_sample$preexist > 0 & metrics_sample$postexist >      0 & metrics_sample$year >= 2007 & metrics_sample$year <=      2012, ])

[2025-04-05 23:22:55] Executing command: regsummary(did21)
[2025-04-05 23:22:55] Output:
Coefficients:
                     Estimate Cluster s.e.    t value     Pr(>|t|)
rating            -4.40945290  0.624370158 -7.0622416 1.184374e-08
mktcap             0.29197425  0.144354835  2.0226150 4.951051e-02
mtb               -0.01723598  0.009214807 -1.8704658 6.839849e-02
leverage          -1.24769076  0.608841628 -2.0492862 4.671413e-02
roe                0.30635760  0.104219105  2.9395532 5.322960e-03
Report             0.73914455  0.171251920  4.3161242 9.460333e-05
io_perc           -0.18312355  0.705544329 -0.2595493 7.964795e-01
analyst_log       -0.21923802  0.173628796 -1.2626824 2.136691e-01
return            -0.36652855  0.174127814 -2.1049397 4.131929e-02
treat_highIO:post  0.98544584  0.257620536  3.8251836 4.272287e-04
post:treat_lowIO   0.61244786  0.136580686  4.4841469 5.573649e-05

R-squared: 0.9139204 
Adjusted R-squared: 0.8831181 
Number of Observations: 3363 

[2025-04-05 23:22:55] Executing command: did22 <- felm(populated_output ~ treat_highIO:post + treat_lowIO:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = as4metricssample_balanced[as4metricssample_balanced$year >=      2007 & as4metricssample_balanced$year <= 2012, ], weights = as4metricssample_balanced[as4metricssample_balanced$year >=      2007 & as4metricssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:55] Executing command: regsummary(did22)
[2025-04-05 23:22:55] Output:
Coefficients:
                      Estimate Cluster s.e.    t value     Pr(>|t|)
rating            -2.923258621    1.1061130 -2.6428209 0.0115051546
mktcap             0.566246004    0.3401175  1.6648539 0.1033856813
mtb               -0.009296757    0.0141245 -0.6582009 0.5140009415
leverage          -1.380963126    1.1793658 -1.1709371 0.2482247915
roe                0.234170695    0.1691814  1.3841394 0.1736270102
Report             0.377044969    0.3119467  1.2086839 0.2335452708
io_perc            0.354679293    0.8886116  0.3991387 0.6918133244
analyst_log       -1.224190045    0.3630158 -3.3722778 0.0016107652
return             0.220353370    0.5013705  0.4395021 0.6625509218
treat_highIO:post  2.015915290    0.4894194  4.1189933 0.0001745945
post:treat_lowIO   1.580985191    0.4256491  3.7142920 0.0005950057

R-squared: 0.9308425 
Adjusted R-squared: 0.9070678 
Number of Observations: 3218 

[2025-04-05 23:22:55] Executing command: news_sample$IO_n <- NULL

[2025-04-05 23:22:55] Executing command: news_sample <- left_join(news_sample, io_cxs[, c("ISIN", "year",      "IO_n")], by = c("ISIN", "year"))

[2025-04-05 23:22:55] Executing command: temp <- news_sample[news_sample$year == 2009 & news_sample$treat_kld ==      1, ]

[2025-04-05 23:22:55] Executing command: temp <- temp %>% group_by(ffi_12) %>% mutate(cutoff = quantile(IO_n,      0.75, na.rm = T))

[2025-04-05 23:22:55] Executing command: treat_highIO <- unique(temp[temp$IO_n >= temp$cutoff, ]$gvkey)

[2025-04-05 23:22:55] Executing command: treat_lowIO <- unique(temp[temp$IO_n < temp$cutoff, ]$gvkey)

[2025-04-05 23:22:55] Executing command: news_sample$treat_highIO <- ifelse(news_sample$gvkey %in% treat_highIO,      1, 0)

[2025-04-05 23:22:55] Executing command: news_sample$treat_lowIO <- ifelse(news_sample$gvkey %in% treat_lowIO,      1, 0)

[2025-04-05 23:22:55] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:55] Executing command: news_sample <- news_sample %>% group_by(gvkey) %>% mutate(postexist = sum(post))

[2025-04-05 23:22:55] Executing command: news_sample$postexist <- ifelse(news_sample$postexist > 0, 1,      0)

[2025-04-05 23:22:55] Executing command: D <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% pull(treat_kld)

[2025-04-05 23:22:55] Executing command: X <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% dplyr::select(mktcap, leverage,      mtb, roe, Report, io_perc, analyst_log, rating, return) %>%      mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,          roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,          ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:56] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:56] Executing command: eb <- ebalance(D, X_num)
[2025-04-05 23:22:56] Output:
Converged within tolerance 

[2025-04-05 23:22:56] Executing command: eb_treat <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% filter(treat_kld == 1) %>%      mutate(weights = 1)

[2025-04-05 23:22:56] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:56] Executing command: en_con <- news_sample[news_sample$year == 2009 & !is.na(news_sample$kld_net) &      news_sample$postexist == 1, ] %>% filter(treat_kld == 0) %>%      mutate(weights = eb$w)

[2025-04-05 23:22:56] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:56] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:56] Executing command: news_sample$weights <- NULL

[2025-04-05 23:22:56] Executing command: news_sample <- left_join(news_sample, balanced[, c("gvkey", "weights")],      by = c("gvkey"))

[2025-04-05 23:22:56] Executing command: kldnewssample_balanced <- subset(news_sample, !is.na(weights))

[2025-04-05 23:22:56] Executing command: did31 <- felm(newscount_lead2 ~ kldcon_adj + treat_highIO:post:kldcon_adj +      treat_lowIO:post:kldcon_adj + post:kldcon_adj + treat_highIO:post +      treat_highIO:kldcon_adj + treat_lowIO:post + treat_lowIO:kldcon_adj +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = news_sample[news_sample$preexist >      0 & news_sample$postexist > 0 & news_sample$year >= 2007 &      news_sample$year <= 2012, ])

[2025-04-05 23:22:56] Executing command: regsummary(did31)
[2025-04-05 23:22:56] Output:
Coefficients:
                                 Estimate Cluster s.e.    t value     Pr(>|t|)
kldcon_adj                   -0.172392610   0.20828992 -0.8276570 4.124347e-01
rating                        0.212163180   0.64029250  0.3313535 7.419870e-01
mktcap                        0.095712558   0.03869962  2.4732169 1.741885e-02
mtb                          -0.005270086   0.00347001 -1.5187524 1.361439e-01
leverage                      0.017909570   0.14544600  0.1231355 9.025735e-01
roe                          -0.037255497   0.03874767 -0.9614901 3.416817e-01
Report                        0.236206772   0.11356671  2.0798945 4.353084e-02
io_perc                       0.045329722   0.09877588  0.4589149 6.486067e-01
analyst_log                  -0.020423194   0.03349923 -0.6096615 5.452943e-01
return                       -0.089924491   0.03521463 -2.5536118 1.428928e-02
kldcon_adj:post               0.218096222   0.16085387  1.3558656 1.822202e-01
treat_highIO:post             1.845191727   0.50197348  3.6758749 6.534466e-04
kldcon_adj:treat_highIO      -2.040073717   0.42170740 -4.8376521 1.719591e-05
post:treat_lowIO              0.352303944   0.22343846  1.5767381 1.221853e-01
kldcon_adj:treat_lowIO       -0.402643934   0.35901704 -1.1215176 2.682917e-01
kldcon_adj:treat_highIO:post  0.859047072   0.39456365  2.1772078 3.500000e-02
kldcon_adj:post:treat_lowIO   0.315677465   0.36441215  0.8662649 3.911529e-01

R-squared: 0.8291336 
Adjusted R-squared: 0.7839452 
Number of Observations: 10424 

[2025-04-05 23:22:56] Executing command: did32 <- felm(newscount_lead2 ~ kldcon_adj + treat_highIO:post:kldcon_adj +      treat_lowIO:post:kldcon_adj + post:kldcon_adj + treat_highIO:post +      treat_highIO:kldcon_adj + treat_lowIO:post + treat_lowIO:kldcon_adj +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = kldnewssample_balanced[kldnewssample_balanced$year >=      2007 & kldnewssample_balanced$year <= 2012, ], weights = kldnewssample_balanced[kldnewssample_balanced$year >=      2007 & kldnewssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:56] Executing command: regsummary(did32)
[2025-04-05 23:22:56] Output:
Coefficients:
                                Estimate Cluster s.e.    t value   Pr(>|t|)
kldcon_adj                    0.15495032   0.46284832  0.3347756 0.73942197
rating                       -0.83755659   0.85411360 -0.9806150 0.33226798
mktcap                       -0.15455274   0.15278293 -1.0115838 0.31739564
mtb                          -0.01184119   0.01040592 -1.1379277 0.26145148
leverage                      0.29858451   0.63008269  0.4738815 0.63798183
roe                           0.07606629   0.11907563  0.6388066 0.52633699
Report                        0.22029959   0.19604847  1.1236996 0.26737491
io_perc                       0.77000100   0.36333939  2.1192335 0.03988447
analyst_log                  -0.22044642   0.20941589 -1.0526728 0.29837064
return                       -0.06439074   0.11543284 -0.5578199 0.57986013
kldcon_adj:post               0.25907806   0.33766414  0.7672655 0.44711626
treat_highIO:post             1.16218678   0.56379645  2.0613588 0.04534773
kldcon_adj:treat_highIO      -1.85859788   0.75043002 -2.4767105 0.01727086
post:treat_lowIO             -0.31714936   0.26965760 -1.1761188 0.24601788
kldcon_adj:treat_lowIO       -0.34421934   0.53096146 -0.6482944 0.52024167
kldcon_adj:treat_highIO:post  0.92360840   0.53038858  1.7413806 0.08876779
kldcon_adj:post:treat_lowIO   0.46074708   0.47109664  0.9780309 0.33352968

R-squared: 0.8301313 
Adjusted R-squared: 0.7859904 
Number of Observations: 10134 

[2025-04-05 23:22:56] Executing command: temp <- news_sample[news_sample$year == 2009 & news_sample$treat_as4 ==      1, ]

[2025-04-05 23:22:56] Executing command: temp <- temp %>% group_by(ffi_12) %>% mutate(cutoff = quantile(IO_n,      0.75, na.rm = T))

[2025-04-05 23:22:56] Executing command: treat_highIO <- unique(temp[temp$IO_n >= temp$cutoff, ]$gvkey)

[2025-04-05 23:22:56] Executing command: treat_lowIO <- unique(temp[temp$IO_n < temp$cutoff, ]$gvkey)

[2025-04-05 23:22:56] Executing command: news_sample$treat_highIO <- ifelse(news_sample$gvkey %in% treat_highIO,      1, 0)

[2025-04-05 23:22:56] Executing command: news_sample$treat_lowIO <- ifelse(news_sample$gvkey %in% treat_lowIO,      1, 0)

[2025-04-05 23:22:56] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:56] Executing command: D <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% pull(treat_as4)

[2025-04-05 23:22:56] Executing command: X <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% dplyr::select(mktcap, leverage,      mtb, roe, Report, io_perc, analyst_log, rating, return) %>%      mutate(sizeq = mktcap^2, levq = leverage^2, mtbq = mtb^2,          roeq = roe^2, ioq = io_perc^2, analystq = analyst_log^2,          ratingq = rating^2, returnq = return^2) %>% as.matrix()

[2025-04-05 23:22:56] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:56] Executing command: eb <- ebalance(D, X_num)

[2025-04-05 23:22:57] Executing command: eb_treat <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% filter(treat_as4 == 1) %>%      mutate(weights = 1)

[2025-04-05 23:22:57] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:57] Executing command: en_con <- news_sample[news_sample$year == 2009 & !is.na(news_sample$overall_score) &      news_sample$postexist == 1, ] %>% filter(treat_as4 == 0) %>%      mutate(weights = eb$w)

[2025-04-05 23:22:57] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:57] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:57] Executing command: news_sample$weights <- NULL

[2025-04-05 23:22:57] Executing command: news_sample <- left_join(news_sample, balanced[, c("gvkey", "weights")],      by = c("gvkey"))

[2025-04-05 23:22:57] Executing command: as4newssample_balanced <- subset(news_sample, !is.na(weights))

[2025-04-05 23:22:57] Executing command: did41 <- felm(newscount_lead2 ~ as4con_adj + treat_highIO:post:as4con_adj +      treat_lowIO:post:as4con_adj + post:as4con_adj + treat_highIO:post +      treat_highIO:as4con_adj + treat_lowIO:post + treat_lowIO:as4con_adj +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = news_sample[news_sample$preexist >      0 & news_sample$postexist > 0 & news_sample$year >= 2007 &      news_sample$year <= 2012, ])

[2025-04-05 23:22:57] Executing command: regsummary(did41)
[2025-04-05 23:22:57] Output:
Coefficients:
                                Estimate Cluster s.e.    t value   Pr(>|t|)
as4con_adj                   -0.62104740   0.64674668 -0.9602638 0.34241833
rating                        1.70900668   1.07011537  1.5970303 0.11775657
mktcap                        0.18408254   0.07221801  2.5489839 0.01454626
mtb                          -0.00237604   0.01242830 -0.1911798 0.84930593
leverage                     -0.37340036   0.39029568 -0.9567115 0.34418770
roe                          -0.05006134   0.09173333 -0.5457268 0.58814072
Report                        0.26261980   0.12538671  2.0944787 0.04228956
io_perc                       1.05929723   0.59003639  1.7953083 0.07980232
analyst_log                  -0.11128022   0.15666514 -0.7103062 0.48143990
return                       -0.20644827   0.10572903 -1.9526166 0.05755090
as4con_adj:post               2.21170371   0.65707745  3.3659711 0.00163997
treat_highIO:post             8.77822827   4.42465557  1.9839348 0.05382394
as4con_adj:treat_highIO      -3.48146276   1.63426724 -2.1302898 0.03904866
post:treat_lowIO             -0.50635306   1.97905937 -0.2558554 0.79931145
as4con_adj:treat_lowIO        0.76601099   0.74178961  1.0326526 0.30767637
as4con_adj:treat_highIO:post  2.50188850   1.63136356  1.5336180 0.13262276
as4con_adj:post:treat_lowIO  -0.25303120   0.69543117 -0.3638479 0.71779682

R-squared: 0.8548825 
Adjusted R-squared: 0.8024757 
Number of Observations: 3363 

[2025-04-05 23:22:57] Executing command: did42 <- felm(newscount_lead2 ~ as4con_adj + treat_highIO:post:as4con_adj +      treat_lowIO:post:as4con_adj + post:as4con_adj + treat_highIO:post +      treat_highIO:as4con_adj + treat_lowIO:post + treat_lowIO:as4con_adj +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = as4newssample_balanced[as4newssample_balanced$year >=      2007 & as4newssample_balanced$year <= 2012, ], weights = as4newssample_balanced[as4newssample_balanced$year >=      2007 & as4newssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:57] Executing command: regsummary(did42)
[2025-04-05 23:22:57] Output:
Coefficients:
                                 Estimate Cluster s.e.    t value   Pr(>|t|)
as4con_adj                    1.159604074   4.15312195  0.2792126 0.78145200
rating                        2.415967398   1.02949815  2.3467428 0.02372959
mktcap                        0.052724830   0.14498152  0.3636659 0.71793179
mtb                           0.009148878   0.01693939  0.5400950 0.59198406
leverage                      0.388350257   0.78866204  0.4924166 0.62498923
roe                           0.078005450   0.15475443  0.5040596 0.61685359
Report                        0.138928618   0.15384861  0.9030216 0.37166460
io_perc                       0.541308036   1.03702494  0.5219817 0.60442529
analyst_log                  -0.063154145   0.22773540 -0.2773137 0.78289966
return                       -0.611823976   0.33176213 -1.8441646 0.07222073
as4con_adj:post              -0.611158151   2.62390631 -0.2329192 0.81695555
treat_highIO:post            16.707758351   8.66760999  1.9276085 0.06068456
as4con_adj:treat_highIO      -5.282007896   4.63103454 -1.1405676 0.26051220
post:treat_lowIO              7.052502740   6.32746996  1.1145849 0.27136585
as4con_adj:treat_lowIO       -1.039928074   3.90403040 -0.2663729 0.79125541
as4con_adj:treat_highIO:post  5.473405322   3.12523593  1.7513575 0.08718485
as4con_adj:post:treat_lowIO   2.541877422   2.22237638  1.1437655 0.25919815

R-squared: 0.8494633 
Adjusted R-squared: 0.7972041 
Number of Observations: 3218 

[2025-04-05 23:22:57] Executing command: news_sample <- left_join(news_sample, VT_exist[, c("ISIN", "pen_year",      "viocount")], by = c("ISIN", year = "pen_year"))

[2025-04-05 23:22:57] Executing command: news_sample$viocount <- ifelse(is.na(news_sample$viocount), 0,      news_sample$viocount)

[2025-04-05 23:22:57] Executing command: news_sample <- left_join(news_sample, truecost[, c("gvkey", "fiscalyear",      "di_319407", "di_319408")], by = c("gvkey", fyear = "fiscalyear"))

[2025-04-05 23:22:57] Executing command: news_sample$scope12_in <- news_sample$di_319407 + news_sample$di_319408

[2025-04-05 23:22:57] Executing command: news_sample$scope12_in_win <- Winsorize(news_sample$scope12_in,      probs = c(0.01, 0.99), na.rm = T)

[2025-04-05 23:22:57] Executing command: news_sample$di_319407_win <- Winsorize(news_sample$di_319407,      probs = c(0.01, 0.99), na.rm = T)

[2025-04-05 23:22:57] Executing command: treatment <- subset(news_sample, year < 2010)

[2025-04-05 23:22:58] Executing command: treatment <- left_join(treatment, sustan_2009[, c("isin_filled",      "total_esg_score")], by = c(ISIN = "isin_filled"))

[2025-04-05 23:22:58] Executing command: treatment <- subset(treatment, !is.na(total_esg_score))

[2025-04-05 23:22:58] Executing command: treatment <- treatment %>% distinct(gvkey, total_esg_score)

[2025-04-05 23:22:58] Executing command: treatment_high <- unique(treatment[treatment$total_esg_score >      median(treatment$total_esg_score, na.rm = T), ]$gvkey)

[2025-04-05 23:22:58] Executing command: treatment_low <- unique(treatment[treatment$total_esg_score <=      median(treatment$total_esg_score, na.rm = T), ]$gvkey)

[2025-04-05 23:22:58] Executing command: news_sample$treat_high <- ifelse(news_sample$gvkey %in% treatment_high,      1, 0)

[2025-04-05 23:22:58] Executing command: D <- news_sample[news_sample$year == 2009 & news_sample$postexist ==      1, ] %>% pull(treat)

[2025-04-05 23:22:58] Executing command: X <- news_sample[news_sample$year == 2009 & news_sample$postexist ==      1, ] %>% dplyr::select(mktcap, leverage, mtb, roe, Report,      io_perc, rating, analyst_log, return) %>% mutate(sizeq = mktcap^2,      levq = leverage^2, mtbq = mtb^2, roeq = roe^2, ioq = io_perc^2,      ratingq = rating^2, analystq = analyst_log^2, returnq = return^2) %>%      as.matrix()

[2025-04-05 23:22:58] Executing command: X_num <- matrix(as.numeric(X), ncol = ncol(X))

[2025-04-05 23:22:58] Executing command: eb <- ebalance(D, X_num)
[2025-04-05 23:22:58] Output:
Converged within tolerance 

[2025-04-05 23:22:58] Executing command: eb_treat <- news_sample[news_sample$year == 2009 & news_sample$postexist ==      1, ] %>% filter(treat == 1) %>% mutate(weights = 1)

[2025-04-05 23:22:58] Executing command: news_sample <- news_sample %>% ungroup()

[2025-04-05 23:22:58] Executing command: en_con <- news_sample[news_sample$year == 2009 & news_sample$postexist ==      1, ] %>% filter(treat == 0) %>% mutate(weights = eb$w)

[2025-04-05 23:22:58] Executing command: balanced <- bind_rows(eb_treat, en_con)

[2025-04-05 23:22:58] Executing command: balanced <- balanced %>% distinct(gvkey, weights)

[2025-04-05 23:22:58] Executing command: news_sample$weights <- NULL

[2025-04-05 23:22:58] Executing command: news_sample <- left_join(news_sample, balanced[, c("gvkey", "weights")],      by = c("gvkey"))

[2025-04-05 23:22:58] Executing command: newssample_balanced <- subset(news_sample, !is.na(weights))

[2025-04-05 23:22:58] Executing command: did11 <- felm(viocount ~ treat_high:post + treat_low:post + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = news_sample[news_sample$preexist >      0 & news_sample$postexist > 0 & news_sample$year >= 2007 &      news_sample$year <= 2012, ])

[2025-04-05 23:22:58] Executing command: regsummary(did11)
[2025-04-05 23:22:58] Output:
Coefficients:
                    Estimate Cluster s.e.    t value   Pr(>|t|)
rating          -0.699224299  0.416499090 -1.6788135 0.10044220
mktcap          -0.024282472  0.097565889 -0.2488828 0.80463638
mtb             -0.005814311  0.003270237 -1.7779478 0.08248456
leverage         0.150365831  0.107724434  1.3958377 0.16992932
roe              0.015540595  0.027854196  0.5579265 0.57978796
Report          -0.373255050  0.320269019 -1.1654423 0.25026434
io_perc          0.088482532  0.094313818  0.9381715 0.35339632
analyst_log      0.058463032  0.038580839  1.5153385 0.13700387
return           0.109253303  0.112008301  0.9754036 0.33481576
treat_high:post -1.594165208  1.194416697 -1.3346809 0.18900522
post:treat_low  -0.141486530  0.328458763 -0.4307589 0.66879533

R-squared: 0.9061661 
Adjusted R-squared: 0.8816667 
Number of Observations: 10801 

[2025-04-05 23:22:58] Executing command: did12 <- felm(viocount ~ treat_high:post + treat_low:post + rating +      mktcap + mtb + leverage + roe + Report + io_perc + analyst_log +      return | gvkey + indyear_48 | 0 | ffi_48, data = newssample_balanced[newssample_balanced$year >=      2007 & newssample_balanced$year <= 2012, ], weights = newssample_balanced[newssample_balanced$year >=      2007 & newssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:58] Executing command: regsummary(did12)
[2025-04-05 23:22:58] Output:
Coefficients:
                   Estimate Cluster s.e.    t value  Pr(>|t|)
rating          -1.86685443   0.77587860 -2.4061167 0.0204938
mktcap           0.07678899   0.25749470  0.2982158 0.7669747
mtb             -0.01781200   0.01259454 -1.4142639 0.1644846
leverage        -0.29933259   0.63023278 -0.4749556 0.6372222
roe              0.09573206   0.08971184  1.0671062 0.2918786
Report          -0.34373606   0.27528060 -1.2486752 0.2185396
io_perc          0.29558497   0.42634939  0.6932928 0.4918539
analyst_log     -0.11783129   0.39401542 -0.2990525 0.7663406
return           0.13739906   0.21962967  0.6255943 0.5348876
treat_high:post -1.45595107   1.03404234 -1.4080188 0.1663145
post:treat_low  -0.09260137   0.29433354 -0.3146137 0.7545765

R-squared: 0.9192345 
Adjusted R-squared: 0.8984858 
Number of Observations: 10520 

[2025-04-05 23:22:58] Executing command: did13 <- felm(di_319407_win ~ treat_high:post + treat_low:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = news_sample[news_sample$preexist >      0 & news_sample$postexist > 0 & news_sample$year >= 2007 &      news_sample$year <= 2012, ])

[2025-04-05 23:22:58] Executing command: regsummary(did13)
[2025-04-05 23:22:58] Output:
Coefficients:
                   Estimate Cluster s.e.    t value   Pr(>|t|)
rating           61.7420189   28.6867815  2.1522811 0.03716855
mktcap           20.1895591   16.6786336  1.2105044 0.23285376
mtb               0.1586276    0.3725414  0.4257985 0.67242883
leverage         77.2313851   58.4837813  1.3205607 0.19379893
roe              -6.3569269    6.7396147 -0.9432182 0.35096369
Report          -10.5532793   11.6449612 -0.9062529 0.36997206
io_perc          43.5718648   21.9809034  1.9822600 0.05401784
analyst_log      14.2802196   17.0496281  0.8375678 0.40701452
return          -11.1214846   18.2461974 -0.6095234 0.54546105
treat_high:post -13.5797859   41.4457421 -0.3276521 0.74480240
post:treat_low  -15.6358971   20.0313554 -0.7805711 0.43943217

R-squared: 0.9790058 
Adjusted R-squared: 0.9724694 
Number of Observations: 4255 

[2025-04-05 23:22:58] Executing command: did14 <- felm(di_319407_win ~ treat_high:post + treat_low:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = newssample_balanced[newssample_balanced$year >=      2007 & newssample_balanced$year <= 2012, ], weights = newssample_balanced[newssample_balanced$year >=      2007 & newssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:58] Executing command: regsummary(did14)
[2025-04-05 23:22:58] Output:
Coefficients:
                   Estimate Cluster s.e.    t value   Pr(>|t|)
rating           95.2340221   47.8615750  1.9897804 0.05315191
mktcap           17.7292062   16.0831935  1.1023436 0.27658913
mtb               0.8824607    0.6906154  1.2777890 0.20834148
leverage         78.4427679  114.2705349  0.6864654 0.49619230
roe               2.7859756    7.3112213  0.3810548 0.70508341
Report          -12.1147928   26.0779329 -0.4645611 0.64464515
io_perc          28.6971246   19.2748130  1.4888406 0.14400039
analyst_log      19.4814057   11.7637279  1.6560572 0.10516398
return            7.4465589   47.2269242  0.1576761 0.87546763
treat_high:post  36.9058833   28.1579995  1.3106714 0.19709083
post:treat_low   11.4014210   19.0376280  0.5988887 0.55246380

R-squared: 0.9843316 
Adjusted R-squared: 0.9794869 
Number of Observations: 4214 

[2025-04-05 23:22:58] Executing command: did15 <- felm(scope12_in_win ~ treat_high:post + treat_low:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = news_sample[news_sample$preexist >      0 & news_sample$postexist > 0 & news_sample$year >= 2007 &      news_sample$year <= 2012, ])

[2025-04-05 23:22:58] Executing command: regsummary(did15)
[2025-04-05 23:22:58] Output:
Coefficients:
                   Estimate Cluster s.e.    t value   Pr(>|t|)
rating           42.9797688   30.2090893  1.4227429 0.16219611
mktcap           21.1042491   18.0402732  1.1698409 0.24866088
mtb               0.1771775    0.3745347  0.4730603 0.63861957
leverage         72.7793467   59.9867006  1.2132580 0.23181064
roe              -7.3185514    7.4387044 -0.9838476 0.33082437
Report           -8.8788551   12.0977189 -0.7339280 0.46707014
io_perc          45.5052417   19.3716989  2.3490579 0.02360006
analyst_log      18.6557034   16.0474005  1.1625374 0.25158050
return          -12.9369681   19.1408218 -0.6758836 0.50281939
treat_high:post -17.2063522   42.3804444 -0.4059974 0.68680562
post:treat_low  -11.5255678   20.6276956 -0.5587424 0.57930459

R-squared: 0.9785424 
Adjusted R-squared: 0.9718618 
Number of Observations: 4255 

[2025-04-05 23:22:58] Executing command: did16 <- felm(scope12_in_win ~ treat_high:post + treat_low:post +      rating + mktcap + mtb + leverage + roe + Report + io_perc +      analyst_log + return | gvkey + indyear_48 | 0 | ffi_48, data = newssample_balanced[newssample_balanced$year >=      2007 & newssample_balanced$year <= 2012, ], weights = newssample_balanced[newssample_balanced$year >=      2007 & newssample_balanced$year <= 2012, ]$weights)

[2025-04-05 23:22:58] Executing command: regsummary(did16)
[2025-04-05 23:22:58] Output:
Coefficients:
                  Estimate Cluster s.e.     t value   Pr(>|t|)
rating          74.8662861   48.1664736  1.55432359 0.12761114
mktcap          18.2114343   16.6582839  1.09323591 0.28052113
mtb              0.8720626    0.6785267  1.28522959 0.20575435
leverage        65.2119251  111.1450658  0.58672803 0.56052706
roe              1.6618895    7.6120239  0.21832426 0.82823385
Report          -8.4941307   24.9419127 -0.34055651 0.73513508
io_perc         27.0084835   15.3036016  1.76484492 0.08486085
analyst_log     20.7629491   13.6461300  1.52152654 0.13562166
return          -0.9593602   45.3617689 -0.02114909 0.98322688
treat_high:post 33.8656826   29.6027307  1.14400536 0.25909978
post:treat_low  15.5959900   19.7124304  0.79117540 0.43328700

R-squared: 0.9839415 
Adjusted R-squared: 0.9789762 
Number of Observations: 4214 
