# eventstudies for construction date of projects as defined by CMIE # with 10 km radius nighttimelights for only manufacturing projects completed between 2015-2019 # Author: Sayan Dasgupta # Loading required librarie library(zoo) library(tidyverse) library(devtools) library(lubridate) library(stringr) library(dplyr) library(tidyr) library(RMySQL) library(data.table) library(latex2exp) library(ggplot2) library(boot) setwd("/home/sayan.dasgupta/eventstudies/R/") files.sources = list.files() sapply(files.sources, source) source("/home/sayan.dasgupta/eventstudies/R/eventstudy.R") source("/home/sayan.dasgupta/eventstudies/R/eventstudy.plot.R") # Connecting to the database mydb <- dbConnect(dbDriver("MySQL"), host = "data.mayin.org",db="fld", user=Sys.getenv("HHD_AND_FLD_USER"), password=Sys.getenv("HHD_AND_FLD_PASSWORD")) # Reading the data proj_radiance.csv <- as.data.frame(read.csv("./DATA/29_thermal_2015_2018_annual_radiance_10km.csv",check.names=FALSE)) proj_radiance.csv <- head(proj_radiance.csv,n=5) proj_radiance.csv$project_company <- paste(proj_radiance.csv$project_name, "(", proj_radiance.csv$company, ")") melt_proj_radiance.csv <- as.data.frame(melt(proj_radiance.csv, id.vars = c("project_company"), measure.vars = c("2012-01-01","2013-01-01","2014-01-01","2015-01-01","2016-01-01","2017-01-01","2018-01-01","2019-01-01","2020-01-01","2021-01-01"),variable.name = "date", value.name = "Radiance")) melt_proj_radiance.csv <- melt_proj_radiance.csv %>% group_by(project_company) %>% mutate(normalised_radiance = Radiance/max(Radiance)) %>% ungroup() melt_proj_radiance <- melt_proj_radiance.csv %>% distinct(project_company,date,normalised_radiance) %>% as.data.frame() melt_proj_radiance_pivot <- melt_proj_radiance %>% tidyr::spread(key = project_company, value = normalised_radiance) melt_proj_radiance_pivot <- as.data.frame(melt_proj_radiance_pivot) proj_radiance_zoo <- read.zoo(melt_proj_radiance_pivot, drop = FALSE) # I need construction starting dates for all these projects proj_events <- dbGetQuery(mydb,"select PROJECT_NAME,PROJECT_NUMBER,COMPANY,COMPANY_CODE,EVENT,EVENT_DATE from capex_all_project_events") colnames(proj_events) <- tolower(colnames(proj_events)) proj_events <- proj_events %>% filter(event == "Construction commenced" | event == "Implementation started") proj_events$project_company <- paste(proj_events$project_name, "(", proj_events$company, ")") ### Creating the events table event_dates <- left_join(proj_radiance.csv,proj_events, by = c("project_company")) event_dates$event_date <- as.Date(event_dates$event_date, format = "%d %B %Y") event_dates$event_date<- lubridate::ymd(event_dates$event_date, truncated = 2L) colnames(event_dates)[which(names(event_dates) == "event_date")] <- "when" colnames(event_dates)[which(names(event_dates) == "project_company")] <- "name" ### Keeping only one event for each project event_dates <- event_dates[order(event_dates$when, decreasing=TRUE),] event_dates <- event_dates %>% distinct(name,.keep_all = TRUE) event_dates <- subset(event_dates,select = c("name","when")) ## Doing the Event studies announce_10km <- eventstudy(firm.returns = proj_radiance_zoo, event.list = event_dates, event.window = 3, type = "None", to.remap = FALSE, is.levels = TRUE, inference = TRUE, inference.strategy = "bootstrap") pdf("eventstudy_29_thermal_2015_2018_10km_construction.pdf") plot(announce_10km) dev.off() tr_t_cumsum_inf_t <- eventstudy(firm.returns = proj_radiance_zoo, event.list = event_dates, event.window = 3, type = "None", to.remap = TRUE, remap = "cumsum", is.levels = TRUE, inference = TRUE, inference.strategy = "bootstrap") tr_t_cumsum_inf_t tr_t_cumprod_inf_t <- eventstudy(firm.returns = proj_radiance_zoo, event.list = event_dates, event.window = 3, type = "None", to.remap = TRUE, remap = "cumprod", is.levels = TRUE, inference = TRUE, inference.strategy = "bootstrap") tr_t_cumprod_inf_t tr_t_cumprod_inf_f <- eventstudy(firm.returns = proj_radiance_zoo, event.list = event_dates, event.window = 3, type = "None", to.remap = TRUE, remap = "cumprod", is.levels = TRUE, inference = FALSE, inference.strategy = "bootstrap") tr_t_cumprod_inf_f tr_f_inf_true <- eventstudy(firm.returns = proj_radiance_zoo, event.list = event_dates, event.window = 3, type = "None", to.remap = FALSE, is.levels = TRUE, inference = TRUE, inference.strategy = "bootstrap") tr_f_inf_true tr_f_inf_f <- eventstudy(firm.returns = proj_radiance_zoo, event.list = event_dates, event.window = 3, type = "None", to.remap = FALSE, is.levels = TRUE, inference = FALSE, inference.strategy = "bootstrap") tr_f_inf_f