Run Code.R

library(SherryChapter1)
setwd("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all")
#Check file existence
stock = c("MSFT","SPY","XRX")
sampling_inval = c(5,30,60,300,1800)
for ( i in stock ){
  for (j in sampling_inval){
    print(file.exists(paste0(i," ",j," Sec Summary Return Data.dta")))
  }
}

for ( i in stock ){
  for (j in sampling_inval){
    print(file.exists(paste0(i, " ", j, " Sec my daily.dta")))
    print(file.exists(paste0(i, "C ", j, " Sec my daily.dta")))
    print(file.exists(paste0(i, "D ", j, " Sec my daily.dta")))
  }
}

#Formal run model matrix
setwd("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all")

stock = c("MSFT","SPY","XRX")
sampling_inval = c(1800,300,60,30,5)
for ( i in stock ){
  for (j in sampling_inval){
    SherryChapter1::Model_Matrix_generation(
      All_dta_dir = paste0(i," ",j," Sec Summary Return Data.dta"),
      RV_raw_dta_dir = paste0(i, " ", j, " Sec my daily.dta"),
      RV_C_dta_dir = paste0(i, "C ", j, " Sec my daily.dta"),
      RV_D_dta_dir = paste0(i, "D ", j, " Sec my daily.dta"),
      sec = j,
      sub_title = paste0(i," ",j," Sec"),
      save_dir = paste0(i,"_",j),
      peak_param = c(0.98,0.98),
      #acf = (j!=5),
      acf = F,
      mixreg = (j!=1800)
    )
}
}

setwd("/Users/zhenwei/Documents/GitHub/Sherry-Chapter1/Data_all")
folders <- grep(".dta", list.files(), invert = T, value = T)
for (i in folders){
  vec_raw <- LR_adj_Rsquared(read.csv(file.path(i,"MM_raw_RV.csv")))
  vec_fC <- LR_adj_Rsquared(read.csv(file.path(i,"MM_fC_RV.csv")))
  vec_fD <- LR_adj_Rsquared(read.csv(file.path(i,"MM_fD_RV.csv")))
  R2_matrix <- cbind(vec_raw,vec_fC,vec_fD)
  colnames(R2_matrix) <- c("RV_raw","RV_fC","RV_fD")
  unlink(file.path(i,"Adj_Rsquared_Matrix.csv"))
  write.csv(R2_matrix,file.path(i,paste0(i,"_Adj_Rsquared.csv")))
}


setwd("/Users/zhenwei/Documents/GitHub/Sherry-Chapter1/Results_2.6/Results_raw")
folders <- grep(".dta", list.files(), invert = T, value = T)
for (i in folders){
  vec_raw <- LR_adj_Rsquared(read.csv(file.path(i,"MM_raw_RV.csv")))
  vec_fC <- LR_adj_Rsquared(read.csv(file.path(i,"MM_fC_RV.csv")))
  vec_fD <- LR_adj_Rsquared(read.csv(file.path(i,"MM_fD_RV.csv")))
  R2_matrix <- cbind(vec_raw,vec_fC,vec_fD)
  colnames(R2_matrix) <- c("RV_raw","RV_fC","RV_fD")
  write.csv(R2_matrix,file.path(i,paste0(i,"_OLS_Rsquared.csv")))
}

setwd("/Users/zhenwei/Documents/GitHub/Sherry-Chapter1/Results_2.6/Results_raw")
folders <- grep(".dta", list.files(), invert = T, value = T)
for (i in folders){
  vec_raw <- LR_GMM_Rsquared(read.csv(file.path(i,"MM_raw_RV.csv")))
  vec_fC <- LR_GMM_Rsquared(read.csv(file.path(i,"MM_fC_RV.csv")))
  vec_fD <- LR_GMM_Rsquared(read.csv(file.path(i,"MM_fD_RV.csv")))
  R2_matrix <- cbind(vec_raw,vec_fC,vec_fD)
  colnames(R2_matrix) <- c("RV_raw","RV_fC","RV_fD")
  write.csv(R2_matrix,file.path(i,paste0(i,"_GMM_Rsquared.csv")))
}

setwd("/Users/zhenwei/Documents/GitHub/Sherry-Chapter1/Results_2.6/Results_raw")
folders <- grep(".dta", list.files(), invert = T, value = T)
for (i in folders){
  vec_raw <- Loess_Rsquared(read.csv(file.path(i,"MM_raw_RV.csv")))
  vec_fC <- Loess_Rsquared(read.csv(file.path(i,"MM_fC_RV.csv")))
  vec_fD <- Loess_Rsquared(read.csv(file.path(i,"MM_fD_RV.csv")))
  R2_matrix <- cbind(vec_raw,vec_fC,vec_fD)
  colnames(R2_matrix) <- c("RV_raw","RV_fC","RV_fD")
  write.csv(R2_matrix,file.path(i,paste0(i,"_NLL_Rsquared.csv")))
}

setwd("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all")
folders <- grep(".dta", list.files(), invert = T, value = T)
for (i in folders){
  vec_raw <- RFR_red_MSE(read.csv(file.path(i,"MM_raw_RV.csv")),k = 30,p = 10)
  vec_fC <- RFR_red_MSE(read.csv(file.path(i,"MM_fC_RV.csv")),k = 30,p = 10)
  vec_fD <- RFR_red_MSE(read.csv(file.path(i,"MM_fD_RV.csv")),k = 30,p = 10)
  R2_matrix <- cbind(vec_raw,vec_fC,vec_fD)
  colnames(R2_matrix) <- c("RV_raw","RV_fC","RV_fD")
  unlink(file.path(i,"Adj_Rsquared_Matrix.csv"))
  write.csv(R2_matrix,file.path(i,paste0(i,"_Adj_Rsquared.csv")))
}

library(perflite)

RFR_red_MSE <- function(MM,p = 10,k = 30){
  return_vec = c()
  y_lst = list()
  X_lst = list()
  MM = na.omit(MM[,colnames(MM) != "X"])
  indx_basic = grepl("RV_.*|Monday|Y",colnames(MM))

  X_lst[["Ground"]] = MM[,indx_basic]
  X_lst[["add_V"]] = MM[,indx_basic|colnames(MM) == "V_raw"]
  X_lst[["add_TN"]] = MM[,indx_basic|colnames(MM) == "TN_raw"]
  X_lst[["add_V,TN"]] = MM[,indx_basic|colnames(MM) %in% c("V_raw","TN_raw")]

  X_lst[["add_Vfd"]] = MM[,indx_basic|colnames(MM) == "V_daily_stl"]
  X_lst[["add_TNfd"]] = MM[,indx_basic|colnames(MM) == "TN_daily_stl"]
  X_lst[["add_Vfd,TNfd"]] = MM[,indx_basic|colnames(MM) %in% c("V_daily_stl","TN_daily_stl")]

  X_lst[["add_Vfw"]] = MM[,indx_basic|colnames(MM) == "V_weekly_stl"]
  X_lst[["add_TNfw"]] = MM[,indx_basic|colnames(MM) == "TN_weekly_stl"]
  X_lst[["add_Vfw,TNfw"]] = MM[,indx_basic|colnames(MM) %in% c("V_weekly_stl","TN_weekly_stl")]

  for(i in names(X_lst)){
    y_lst[[i]] = MM[,"Y"]
  }

  return_vec <- performance_regression( y = y_lst,
                                        X = X_lst,
                                        pred_f = list(RFR=randomForest_regression),
                                        performance_metrices = "RRSE",
                                        k = k,
                                        p = p )$RFR
  Ground_tmp = return_vec[1]
  return_vec = -1*(return_vec - Ground_tmp)
  return_vec[1] = Ground_tmp
  return(return_vec)
}


setwd("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all")
folders <- grep(".dta", list.files(), invert = T, value = T)
dir.create("OLR_R2_all")
dir.create("RandomForest_R2_all")

for (i in folders){
  R2_RF <- read.csv(file.path(i,paste0(i,"_red_MSE.csv")))
  rownames( R2_RF ) =  R2_RF[,1]
  R2_RF = R2_RF[,-1]
  write.csv(R2_RF[-1,], file.path("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all",
                             "RandomForest_R2_all",
                             paste0(i,"_RF_increase_in_R2.csv")))
  for(j in 1:3){
    R2_RF[2:nrow(R2_RF),j] = R2_RF[1,j] - R2_RF[2:nrow(R2_RF),j]
  }
  R2_RF = 1-R2_RF
  write.csv(R2_RF, file.path("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all",
                            "RandomForest_R2_all",
                            paste0(i,"_RF_cv_R2.csv")))

  R2_OLR <- read.csv(file.path(i,paste0(i,"_Adj_Rsquared.csv")))
  rownames( R2_OLR ) =  R2_OLR[,1]
  R2_OLR = R2_OLR[,-1]

  write.csv(R2_OLR, file.path("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all",
                             "OLR_R2_all",
                             paste0(i,"_OLR_adj_R2.csv")))
  for(j in 1:3){
    R2_OLR[2:nrow(R2_OLR),j] = R2_OLR[2:nrow(R2_RF),j] - R2_OLR[1,j]
  }

  write.csv(R2_OLR[-1,], file.path("/Users/zhenwei/Documents/GitHub/SherryChapter1/Data_all",
                              "OLR_R2_all",
                              paste0(i,"_OLR_increase_in_R2.csv")))
}
ZhenWei10/Sherry-Chapter1 documentation built on Oct. 31, 2019, 1:48 a.m.