# 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[[2]] <- 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[[3]] <- temp
#
# temp <- list(8,"AmSouth Bancorporation - REGIONS FINANCIAL CORP 2006",
# c("2-0000245333"),
# c("9-0000233031","2-0000233031"),
# 2004,c("REGIONS BANK"),2006)
# mergers[[4]] <- 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[[5]] <- 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[[6]] <- temp
#
#
# temp <- list(11,"MBNA NA - BANK OF AMERICA 2005",c("1-0000024095"),c("1-0000013044"),
# 2003,"BANK OF AMERICA, N.A.",2005)
# mergers[[7]] <- 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[[8]] <- 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[[9]] <- 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[[10]] <- 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]
# cbsas[,nationwide_msacq:=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)]
# cw[,nationwide_msacq:=mean(temp$pred,na.rm=T)]
#
# 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"))))]
#
# cbsa_bnk[,msinc4plus:=msinc46+msinc79]
#
# write_fst(cbsa_bnk,"C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/Bank Mergers/Before June2023/data/cbsa_bnk_nonfailed_09072023.fst",compress = 100)
cbsa_bnk <- read_fst("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/Bank Mergers/Before June2023/data/cbsa_bnk_nonfailed_09072023.fst",as.data.table = T)
cbsa_bnk[,other_msinc13:=sum(msinc13,na.rm=T),by=.(cbsa,acyr)]
cbsa_bnk[,other_msinc46:=sum(msinc46,na.rm=T),by=.(cbsa,acyr)]
cbsa_bnk[,other_msinc13:=other_msinc13-msinc13]
cbsa_bnk[,other_msinc46:=other_msinc46-msinc46]
cbsa_bnk[,msinc13_dummy:=ifelse(msinc13>1e-05,1,0)]
cbsa_bnk[,yr_msa2:=paste(acyr,cbsa)]
cbsa_bnk[,msinc13_total:=sum(msinc13),by=yr_msa2]
cbsa_bnk[,msinc13_total:=ifelse(msinc13==1e-05,1e-05,msinc13_total)]
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 38940244 2079.7 72956901 3896.4 39092549 2087.8
## Vcells 695422164 5305.7 1621432634 12370.6 1580627880 12059.3
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)]
regsample[,active:=ifelse(suc_share>0 & msinc13>1e-05,1,0)]
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)]
regsample2[,active:=ifelse(suc_share>0 & msinc13>1e-05,1,0)]
# regsample2[,msinc13_total:=sum(msinc13),by=yr_msa]
# regsample2[,msinc13_total:=ifelse(msinc13==1e-05,1e-05,msinc13_total)]
r <- list()
r[[1]] <- felm(int_rt~msinc13+msinc4plus+suc_share+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+dti+log(orig_upb)+freddie+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr,data=regsample[ !(suc_share==0 & msinc13>1e-05)])
r[[2]] <- felm(int_rt~factor(msinc13G)+factor(msinc46G)+suc_share+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+dti+log(orig_upb)+freddie+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr,data=regsample[ !(suc_share==0 & msinc13>1e-05)])
r[[3]] <- felm(int_rt~msinc13+msinc4plus+suc_share+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+dti+log(orig_upb)+freddie+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr,data=regsample[ !(suc_share==0 & msinc13>1e-05) & loanyr<2008])
r[[4]] <- felm(int_rt~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+factor(assettype)+primary_occ+nationwide_msacq|seller_name+loanyr+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[[5]] <- felm(int_rt~factor(msinc13G)+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+factor(assettype)+primary_occ+nationwide_msacq|seller_name+loanyr+zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05)])
covlabs <- c("MSAcq1-3","MSAcq4Plus","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","Nationwide MSAcq")
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","GSE<2008","Non-agency sample"),column.separate=c(2,1,2),
add.lines = list(c("Bank*Zipcode", rep("Y",6)),c("Year", rep("Y",6))))
##
## =================================================================================
## GSE Sample GSE<2008 Non-agency sample
## (1) (2) (3) (4) (5)
## ---------------------------------------------------------------------------------
## MSAcq1-3 0.638*** 0.785*** 4.639***
## (0.031) (0.032) (0.578)
## MSAcq4Plus 0.713*** 3.338***
## (0.016) (0.169)
## MSAcq1-3 (0,1] 0.019*** 0.014
## (0.001) (0.015)
## MSAcq1-3 (1,5] 0.027*** 0.285***
## (0.001) (0.026)
## MSAcq1-3 (5,.] 0.017*** 0.200***
## (0.003) (0.048)
## MSAcq4-6 (0,1] 0.00004
## (0.001)
## MSAcq4-6 (1,5] -0.001
## (0.001)
## MSAcq4-6 (5,.] 0.014***
## (0.001)
## Acquirer Share -0.288*** -0.310*** -0.489*** 0.954*** 0.943***
## (0.005) (0.005) (0.008) (0.073) (0.075)
## Full documentation -0.246*** -0.246***
## (0.002) (0.002)
## FICO Score -0.233*** -0.232*** -0.428*** 15.159*** 15.149***
## (0.003) (0.003) (0.004) (0.244) (0.244)
## Combined loan-to-value -0.003*** -0.003*** -0.004*** -0.046*** -0.046***
## (0.00003) (0.00003) (0.00005) (0.001) (0.001)
## FICO Score2 0.006*** 0.006*** 0.025*** -2.469*** -2.467***
## (0.0002) (0.0002) (0.0003) (0.037) (0.037)
## FICO Score3 -0.00004*** -0.00004*** -0.0002*** 0.129*** 0.129***
## (0.00000) (0.00000) (0.00000) (0.002) (0.002)
## Combined loan-to-value2 0.00005*** 0.00005*** 0.0001*** 0.0005*** 0.0005***
## (0.00000) (0.00000) (0.00000) (0.00001) (0.00001)
## Combined loan-to-value3 -0.00000*** -0.00000*** -0.00000*** 0.00000*** 0.00000***
## (0.000) (0.000) (0.000) (0.00000) (0.00000)
## Debt-to-income 0.0001*** 0.0001*** 0.00004***
## (0.00000) (0.00000) (0.00000)
## log(Loan amount) -0.165*** -0.164*** -0.181*** -1.165*** -1.165***
## (0.0002) (0.0002) (0.0003) (0.002) (0.002)
## Freddie Mac 0.049*** 0.051*** 0.052***
## (0.0003) (0.0003) (0.001)
## New purchase 0.021*** 0.021*** 0.014*** -0.014*** -0.014***
## (0.0002) (0.0002) (0.0003) (0.002) (0.002)
## Alt-A 0.043*** 0.043***
## (0.003) (0.003)
## Subprime 0.268*** 0.268***
## (0.004) (0.004)
## Primar residence -0.340*** -0.340*** -0.322*** -0.234*** -0.234***
## (0.0003) (0.0003) (0.0004) (0.003) (0.003)
## Nationwide MSAcq 0.234*** 0.073* 0.684*** -5.359*** -1.943
## (0.040) (0.040) (0.041) (1.202) (1.429)
## Bank*Zipcode Y Y Y Y Y
## Year Y Y Y Y Y
## N 22,042,939 22,042,939 12,249,892 2,969,361 2,969,361
## Adjusted R2 0.890 0.890 0.653 0.488 0.488
## =================================================================================
r <- list()
r[[1]] <- felm(int_rt~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & assettype=="0Prime" ])
r[[2]] <- felm(int_rt~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & assettype=="Alt-A" ])
r[[3]] <- felm(int_rt~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+log(orig_upb)+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & assettype=="Subprime" ])
# r[[4]] <- felm(int_rt~msinc13*factor(assettype)+fico+ltv+I(fico^2)+I(fico^3)+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)])
covlabs <- c("MSAcq1-3","Alt-A","Subprime","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","Nationwide MSAcq")
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("Bank*Zipcode", rep("Y",6)),c("Year", rep("Y",6))))
##
## ========================================================
## Prime Alt-A Subprime
## (1) (2) (3)
## --------------------------------------------------------
## MSAcq1-3 -1.340** 3.094 45.618***
## (0.532) (3.332) (3.960)
## Alt-A 9.996*** 22.951*** 15.215***
## (3.052) (1.799) (0.858)
## Subprime 0.003 -0.066*** -0.130***
## (0.005) (0.008) (0.003)
## FICO Score -1.606*** -3.538*** -2.547***
## (0.416) (0.258) (0.137)
## Combined loan-to-value 0.082*** 0.177*** 0.136***
## (0.019) (0.012) (0.007)
## FICO Score2 -0.0002** 0.001*** 0.002***
## (0.0001) (0.0001) (0.00005)
## FICO Score3 0.00000*** -0.00000 -0.00001***
## (0.00000) (0.00000) (0.00000)
## Combined loan-to-value2 0.710*** 1.010*** -1.539***
## (0.050) (0.193) (0.271)
## Combined loan-to-value3 -0.166*** -0.358*** -0.452***
## (0.002) (0.005) (0.006)
## Acquirer Share -0.749*** -1.325*** -1.674***
## (0.006) (0.008) (0.008)
## Full documentation 0.003 0.019*** 0.061***
## (0.003) (0.006) (0.008)
## log(Loan amount) -0.268*** -0.188*** -0.053***
## (0.004) (0.007) (0.011)
## New purchase -9.016*** -5.118 14.488***
## (0.908) (4.904) (5.105)
## Bank*Zipcode Y Y Y
## Year Y Y Y
## N 1,649,390 640,223 707,828
## Adjusted R2 0.645 0.602 0.454
## ========================================================
r <- list()
r[[1]] <- felm(log(orig_upb)~msinc13+msinc4plus+suc_share+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+dti+freddie+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr,data=regsample[ !(suc_share==0 & msinc13>1e-05)])
r[[2]] <- felm(log(orig_upb)~factor(msinc13G)+factor(msinc46G)+suc_share+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+dti+freddie+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr,data=regsample[ !(suc_share==0 & msinc13>1e-05)])
r[[3]] <- felm(log(orig_upb)~msinc13+suc_share+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+dti+freddie+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr,data=regsample[ !(suc_share==0 & msinc13>1e-05) & loanyr<2008])
r[[4]] <- felm(log(orig_upb)~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+factor(assettype)+primary_occ+nationwide_msacq|seller_name+loanyr+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[[5]] <- felm(log(orig_upb)~factor(msinc13G)+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+factor(assettype)+primary_occ+nationwide_msacq|seller_name+loanyr+zipcode,data=regsample2[originalterm==360 & armflag=="F" & !(suc_share==0 & msinc13>1e-05)])
covlabs <- c("MSAcq1-3","MSAcq4+","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","Nationwide MSAcq")
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","GSE<2008","Non-agency sample"),column.separate=c(2,1,2),
add.lines = list(c("Bank*Zipcode", rep("Y",6)),c("Year", rep("Y",6))))
##
## ================================================================================
## GSE Sample GSE<2008 Non-agency sample
## (1) (2) (3) (4) (5)
## --------------------------------------------------------------------------------
## MSAcq1-3 -0.197*** -0.141*** 0.450**
## (0.035) (0.034) (0.224)
## MSAcq4+ 0.266***
## (0.018)
## MSAcq1-3 (0,1] 0.014*** -0.003
## (0.001) (0.006)
## MSAcq1-3 (1,5] 0.006*** 0.047***
## (0.002) (0.010)
## MSAcq1-3 (5,.] -0.025*** 0.039**
## (0.003) (0.019)
## MSAcq4-6 (0,1] 0.029***
## (0.001)
## MSAcq4-6 (1,5] 0.030***
## (0.001)
## MSAcq4-6 (5,.] -0.040***
## (0.002)
## Acquirer Share 0.028*** 0.022*** 0.208*** -0.210*** -0.204***
## (0.005) (0.005) (0.008) (0.028) (0.029)
## Full documentation 0.025*** 0.025***
## (0.001) (0.001)
## FICO Score 0.347*** 0.347*** 0.368*** -5.268*** -5.270***
## (0.003) (0.003) (0.004) (0.094) (0.094)
## Combined loan-to-value 0.032*** 0.032*** 0.035*** 0.038*** 0.038***
## (0.00004) (0.00004) (0.00005) (0.0004) (0.0004)
## FICO Score2 -0.021*** -0.021*** -0.024*** 0.807*** 0.808***
## (0.0003) (0.0003) (0.0003) (0.014) (0.014)
## FICO Score3 0.0002*** 0.0002*** 0.0002*** -0.040*** -0.040***
## (0.00000) (0.00000) (0.00000) (0.001) (0.001)
## Combined loan-to-value2 -0.0002*** -0.0002*** -0.0002*** 0.00002*** 0.00002***
## (0.00000) (0.00000) (0.00000) (0.00001) (0.00001)
## Combined loan-to-value3 0.00000*** 0.00000*** 0.00000*** -0.00000*** -0.00000***
## (0.000) (0.000) (0.000) (0.00000) (0.00000)
## Debt-to-income 0.0001*** 0.0001*** 0.0001***
## (0.00000) (0.00000) (0.00000)
## log(Loan amount) -0.021*** -0.022*** -0.037***
## (0.0003) (0.0003) (0.001)
## Freddie Mac -0.028*** -0.028*** 0.018*** -0.073*** -0.073***
## (0.0002) (0.0002) (0.0003) (0.001) (0.001)
## New purchase -0.089*** -0.089***
## (0.001) (0.001)
## Alt-A -0.071*** -0.071***
## (0.002) (0.002)
## Subprime 0.338*** 0.338*** 0.311*** 0.243*** 0.242***
## (0.0003) (0.0003) (0.0004) (0.001) (0.001)
## Primar residence -0.257*** -0.169*** 0.463*** -9.131*** -8.521***
## (0.045) (0.045) (0.043) (0.465) (0.553)
## Bank*Zipcode Y Y Y Y Y
## Year Y Y Y Y Y
## N 22,042,941 22,042,941 12,249,894 2,970,488 2,970,488
## Adjusted R2 0.409 0.409 0.355 0.588 0.588
## ================================================================================
r <- list()
r[[1]] <- felm(log(orig_upb)~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & assettype=="0Prime" ])
r[[2]] <- felm(log(orig_upb)~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & assettype=="Alt-A" ])
r[[3]] <- felm(log(orig_upb)~msinc13+fico+ltv+I(fico^2)+I(fico^3)+I(ltv^2)+I(ltv^3)+suc_share+fulldocumentation+newpurchase+primary_occ+nationwide_msacq|bank_msa+loanyr|0|zipcode,data=regsample2[originalterm==360 & armflag=="F" & assettype=="Subprime" ])
# r[[4]] <- felm(int_rt~msinc13*factor(assettype)+fico+ltv+I(fico^2)+I(fico^3)+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)])
covlabs <- c("MSAcq1-3","Alt-A","Subprime","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","Nationwide MSAcq")
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("Bank*Zipcode", rep("Y",6)),c("Year", rep("Y",6))))
##
## ===========================================================
## Prime Alt-A Subprime
## (1) (2) (3)
## -----------------------------------------------------------
## MSAcq1-3 -0.543 5.648*** -4.036***
## (0.404) (1.818) (1.356)
## Alt-A -13.262*** -3.004*** -3.635***
## (0.735) (0.547) (0.253)
## Subprime 0.052*** 0.016* 0.042***
## (0.003) (0.009) (0.008)
## FICO Score 1.933*** 0.486*** 0.530***
## (0.101) (0.080) (0.041)
## Combined loan-to-value -0.093*** -0.026*** -0.024***
## (0.005) (0.004) (0.002)
## FICO Score2 -0.0003*** 0.0004*** -0.00003
## (0.0001) (0.0002) (0.0001)
## FICO Score3 -0.00000*** -0.00000*** -0.00000***
## (0.00000) (0.00000) (0.00000)
## Combined loan-to-value2 -0.231*** 0.032 -0.085
## (0.034) (0.099) (0.096)
## Combined loan-to-value3 0.045*** 0.049*** -0.076***
## (0.001) (0.002) (0.002)
## Acquirer Share -0.002 -0.100*** -0.219***
## (0.002) (0.003) (0.004)
## Full documentation 0.268*** 0.209*** 0.052***
## (0.003) (0.004) (0.003)
## log(Loan amount) -10.069*** 0.310 -8.608***
## (0.645) (2.590) (1.986)
## Bank*Zipcode Y Y Y
## Year Y Y Y
## N 1,649,683 640,486 708,399
## Adjusted R2 0.625 0.534 0.530
## ===========================================================