#
# files = paste0("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/HMDA/Ultimate Panel Data/",as.character(2000:2016),".fst")
#
# panel = lapply(files, read_fst, as.data.table = TRUE,columns=c("respondentid","agencycode","reportername","asofdate","parentname","parentidentifier","reporterhomecity","reporterhomestate","rssd"))
# panel <- do.call(rbind , panel)
#
# panel[,asofdate:=as.integer(asofdate)]
# panel <- panel[!duplicated(panel[,c("respondentid","agencycode","asofdate")])]
# panel[,parentidentifier:=stri_trim(parentidentifier)]
#
# panel[,rssd:=as.numeric(rssd)]
#
# panel[,hmda_id:=paste0(agencycode,"-",respondentid)]
#
# files <- NULL
# files <- list.files(pattern="*.fst",path = "C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/HMDA/pre2004/OO_NP/",full.names = TRUE)
# files <- c(files,list.files(pattern="*.fst",path = "C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/HMDA/pre2004/OO_RF/",full.names = TRUE))
# files <- c(files,list.files(pattern="*.fst",path = "C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/HMDA/OO_NP/",full.names = TRUE))
# files <- c(files,list.files(pattern="*.fst",path = "C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/HMDA/OO_RF/",full.names = TRUE))
#
# hmda = lapply(files, read_fst, as.data.table = TRUE,
# columns=c("asofdate","respondentid","agencycode","state","countycode","msa"))
# hmda <- do.call(rbind , hmda)
# hmda[,lender:=paste0(agencycode,"-",respondentid)]
# hmda[,countycode:=paste0(state,countycode)]
#
#
# cbsa_fips <- fread("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/Crosswalk Files/cbsa_countyfips.csv")
# cbsa_fips[,fips:=ifelse(nchar(fips)==4,paste0("0",fips),paste0(fips))]
#
# hmda <- merge(hmda,cbsa_fips,by.x="countycode",by.y="fips",all.x=T)
# hmda[,c("agencycode","respondentid"):=list(NULL)]
#
# gc()
#
#
#
# mergers <- list()
#
# temp <- list(1,"BANK ONE - JPMORGAN CHASE 2004",
# c("1-0000000008","1-0000007621","1-0000003106","1-0000011230","1-0000013655","1-0000013759","1-0000013914","1-0000014320","1-0000015184","1-0000018785","1-0000021969","1-0000023237","2-0000331647","3-0000002487"),
# unique(c(unique(panel[parentidentifier %in% c("0000002370","0000000008","0001039502","0000852218","0001040795"),]$hmda_id),"2-0000852218","1-0000023160","2-0000043557","1-22-1092200","1-0000000008")),
# 2000,"JPMORGAN CHASE BANK, NA",2004)
# mergers[[1]] <- temp
#
# temp <- list(2,"COUNTRYWIDE - BANK OF AMERIC 2009" ,c("1-0000024141","2-0001644643","2-0003267484","7-20-2241771","1-0000024141","4-0000018039"),c("1-0000013044"),
# 2005,"BANK OF AMERICA, N.A.",2009)
# mergers[[2]] <- temp
#
# temp <- list(3,"FLEET NA - BANK OF AMERICA 2005",c("1-0000000200"),c("1-0000013044"),
# 2003,"BANK OF AMERICA, N.A.",2005)
# mergers[[3]] <- temp
#
# temp <- list(4,"WACHOVIA BK NA - WELLS FARGO 2010", c("1-0000000001","1-0000022559","1-56-0811711"), panel[substr(reportername,1,7)=="WELLS F"]$hmda_id,
# 2005,"WELLS FARGO BANK, N.A.",2009)
# mergers[[4]] <- temp
#
# temp <- list(5,"LASALLE BK - BANK OF AMERICA 2008",panel[substr(reportername,1,7)=="LASALLE" & asofdate<=2005]$hmda_id,c("1-0000013044"),
# 2005,"BANK OF AMERICA, N.A.",2008)
# mergers[[5]] <- temp
#
#
# temp <- list(6,"ABN AMRO MTG GROUP - CITI BANK 2007",c("1-36-3744610"),unique(panel[parentidentifier=="0001951350"]$hmda_id),
# 2004,"CITIMORTGAGE, INC.",2007)
# mergers[[6]] <- temp
#
# temp <- list(7,"UNION PLANTERS BANK - REGIONS FINANCIAL CORP 2004",
# c("1-0000013349"),
# c("9-0000233031","2-0000233031"),
# 2002,c("REGIONS BANK"),2004)
# mergers[[7]] <- temp
#
# temp <- list(8,"AmSouth Bancorporation - REGIONS FINANCIAL CORP 2006",
# c("2-0000245333"),
# c("9-0000233031","2-0000233031"),
# 2004,c("REGIONS BANK"),2006)
# mergers[[8]] <- temp
#
#
# temp <- list(9,"Washington Mutual - JPMORGAN CHASE 2008",
# c("4-0000008551","4-0000011905"),
# unique(c(unique(panel[parentidentifier %in% c("0000002370","0000000008","0001039502","0000852218","0001040795"),]$hmda_id),"2-0000852218","1-0000023160","2-0000043557","1-22-1092200","1-0000000008")),
# 2005,"JPMORGAN CHASE BANK, NA",
# 2008)
# mergers[[9]] <- temp
#
#
#
# ## target operated in 5 msas; small share.
# temp <- list(10,"Greater Bay Bank - Wells Fargo 2007",
# c("1-0000024489"),
# panel[substr(reportername,1,7)=="WELLS F"]$hmda_id,
# 2005,c("WELLS FARGO BANK, N.A."),2007)
# mergers[[10]] <- temp
#
#
# temp <- list(11,"MBNA NA - BANK OF AMERICA 2005",c("1-0000024095"),c("1-0000013044"),
# 2003,"BANK OF AMERICA, N.A.",2005)
# mergers[[11]] <- temp
#
# temp <- list(12,"Merrill Lynch - BANK OF AMERICA 2008",c("2-0000421203","7-13-3403204","3-13-3098068","3-13-3399559","3-0000027374","3-0000091363","3-13-3399559","4-0000014460","3-68-0518519","4-0000014460", "4-0133098068"),c("1-0000013044"),
# 2005,"BANK OF AMERICA, N.A.",2008)
# mergers[[12]] <- temp
#
#
# temp <- list(13,"FIRST INTERSTATE BK CA - Wells Fargo 1996",c("2-0000669667"),panel[substr(reportername,1,7)=="WELLS F"]$hmda_id,1994,"WELLS FARGO BANK, N.A.",1996)
# mergers[[13]] <- temp
#
# temp <- list(14,"PACIFIC NORTHWEST - Wells Fargo 2004",c("3-0000030887","3-0000027346"),panel[substr(reportername,1,7)=="WELLS F"]$hmda_id,
# 2002,"WELLS FARGO BANK, N.A.",2004)
# mergers[[14]] <- temp
#
#
# temp <- list(15,"MERIDIAN MOME MORTGAGE, LP - Wells Fargo 2010",c("1-74-3082948"),panel[substr(reportername,1,7)=="WELLS F"]$hmda_id,
# 2005,"WELLS FARGO BANK, N.A.",2010)
# mergers[[15]] <- temp
#
#
# temp <- list(16,"The Leader Mtg Co - US Bank 2004",
# c("7-3814209995"),
# panel[substr(reportername,1,5)=="U S B"]$hmda_id,
# 2002,c("U.S. BANK N.A."),2004)
# mergers[[16]] <- temp
#
# temp <- list(17,"PFF BANK & TRUST - US Bank 2008",
# c("4-0000001405"),
# panel[substr(reportername,1,5)=="U S B"]$hmda_id,
# 2005,c("U.S. BANK N.A."),2008)
# mergers[[17]] <- temp
#
#
# temp <- list(18,"DOWNEY SAVINGS AND LOAN ASSOCIATION, F.A. - US Bank 2008",
# c("4-0000006189"),
# panel[substr(reportername,1,5)=="U S B"]$hmda_id,
# 2005,c("U.S. BANK N.A."),2008)
# mergers[[18]] <- temp
#
#
# cbsas <- unique(hmda$cbsa)
# yrs <- 2000:2016
# acqbanks <- NULL
# for(i in 1:length(mergers)) {
# acqbanks <- c(acqbanks,mergers[[i]][6][[1]])
# }
# acqbanks <- c(unique(acqbanks),"other")
#
# cbsas1 <- merge(cbsas,yrs)
# cbsas2 <- merge(cbsas,acqbanks)
#
# cbsas <- merge(cbsas1,cbsas2,by="x")
# names(cbsas) <- c("cbsa","acyr","bank")
# cbsas <- data.table(cbsas)
#
# cbsas[,bank:=as.character(bank)]
# cbsas[,acqbank:=0]
# cbsas[,pred_share:=0]
# cbsas[,suc_share:=0]
#
#
# cbsa_bnk <- NULL
# lender_bank <- NULL
# sumtable <- NULL
#
# for(i in 1:length(mergers)) {
# # print(i)
# mid=mergers[[i]][1][[1]]
# mname=mergers[[i]][2][[1]]
# pred_hmda_id=mergers[[i]][3][[1]]
# suc_hmda_id=mergers[[i]][4][[1]]
# yr=mergers[[i]][5][[1]]
# acname = mergers[[i]][6][[1]]
# acyr = mergers[[i]][7][[1]]
#
# temp <- hmda[asofdate == yr ]
# temp[,pred:=ifelse(lender %in% pred_hmda_id,1,0)]
# cw <- temp[,.(pred_share=mean(pred)),by=.(cbsa)]
#
# temp1 <- hmda[asofdate == (acyr-1) ]
# temp1[,suc:=ifelse(lender %in% suc_hmda_id,1,0)]
# cw1 <- temp1[,.(suc_share=mean(suc)),by=.(cbsa)]
#
# cw <- merge(cw,cw1,by="cbsa",all.x=T)
# cw <- cw[!is.na(cbsa)]
# cw[is.na(cw)] <- 0
#
# cw[,joint_share:=pred_share+suc_share]
# cw[,bank:=acname]
# cw[,acyr:=acyr]
#
# cw[,c("joint_share"):=list(NULL)]
# cbsa_bnk <- rbind(cbsa_bnk,cw)
# }
#
#
# cbsa_bnk[,acqbank:=1]
#
#
# cbsa_bnk <- rbind(cbsa_bnk,cbsas)
# cbsa_bnk <- cbsa_bnk[!duplicated(cbsa_bnk[,c("cbsa","acyr","bank")])]
# cbsa_bnk <- cbsa_bnk[!is.na(cbsa)]
#
# temp <- cbsa_bnk
#
# cbsa_bnk_1 <- cbsa_bnk[,c("cbsa","pred_share","suc_share","bank","acyr")]
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_1","suc_share_1","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_2","suc_share_2","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_3","suc_share_3","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_4","suc_share_4","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_5","suc_share_5","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_6","suc_share_6","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_7","suc_share_7","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_8","suc_share_8","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# names(cbsa_bnk_1) <- c("cbsa","pred_share_9","suc_share_9","bank","acyr")
# cbsa_bnk_1[,acyr:=acyr+1]
# cbsa_bnk <- merge(cbsa_bnk,cbsa_bnk_1,by=c("cbsa","bank","acyr"),all.x = T)
#
# cbsa_bnk[,pred_share_1:=ifelse(is.na(pred_share_1),0,pred_share_1)]
# cbsa_bnk[,pred_share_2:=ifelse(is.na(pred_share_2),0,pred_share_2)]
# cbsa_bnk[,pred_share_3:=ifelse(is.na(pred_share_3),0,pred_share_3)]
# cbsa_bnk[,pred_share_4:=ifelse(is.na(pred_share_4),0,pred_share_4)]
# cbsa_bnk[,pred_share_5:=ifelse(is.na(pred_share_5),0,pred_share_5)]
# cbsa_bnk[,pred_share_6:=ifelse(is.na(pred_share_6),0,pred_share_6)]
# cbsa_bnk[,pred_share_7:=ifelse(is.na(pred_share_7),0,pred_share_7)]
# cbsa_bnk[,pred_share_8:=ifelse(is.na(pred_share_8),0,pred_share_8)]
# cbsa_bnk[,pred_share_9:=ifelse(is.na(pred_share_9),0,pred_share_9)]
#
# cbsa_bnk[,msinc13:=pred_share_1+pred_share_2+pred_share_3+0.00001]
# cbsa_bnk[,msinc46:=pred_share_4+pred_share_5+pred_share_6+0.00001]
# cbsa_bnk[,msinc79:=pred_share_7+pred_share_8+pred_share_9+0.00001]
# cbsa_bnk[,suc_share:=suc_share_1]
#
#
# cbsa_bnk[,msinc13G:=ifelse(msinc13<=0.0001,"0. 0",
# ifelse(msinc13<0.01,"1. Less than 1pct",
# ifelse(msinc13<0.05,"2. 1 - 5pct",
# ifelse(msinc13<0.1,"3. 5pct - 10pct", "4. More than 10pct"))))]
#
# cbsa_bnk[,msinc46G:=ifelse(msinc46<=0.0001,"0. 0",
# ifelse(msinc46<0.01,"1. Less than 1pct",
# ifelse(msinc46<0.05,"2. 1 - 5pct",
# ifelse(msinc46<0.1,"3. 5pct - 10pct", "4. More than 10pct"))))]
#
#
# cbsa_bnk[,msinc79G:=ifelse(msinc79<=0.0001,"0. 0",
# ifelse(msinc79<0.01,"1. Less than 1pct",
# ifelse(msinc79<0.05,"2. 1 - 5pct",
# ifelse(msinc79<0.1,"3. 5pct - 10pct", "4. More than 10pct"))))]
#
#
# write_fst(cbsa_bnk,"C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/Bank Mergers/data/cbsa_bnk_2.fst",compress = 100)
cbsa_bnk <- read_fst("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/Bank Mergers/data/cbsa_bnk_2.fst",as.data.table = T)
freddie <- list.files(pattern="*.fst",path = "C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/Freddie/Acq",full.names = TRUE)
freddie = lapply(freddie, read_fst,as.data.table=T, columns = c("fico","dt_first_pi","cd_msa","ltv","dti","orig_upb","int_rt","prop_type","zipcode","id_loan","orig_loan_term","seller_name","loan_purpose","cltv","occpy_sts"))
freddie <- do.call(rbind , freddie)
freddie <- freddie[orig_loan_term==360 & prop_type=="SF" ]
freddie[,loanyr:=year(dt_first_pi)]
freddie[,msa:=cd_msa]
freddie[,primary_occ:=ifelse(occpy_sts=="P",1,0)]
freddie[,c("orig_loan_term","dt_first_pi","prop_type","cd_msa","occpy_sts"):=list(NULL)]
freddie[,seller_name:= ifelse(seller_name %in% c("JPMORGAN CHASE BANK, NA","JPMORGAN CHASE BANK, NATIONAL ASSOCIATION","CHASE MANHATTAN MORTGAGE CORPORATION","CHASE HOME FINANCE LLC","CHASE HOME FINANCE","CHASE HOME FINANCE, LLC","JPMORGAN CHASE BANK, NATIONAL ASSOCIATION","JPMORGAN CHASE BANK, N.A."),"JPMORGAN CHASE BANK, NA",seller_name)]
freddie[,seller_name:= ifelse(seller_name %in% c("CITIMORTGAGE, INC.","ABN AMRO, NKA CITIMORTGAGE INC.","CITIMORTGAGE, INC."),"CITIMORTGAGE, INC.",seller_name)]
freddie[,seller_name:= ifelse(seller_name %in% c("WELLS FARGO HOME MORTGAGE, INC.","WELLS FARGO BANK, N.A."),"WELLS FARGO BANK, N.A.",seller_name)]
freddie[,bank:=seller_name]
freddie[,bank:=ifelse(bank %in% unique(cbsa_bnk$bank),bank,"other")]
freddie[,freddie:=1]
freddie[,newpurchase:=ifelse(loan_purpose=="P",1,0)]
freddie[,ltvorg:=ltv]
freddie[,ltv:=cltv]
fannie <- list.files(pattern="*.fst",path = "C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/Fannie/Acq",full.names = TRUE)
fannie = lapply(fannie, read_fst,as.data.table=T, columns = c("loan_identifier","seller_name","original_interest_rate","original_upb","original_loan_term","origination_date","original_ltv","original_dti","credit_score","property_type","property_state","zip_code","msa","loan_purpose","original_cltv","occupancy_type"))
fannie <- do.call(rbind , fannie)
fannie <- fannie[original_loan_term==360 & property_type=="SF" ]
fannie[,loanyr:=year(origination_date)]
fannie[,seller_name:= ifelse(seller_name %in% c("JPMORGAN CHASE BANK, NA","JPMORGAN CHASE BANK, NATIONAL ASSOCIATION","CHASE MANHATTAN MORTGAGE CORPORATION","CHASE HOME FINANCE LLC","CHASE HOME FINANCE","CHASE HOME FINANCE, LLC","JPMORGAN CHASE BANK, NATIONAL ASSOCIATION","JPMORGAN CHASE BANK, N.A."),"JPMORGAN CHASE BANK, NA",seller_name)]
fannie[,seller_name:= ifelse(seller_name %in% c("CITIMORTGAGE, INC.","ABN AMRO, NKA CITIMORTGAGE INC.","CITIMORTGAGE, INC."),"CITIMORTGAGE, INC.",seller_name)]
fannie[,seller_name:= ifelse(seller_name %in% c("WELLS FARGO HOME MORTGAGE, INC.","WELLS FARGO BANK, N.A."),"WELLS FARGO BANK, N.A.",seller_name)]
fannie[,bank:=seller_name]
fannie[,bank:=ifelse(bank %in% unique(cbsa_bnk$bank),bank,"other")]
fannie[,freddie:=0]
fannie[,ltvorg:=original_ltv]
fannie[,primary_occ:=ifelse(occupancy_type=="P",1,0)]
setnames(fannie,"zip_code","zipcode")
setnames(fannie,"original_ltv","ltv")
setnames(fannie,"original_upb","orig_upb")
setnames(fannie,"original_interest_rate","int_rt")
setnames(fannie,"loan_identifier","id_loan")
setnames(fannie,"credit_score","fico")
setnames(fannie,"original_dti","dti")
setnames(fannie,"original_cltv","cltv")
fannie[,c("property_type","property_state","original_loan_term","origination_date","occupancy_type"):=list(NULL)]
fannie[,loan_purpose:=ifelse(loan_purpose=="R","N",loan_purpose)]
fannie <- fannie[loan_purpose != "U"]
fannie[,id_loan:=as.character(id_loan)]
fannie[,newpurchase:=ifelse(loan_purpose=="P",1,0)]
fannie[,ltv:=cltv]
moodys <- read_fst("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/Moodys/0001/LoanChars.fst",as.data.table = TRUE, columns=c("loanid","loanoriginationdate","zipcode","originalloanbalance","originalcltv","state","originator","armflag","originalfico","originalterm","originalltv","documentationtype","originalinterestrate","purposetype","assettype","occupancytype"))
cbsa <- fread("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/Crosswalk Files/ZIP_CBSA.csv")
cbsa[,ZIP:=ifelse(nchar(ZIP)==3,paste0("00",ZIP),ifelse(nchar(ZIP)==4,paste0("0",ZIP),paste0(ZIP)))]
setorder(cbsa,ZIP,-RES_RATIO)
cbsa <- cbsa[!duplicated(cbsa[,c("ZIP")])]
cbsa[,c("RES_RATIO","BUS_RATIO","OTH_RATIO","TOT_RATIO"):=list(NULL)]
names(cbsa) <- c("zipcode","msa")
moodys <- merge(moodys,cbsa,by=c("zipcode"))
moodys <- moodys[originalterm==360 & armflag=="F" ] # & occupancytype=="PRI"
moodys[,loanyr:=as.numeric(substr(loanoriginationdate,1,4))]
moodys[,seller_name:= originator]
moodys[,seller_name:= ifelse(seller_name %in% c("JPMORGAN CHASE BANK, NA","JPMORGAN CHASE BANK, NATIONAL ASSOCIATION","CHASE MANHATTAN MORTGAGE CORPORATION","CHASE HOME FINANCE LLC","CHASE HOME FINANCE","CHASE HOME FINANCE, LLC","JPMORGAN CHASE BANK, NATIONAL ASSOCIATION","JPMORGAN CHASE BANK, N.A.","JP MORGAN CHASE BANK NA","CHASE MANHATTAN MORTGAGE CORP"),"JPMORGAN CHASE BANK, NA",seller_name)]
moodys[,seller_name:= ifelse(seller_name %in% c("B OF A"),"BANK OF AMERICA, N.A.",seller_name)]
moodys[,seller_name:= ifelse(seller_name %in% c("WELLS FARGO HOME MORTGAGE, INC.","WELLS FARGO BANK, N.A.","WELLS FARGO BANK N.A"," WELLS FARGO HOME MTG, INC"),"WELLS FARGO BANK, N.A.",seller_name)]
moodys[,int_rt:=originalinterestrate]
moodys[,dti:=0]
moodys[,ltv:=originalcltv]
moodys[,ltvorg:=originalltv]
moodys[,fico:=originalfico]
moodys[,orig_upb:= originalloanbalance]
moodys[,primary_occ:=ifelse(occupancytype=="PRI",1,0)]
# moodys[,c("originalinterestrate","originalltv","originalfico","originalloanbalance","msacode","csacode","divcode","loanoriginationdate","armflag","originalterm"):=list(NULL)]
moodys[,fulldocumentation:=ifelse(documentationtype=="FU",1,0)]
gc()
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 38915675 2078.4 72954281 3896.2 39067884 2086.5
## Vcells 695571414 5306.8 1621613387 12372.0 1580777217 12060.4
moodys[,bank:=seller_name]
moodys[,bank:=ifelse(bank %in% unique(cbsa_bnk$bank),bank,"other")]
moodys[,newpurchase:=ifelse(purposetype=="PUR",1,0)]
moodys <- moodys[assettype != "UN"]
regsample <- rbind(freddie,fannie)
regsample <- merge(regsample,cbsa_bnk,by.x=c("bank","msa","loanyr"),by.y=c("bank","cbsa","acyr"))
regsample[,bank_msa:=paste(seller_name,msa)]
regsample[,yr_msa:=paste(loanyr,msa)]
regsample[,fico:=fico/100]
regsample[,homevalue:= orig_upb*100/ltvorg]
regsample[,fico_cat:=ifelse(fico<6.6,"Less than 660",ifelse(fico<7.2,"660-720","0720 or more"))]
regsample[,dti_cat:=ifelse(dti<20,"0Less than 20",ifelse(dti<40,"20-40","40 or more"))]
regsample[,msinc13G:=ifelse(msinc13G %in% c("4. More than 10pct","3. 5pct - 10pct"),"3. 5pct or more",msinc13G)]
regsample[,msinc46G:=ifelse(msinc46G %in% c("4. More than 10pct","3. 5pct - 10pct"),"3. 5pct or more",msinc46G)]
regsample[,zip_year:=paste(loanyr,zipcode)]
regsample[,bank_year:=paste(seller_name,loanyr)]
regsample2 <- merge(moodys,cbsa_bnk,by.x=c("bank","msa","loanyr"),by.y=c("bank","cbsa","acyr"))
regsample2[,bank_msa:=paste(seller_name,zipcode)]
regsample2[,assettype:=ifelse(assettype=="Prime","0Prime",assettype)]
regsample2[,yr_msa:=paste(loanyr,msa)]
regsample2[,fico:=fico/100]
regsample2[,homevalue:= orig_upb*100/ltvorg]
regsample2[,msinc13G:=ifelse(msinc13G %in% c("4. More than 10pct","3. 5pct - 10pct"),"3. 5pct or more",msinc13G)]
regsample2[,zip_year:=paste(loanyr,zipcode)]
regsample2[,bank_year:=paste(seller_name,loanyr)]
Add zipcode fixed effects to exactly replicate the table
in the paper. It takes a long time to run the code, therefore
zipcode fixed effects are excluded from regressions (1) and
(2).
r <- list()
r[[1]] <- felm(int_rt~msinc13+msinc46+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+dti+log(orig_upb)+freddie+newpurchase+primary_occ|bank_msa+loanyr|0|msa,data=regsample[!(suc_share==0 & msinc13>1e-05)])
r[[2]] <- felm(int_rt~factor(msinc13G)+factor(msinc46G)+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+dti+log(orig_upb)+freddie+newpurchase+primary_occ|bank_msa+loanyr|0|msa,data=regsample[!(suc_share==0 & msinc13>1e-05)])
r[[3]] <- felm(int_rt~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+factor(assettype)+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05)])
#r[[4]] <- felm(int_rt~newpurchase*msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^3)+I(ltv^2)+suc_share+fulldocumentation+log(orig_upb)+factor(assettype)+primary_occ|seller_name+zip_year,data=regsample2[originalterm==360 & armflag=="F"])
r[[4]] <- felm(int_rt~factor(msinc13G)+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+factor(assettype)+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05)])
covlabs <- c("MSAcq1-3","MSAcq4-6","MSAcq1-3 (0,1]","MSAcq1-3 (1,5]","MSAcq1-3 (5,.]","MSAcq4-6 (0,1]","MSAcq4-6 (1,5]","MSAcq4-6 (5,.]","Acquirer Share","Full documentation","FICO Score", "Combined loan-to-value","FICO Score2","FICO Score3", "Combined loan-to-value2","Combined loan-to-value3","Debt-to-income","log(Loan amount)","Freddie Mac","New purchase","Alt-A","Subprime","Primar residence")
stargazer(r,no.space = T,align = T,omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", dep.var.labels.include = FALSE,type="text",covariate.labels = covlabs,
column.labels=c("GSE Sample","Non-agency sample"),column.separate=c(2,2),
add.lines = list(c("Year*Zipcode", rep("Y",6)),c("Bank", rep("Y",6))))
##
## ===================================================================
## GSE Sample Non-agency sample
## (1) (2) (3) (4)
## -------------------------------------------------------------------
## MSAcq1-3 0.564*** 2.091***
## (0.053) (0.654)
## MSAcq4-6 0.597***
## (0.095)
## MSAcq1-3 (0,1] 0.057*** 0.034***
## (0.004) (0.010)
## MSAcq1-3 (1,5] 0.045*** 0.159***
## (0.004) (0.025)
## MSAcq1-3 (5,.] 0.042*** 0.103*
## (0.004) (0.061)
## MSAcq4-6 (0,1] 0.009***
## (0.003)
## MSAcq4-6 (1,5] 0.034***
## (0.007)
## MSAcq4-6 (5,.] 0.025***
## (0.009)
## Acquirer Share -0.235*** -0.234*** 15.073*** 15.072***
## (0.025) (0.025) (0.343) (0.343)
## Full documentation 0.006*** 0.006*** -2.470*** -2.470***
## (0.002) (0.002) (0.051) (0.051)
## FICO Score -0.00004** -0.00004** 0.129*** 0.129***
## (0.00002) (0.00002) (0.003) (0.003)
## Combined loan-to-value -0.003*** -0.003*** -0.043*** -0.043***
## (0.0002) (0.0002) (0.004) (0.004)
## FICO Score2 0.0001*** 0.0001*** 0.0004*** 0.0004***
## (0.00000) (0.00000) (0.0001) (0.0001)
## FICO Score3 -0.00000*** -0.00000*** 0.00000 0.00000
## (0.000) (0.000) (0.00000) (0.00000)
## Combined loan-to-value2 -0.043* -0.221*** 0.720*** 0.668***
## (0.025) (0.035) (0.060) (0.063)
## Combined loan-to-value3 0.0001*** 0.0001***
## (0.00001) (0.00001)
## Debt-to-income -0.229*** -0.229***
## (0.003) (0.003)
## log(Loan amount) -0.164*** -0.164*** -1.128*** -1.128***
## (0.005) (0.005) (0.007) (0.007)
## Freddie Mac 0.047*** 0.048***
## (0.002) (0.002)
## New purchase 0.022*** 0.022*** 0.032*** 0.032***
## (0.003) (0.003) (0.003) (0.003)
## Alt-A 0.052*** 0.052***
## (0.003) (0.003)
## Subprime 0.297*** 0.297***
## (0.005) (0.005)
## Primar residence -0.340*** -0.340*** -0.178*** -0.178***
## (0.007) (0.007) (0.004) (0.004)
## Year*Zipcode Y Y Y Y
## Bank Y Y Y Y
## N 21,507,050 21,507,050 2,969,361 2,969,361
## Adjusted R2 0.889 0.889 0.549 0.549
## ===================================================================
r <- list()
r[[1]] <- felm(int_rt~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05) & assettype=="0Prime" ])
r[[2]] <- felm(int_rt~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05) & assettype=="Alt-A" ])
r[[3]] <- felm(int_rt~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05) & assettype=="Subprime" ])
covlabs <- c("MSAcq1-3","FICO Score", "Combined loan-to-value","FICO Score2","FICO Score3", "Combined loan-to-value2", "Combined loan-to-value3","Acquirer Share","Full documentation","log(Loan amount)","New purchase","Primary residence")
stargazer(r,no.space = T,align = T,omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", dep.var.labels.include = FALSE,type="text",covariate.labels = covlabs,
column.labels=c("Prime","Alt-A","Subprime"),column.separate=c(1,1,1),
add.lines = list(c("Year*Zipcode", rep("Y",6)),c("Bank", rep("Y",6))))
##
## ========================================================
## Prime Alt-A Subprime
## (1) (2) (3)
## --------------------------------------------------------
## MSAcq1-3 -0.769 6.311 27.985***
## (0.573) (4.303) (5.548)
## FICO Score 10.444*** 22.994*** 15.245***
## (3.079) (1.799) (0.860)
## Combined loan-to-value -1.669*** -3.544*** -2.552***
## (0.420) (0.258) (0.137)
## FICO Score2 0.085*** 0.177*** 0.136***
## (0.019) (0.012) (0.007)
## FICO Score3 0.002 -0.067*** -0.131***
## (0.005) (0.008) (0.003)
## Combined loan-to-value2 -0.0002* 0.001*** 0.002***
## (0.0001) (0.0001) (0.00005)
## Combined loan-to-value3 0.00000*** -0.00000 -0.00001***
## (0.00000) (0.00000) (0.00000)
## Acquirer Share 0.797*** 1.099*** -1.335***
## (0.050) (0.195) (0.276)
## Full documentation -0.165*** -0.357*** -0.453***
## (0.002) (0.005) (0.006)
## log(Loan amount) -0.755*** -1.327*** -1.674***
## (0.006) (0.008) (0.008)
## New purchase 0.003 0.019*** 0.060***
## (0.003) (0.006) (0.008)
## Primary residence -0.268*** -0.188*** -0.053***
## (0.004) (0.007) (0.011)
## Year*Zipcode Y Y Y
## Bank Y Y Y
## N 1,628,325 637,081 703,955
## Adjusted R2 0.646 0.602 0.455
## ========================================================
r <- list()
r[[1]] <- felm(log(orig_upb)~msinc13+msinc46+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+dti+freddie+newpurchase+primary_occ|bank_msa+loanyr|0|msa,data=regsample[!(suc_share==0 & msinc13>1e-05)])
r[[2]] <- felm(log(orig_upb)~factor(msinc13G)+factor(msinc46G)+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+dti+freddie+newpurchase+primary_occ|bank_msa+loanyr|0|msa,data=regsample[!(suc_share==0 & msinc13>1e-05)])
r[[3]] <- felm(log(orig_upb)~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+factor(assettype)+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05)])
#r[[4]] <- felm(int_rt~newpurchase*msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^3)+I(ltv^2)+suc_share+fulldocumentation+log(orig_upb)+factor(assettype)+primary_occ|seller_name+zip_year,data=regsample2[originalterm==360 & armflag=="F"])
r[[4]] <- felm(log(orig_upb)~factor(msinc13G)+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+factor(assettype)+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05)])
covlabs <- c("MSAcq1-3","MSAcq4-6","MSAcq1-3 (0,1]","MSAcq1-3 (1,5]","MSAcq1-3 (5,.]","MSAcq4-6 (0,1]","MSAcq4-6 (1,5]","MSAcq4-6 (5,.]","Acquirer Share","Full documentation","FICO Score", "Combined loan-to-value","FICO Score2","FICO Score3", "Combined loan-to-value2","Combined loan-to-value3","Debt-to-income","Freddie Mac","New purchase","Alt-A","Subprime","Primar residence")
stargazer(r,no.space = T,align = T,omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", dep.var.labels.include = FALSE,type="text",covariate.labels = covlabs,
column.labels=c("GSE Sample","Non-agency sample"),column.separate=c(2,2),
add.lines = list(c("Year*Zipcode", rep("Y",6)),c("Bank", rep("Y",6))))
##
## =====================================================================
## GSE Sample Non-agency sample
## (1) (2) (3) (4)
## ---------------------------------------------------------------------
## MSAcq1-3 0.203* 3.300***
## (0.111) (0.378)
## MSAcq4-6 -0.208
## (0.126)
## MSAcq1-3 (0,1] -0.017*** 0.023***
## (0.006) (0.006)
## MSAcq1-3 (1,5] 0.014 0.208***
## (0.010) (0.015)
## MSAcq1-3 (5,.] 0.010 0.079**
## (0.007) (0.033)
## MSAcq4-6 (0,1] -0.005
## (0.006)
## MSAcq4-6 (1,5] 0.014*
## (0.007)
## MSAcq4-6 (5,.] -0.029**
## (0.012)
## Acquirer Share 0.342*** 0.341*** -5.182*** -5.183***
## (0.029) (0.029) (0.111) (0.111)
## Full documentation -0.021*** -0.020*** 0.799*** 0.799***
## (0.002) (0.002) (0.017) (0.017)
## FICO Score 0.0002*** 0.0002*** -0.040*** -0.040***
## (0.00002) (0.00002) (0.001) (0.001)
## Combined loan-to-value 0.032*** 0.032*** 0.040*** 0.040***
## (0.001) (0.001) (0.004) (0.004)
## FICO Score2 -0.0002*** -0.0002*** -0.00003 -0.00003
## (0.00001) (0.00001) (0.0001) (0.0001)
## FICO Score3 0.00000*** 0.00000*** -0.00000*** -0.00000***
## (0.000) (0.000) (0.00000) (0.00000)
## Combined loan-to-value2 0.068 0.125*** -0.129*** -0.165***
## (0.042) (0.047) (0.034) (0.035)
## Combined loan-to-value3 0.0001*** 0.0001***
## (0.00000) (0.00000)
## Debt-to-income -0.022*** -0.023***
## (0.002) (0.002)
## Freddie Mac 0.021*** 0.021***
## (0.001) (0.001)
## New purchase -0.026*** -0.026*** -0.072*** -0.072***
## (0.004) (0.004) (0.002) (0.002)
## Alt-A -0.090*** -0.090***
## (0.001) (0.001)
## Subprime -0.079*** -0.079***
## (0.002) (0.002)
## Primar residence 0.337*** 0.337*** 0.220*** 0.220***
## (0.015) (0.015) (0.003) (0.003)
## Year*Zipcode Y Y Y Y
## Bank Y Y Y Y
## N 21,507,052 21,507,052 2,970,488 2,970,488
## Adjusted R2 0.409 0.410 0.605 0.605
## =====================================================================
r <- list()
r[[1]] <- felm(log(orig_upb)~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05) & assettype=="0Prime" ])
r[[2]] <- felm(log(orig_upb)~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05) & assettype=="Alt-A" ])
r[[3]] <- felm(log(orig_upb)~msinc13+fico+I(fico^2)+I(fico^3)+ltv+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+primary_occ|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05) & assettype=="Subprime" ])
covlabs <- c("MSAcq1-3","FICO Score", "Combined loan-to-value","FICO Score2","FICO Score3", "Combined loan-to-value2", "Combined loan-to-value3","Acquirer Share","Full documentation","log(Loan amount)","New purchase","Primary residence")
stargazer(r,no.space = T,align = T,omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n", dep.var.labels.include = FALSE,type="text",covariate.labels = covlabs,
column.labels=c("Prime","Alt-A","Subprime"),column.separate=c(1,1,1),
add.lines = list(c("Year*Zipcode", rep("Y",6)),c("Bank", rep("Y",6))))
##
## ===========================================================
## Prime Alt-A Subprime
## (1) (2) (3)
## -----------------------------------------------------------
## MSAcq1-3 2.393*** 12.446*** 0.726
## (0.411) (2.678) (2.628)
## FICO Score -13.240*** -3.030*** -3.619***
## (0.742) (0.547) (0.254)
## Combined loan-to-value 1.930*** 0.489*** 0.527***
## (0.102) (0.080) (0.041)
## FICO Score2 -0.093*** -0.026*** -0.024***
## (0.005) (0.004) (0.002)
## FICO Score3 0.052*** 0.017* 0.042***
## (0.003) (0.009) (0.008)
## Combined loan-to-value2 -0.0003*** 0.0004*** -0.00003
## (0.0001) (0.0002) (0.0001)
## Combined loan-to-value3 -0.00000*** -0.00000*** -0.00000***
## (0.00000) (0.00000) (0.00000)
## Acquirer Share -0.204*** 0.022 -0.073
## (0.035) (0.100) (0.098)
## Full documentation 0.051*** 0.050*** -0.076***
## (0.001) (0.002) (0.002)
## log(Loan amount) -0.001 -0.100*** -0.219***
## (0.002) (0.003) (0.004)
## New purchase 0.268*** 0.208*** 0.052***
## (0.003) (0.004) (0.003)
## Year*Zipcode Y Y Y
## Bank Y Y Y
## N 1,628,618 637,344 704,526
## Adjusted R2 0.624 0.534 0.530
## ===========================================================