knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)
devtools::load_all()

library(car)

library(tidyverse)

library(plm)

library(stargazer)

library(sandwich)

library(clubSandwich)

library(lmtest)

library(purrr)

library(igraph)
output_status = TRUE

countries_list = list(
  oecd_countries = c("Australia","Austria","Belgium","Canada","Chile",
                  "Czech_Republic","Denmark","Estonia","Finland","France",
                  "Germany","Greece","Hungary", "Iceland","Ireland",
                  "Israel","Italy","Japan","Korea","Latvia",
                  "Lithuania","Luxembourg","Mexico","Netherlands",
                  "New_Zealand","Norway","Poland","Portugal",
                  "Slovak_Republic","Slovenia","Spain","Sweden",
                  "Switzerland","Turkey","United_Kingdom"
                  ,"United_States"),
  strong_countries = c("Australia","Austria","Belgium","Canada",
                  "Switzerland","Germany","Denmark","Spain",
                  "Finland","France","United_Kingdom","Ireland",
                  "Italy","Japan","Netherlands","Portugal",
                  "Sweden","United_States"),
  fsap_countries = c("Austria","Belgium","Germany","Denmark","Spain",
                   "France","Finland","Greece","Ireland","Italy",
                   "Luxembourg","Netherlands","Portugal",
                   "Sweden","United_Kingdom"))

countries_list$weak_countries = countries_list$oecd_countries[!countries_list$oecd_countries %in% countries_list$strong_countries]


pairs_list = lapply(names(countries_list),
           function(temp_name){
             apply(combn(countries_list[[temp_name]],2), 2,
                   function(temp_col){
                     ifelse(temp_col[1]<temp_col[2],
                            paste(temp_col[1],temp_col[2],sep = "-"),
                            paste(temp_col[2],temp_col[1],sep = "-"))})

})

names(pairs_list) = paste(names(countries_list), "pairs", sep = "_")

countries_list = c(countries_list, pairs_list)

rm(pairs_list)

countries_list$cross_country_pairs = countries_list$oecd_countries_pairs[!countries_list$oecd_countries_pairs %in% countries_list$strong_countries_pairs & !countries_list$oecd_countries_pairs %in% countries_list$weak_countries_pairs]

reg_list = list()

hyp_test_list = list()
control_vars = c("trade_gdp","FX_stab_tot","FO_ind_tot",
                 "MI_ind_tot")


temp_form = paste0("Fin_synch ~ lag(bank_gdp, 1) * Crises",
                   " + lag(bank_gdp, 1) * FD_tot",
                   # " + lag(bank_gdp, 1) * EU_both",
                   # " + lag(bank_gdp, 1) * Euro_both",
                   " + lag(bank_gdp, 1) * Common_Lang",
                   " + ", paste(control_vars, collapse = " + "),
                   " + CountryPair:Time_trend")
# fin_df = import.all.data(countries_list = countries_list)

#write_rds(fin_df,"C:\\Users\\Misha\\Desktop\\temp_df.rds")

fin_reg_df_annual = read_rds(paste0("C:\\Users\\Misha\\Documents\\Data\\",
                                    "TempData\\temp_fin_df.rds"))
temp_reg = plm(formula = formula(temp_form),data = fin_reg_df_annual,
               model = "within",effect = "twoways",
               index = c("CountryPair","Date"))
temp_reg_list = list(temp_reg)

temp_se_list = lapply(temp_reg_list,function(temp_plm){
                        return(sqrt(diag(vcovHC(temp_plm,cluster = "group"))))
                               })

temp_names = c("lag\\(bank_gdp, 1\\)",
               "lag\\(bank_gdp, 1\\):Crises",
               "lag\\(bank_gdp, 1\\):FD_tot",
               # "lag\\(bank_gdp, 1\\):EU_both",
               # "lag\\(bank_gdp, 1\\):Euro_both",
               "lag\\(bank_gdp, 1\\):Common_Lang")

stargazer(temp_reg_list, header = FALSE,
          title = paste0("Panel with crises and",
                         " financial development indicators"),
          dep.var.caption = "Fin cycle synch",
          model.numbers = FALSE,
          dep.var.labels.include = FALSE,
          column.labels = gsub("_","-", names(temp_reg_list)),
          notes = "Clustered standard errors",
          se = temp_se_list,
          column.sep.width = "1pt",
          keep = paste0("^",temp_names,"$"),order = paste0("^",temp_names,"$"),
          covariate.labels = c("Bank linkages (lag)",
                               "Bank linkages (lag)*Crises",
                               "Bank linkages (lag)*FD",
                               # "Bank linkages (lag)*EU",
                               # "Bank linkages (lag)*Euro",
                               "Bank linkages (lag)*Common lang"),
          omit.stat = c("f","adj.rsq"),
          add.lines = list(c("Controls",
                             rep("Yes", length(temp_reg_list))),
                           c("Year FE",
                             rep("Yes", length(temp_reg_list))),
                           c("Country-pair FE",
                             rep("Yes", length(temp_reg_list)))))

# rm(temp_se_list, temp_reg_list,temp_names)


MichaelGurkov/FinSynch documentation built on Oct. 30, 2019, 9:27 p.m.