slr_tracts <- read.dbf(file = "C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/Climate Change Mortgage/slr_tracts_orgslr.dbf",as.is = TRUE)
slr_counties <- unique(substr(slr_tracts$FIPS,1,5))
slr_states <- unique(substr(slr_counties,1,2))
files <- NULL
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))
files <- files[substr(files,100,103) %in% c("2018","2019")] #c("2014","2015","2016","2017","2018")
hmda = lapply(files, read_fst, as.data.table = TRUE,
columns=c("asofdate","respondentid","actiontaken","censustract","typeofloan","purposeofloan","amountofloan",
"combined_loan_to_value_ratio","interest_rate","applicantincome","debt_to_income_ratio",
"applicantrace1","state","countycode","ratespread","discount_points","total_loan_costs",
"total_points_and_fees","loan_term","intro_rate_period","lender_credits","origination_charges",
"typeofpurchaser","conforming_loan_limit","applicant_age","co_applicant_race_1","applicantethnicity",
"co_applicant_age","construction_method","applicantsex","co_applicant_sex","msa"))
hmda <- do.call(rbind , hmda)
hmda[,countycode:=substr(censustract,1,5)]
hmda[,msa:=str_pad(msa,width = 5,pad="0")]
hmda[,interest_rate:=as.numeric(interest_rate)]
hmda[,jumbo:=ifelse(conforming_loan_limit=="NC",1,0)]
hmda[,applicant_age:=ifelse(applicant_age %in% c("<25"),20,
ifelse(applicant_age %in% c("25-34"),30,
ifelse(applicant_age %in% c("35-44"),40,
ifelse(applicant_age %in% c("45-54"),50,
ifelse(applicant_age %in% c("55-64"),60,
ifelse(applicant_age %in% c("65-74"),70,
ifelse(applicant_age %in% c(">74"),80,NA)))))))]
hmda[,dti:=ifelse(debt_to_income_ratio %in% c("<20%"),0.15,
ifelse(debt_to_income_ratio %in% c("20%-<30%"),0.25,
ifelse(debt_to_income_ratio %in% c("30%-<36%"),0.33,
ifelse(debt_to_income_ratio %in% c("50%-60%"),0.55,
ifelse(debt_to_income_ratio %in% c(">60%"),0.65,
ifelse(debt_to_income_ratio %in% c("Exempt"),NA,debt_to_income_ratio))))))]
hmda[,dti:=as.numeric(dti)]
hmda[,dti:=ifelse(dti>1,dti/100,dti)]
hmda[,cltv:=as.numeric(combined_loan_to_value_ratio)]
hmda[,denied:=ifelse(actiontaken==3,1,ifelse(actiontaken %in% c(1,2),0,NA))]
hmda[,slrstate:=ifelse(state %in% slr_states,1,0 )]
hmda[,slrcounty:=ifelse(countycode %in% slr_counties,1,0)]
hmda[,county_year:=paste(countycode,asofdate)]
hmda[,lender_county_year:=paste(respondentid,countycode,asofdate)]
hmda[,censustract_year:=paste(censustract,asofdate)]
hmda[,term:=ifelse(loan_term==120,10,ifelse(loan_term==180,15,ifelse(loan_term==240,20,ifelse(loan_term==360,30,NA))))]
hmda[,retained:=ifelse(typeofpurchaser==0,1,0)]
nyt <- fread("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/NYT Flood Insurance/nyt_fema_fs_2.csv")
nyt[,fips:=str_pad(fips,width=5,pad = "0")]
nyt[,fspct:=as.numeric(fspct)/100]
nyt[,femapct:=as.numeric(femapct)/100]
nyt <- nyt[,c("fips","fspct")]
hmda <- merge(hmda,nyt,by.x="countycode",by.y="fips")
hmda[,fsbin:=floor(fspct*100/10)*10]
hmda[,fsbin:=ifelse(fsbin>40,40,fsbin)]
hmda[,highfs:=ifelse(fspct>0.133,1,0)]
hmda[,highrisk:=ifelse(highfs==1 & slrcounty==1,1,0)]
Counties identified as ‘high risk’ are colored in blue.
us_counties <- readOGR("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/Shapefiles/US Counties/cb_2013_us_county_20m","cb_2013_us_county_20m")
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\dratnadiwakara2\Documents\OneDrive - Louisiana State University\Raw Data\Shapefiles\US Counties\cb_2013_us_county_20m", layer: "cb_2013_us_county_20m"
## with 3221 features
## It has 9 fields
## Integer64 fields read as strings: ALAND AWATER
us_counties <- fortify(us_counties,region="GEOID")
us_counties <- data.table(us_counties)
us_counties[,state:=as.numeric(substr(id,1,2))]
cnty <- hmda[,c("countycode","highrisk","slrstate","slrcounty")]
cnty <- cnty[!duplicated(cnty$countycode)]
us_counties <- merge(us_counties,cnty,by.x="id",by.y="countycode",all.x=T)
us_states <- readOGR("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Raw Data/Shapefiles/US States","cb_2014_us_state_20m")
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\dratnadiwakara2\Documents\OneDrive - Louisiana State University\Raw Data\Shapefiles\US States", layer: "cb_2014_us_state_20m"
## with 52 features
## It has 9 fields
## Integer64 fields read as strings: ALAND AWATER
us_states <- data.table(fortify(us_states,region="GEOID"))
us_states[,id:=as.numeric(id)]
ggplot()+
geom_polygon(data=us_counties[! us_counties$state %in% c(2,15,72) & highrisk==1],aes(x=long,y=lat,group=group),color="dodgerblue4",fill="dodgerblue4")+ geom_polygon(data=us_states[! us_states$id %in% c(2,15,72)], aes(x=long,y=lat,group=group),fill=NA,color="gray50")+theme_minimal()+ theme(axis.title=element_blank(),
axis.text=element_blank(),
axis.ticks=element_blank(),panel.grid = element_blank())
Blue counties: Treatment – High risk counties
Orange counties: Control counties
ggplot()+geom_polygon(data=us_counties[! us_counties$state %in% c(2,15,72) & highrisk==0 & slrcounty==1],aes(x=long,y=lat,group=group),color="tan1",fill="tan1")+
geom_polygon(data=us_counties[! us_counties$state %in% c(2,15,72) & highrisk==1],aes(x=long,y=lat,group=group),color="dodgerblue4",fill="dodgerblue4")+
geom_polygon(data=us_states[! us_states$id %in% c(2,15,72)], aes(x=long,y=lat,group=group),fill=NA,color="gray50")+theme_minimal()+ theme(axis.title=element_blank(),
axis.text=element_blank(),
axis.ticks=element_blank(),panel.grid = element_blank())
ggplot()+
geom_polygon(data=us_counties[! us_counties$state %in% c(2,15,72) & highrisk==0 & slrstate==1],aes(x=long,y=lat,group=group),color="tan1",fill="tan1")+
geom_polygon(data=us_counties[! us_counties$state %in% c(2,15,72) & highrisk==1],aes(x=long,y=lat,group=group),color="dodgerblue4",fill="dodgerblue4")+
geom_polygon(data=us_states[! us_states$id %in% c(2,15,72)], aes(x=long,y=lat,group=group),fill=NA,color="gray50")+theme_minimal()+ theme(axis.title=element_blank(),
axis.text=element_blank(),
axis.ticks=element_blank(),panel.grid = element_blank())
Note: Sample is restricted to 30 year mortgates.♠
This section looks at whether interest rates on jumbo loans are higher in high risk areas.
\[ Interest rate = \alpha + \beta HighRisk \times Jumbo + \delta X \times Jumbo + Lender \times County \times Year FE\]
Column (1): Sample: Refinance mortgages, Control sample: SLR counties
Column (2): Sample: Refinance mortgages, Control sample: SLR states
Column (3): Sample: New purchase mortgages, Control sample: SLR counties
Column (4): Sample: New purchase mortgages, Control sample: SLR states
Interest rate is about 5 to 7bp higher for jumbo loans in high risk areas
regs <- list()
regs[[1]] <- felm(interest_rate~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrcounty==1])
regs[[2]] <- felm(interest_rate~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrstate==1])
regs[[3]] <- felm(interest_rate~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrcounty==1])
regs[[4]] <- felm(interest_rate~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrstate==1])
.printtable(regs)
##
## ======================================================================
## Dependent variable:
## ---------------------------------------
## (1) (2) (3) (4)
## ----------------------------------------------------------------------
## highrisk
## (0.000) (0.000) (0.000) (0.000)
## jumbo -0.110* 0.239** -0.399*** -0.471***
## (0.064) (0.103) (0.073) (0.068)
## log(1 + applicantincome) 0.182*** 0.185*** 0.097*** 0.107***
## (0.006) (0.005) (0.009) (0.006)
## log(1 + amountofloan) -0.419*** -0.423*** -0.194*** -0.230***
## (0.010) (0.008) (0.017) (0.010)
## dti 0.620*** 0.624*** 0.360*** 0.430***
## (0.030) (0.021) (0.027) (0.019)
## factor(purposeofloan)32 0.211*** 0.236***
## (0.010) (0.011)
## applicant_age -0.001*** -0.001*** -0.0002 -0.001***
## (0.0001) (0.0001) (0.0001) (0.0001)
## cltv 0.0001 0.00001** 0.000** 0.000**
## (0.0001) (0.00001) (0.000) (0.000)
## highrisk:jumbo 0.050*** 0.040*** 0.050*** 0.037***
## (0.014) (0.010) (0.009) (0.009)
## jumbo:log(1 + applicantincome) -0.068*** -0.072*** -0.052*** -0.028**
## (0.008) (0.008) (0.012) (0.011)
## jumbo:dti 0.235*** 0.255*** -0.030 -0.0004
## (0.049) (0.043) (0.037) (0.034)
## jumbo:applicant_age 0.002*** 0.0002 0.0004 0.001**
## (0.001) (0.0004) (0.0004) (0.0003)
## jumbo:cltv 0.005*** 0.001 0.007*** 0.007***
## (0.0004) (0.001) (0.001) (0.0005)
## ----------------------------------------------------------------------
##
## Observations 593,909 994,910 1,534,517 2,866,869
## Adjusted R2 0.452 0.451 0.414 0.406
## ======================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
##
This section looks at whether mortgage applications for jumbo loans in high risk areas are more likely to be denied
\[ Denied = \alpha + \beta HighRisk \times Jumbo + \delta X \times Jumbo + Lender \times County \times Year FE\]
Column (1): Sample: Refinance mortgages, Control sample: SLR counties
Column (2): Sample: Refinance mortgages, Control sample: SLR states
Column (3): Sample: New purchase mortgages, Control sample: SLR counties
Column (4): Sample: New purchase mortgages, Control sample: SLR states
Jumbo loans are 1 to 2% more likely to be denied in high risk areas
regs <- list()
regs[[1]] <- felm(denied~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[ loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrcounty==1])
regs[[2]] <- felm(denied~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[ loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrstate==1])
regs[[3]] <- felm(denied~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[ loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrcounty==1 ])
regs[[4]] <- felm(denied~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[ loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrstate==1 ])
.printtable(regs )
##
## ========================================================================
## Dependent variable:
## -----------------------------------------
## (1) (2) (3) (4)
## ------------------------------------------------------------------------
## highrisk
## (0.000) (0.000) (0.000) (0.000)
## jumbo -0.347*** -0.276*** -0.240*** -0.213***
## (0.060) (0.031) (0.021) (0.016)
## log(1 + applicantincome) 0.002 -0.003 -0.012*** -0.015***
## (0.003) (0.002) (0.002) (0.001)
## log(1 + amountofloan) -0.067*** -0.068*** -0.035*** -0.033***
## (0.003) (0.002) (0.002) (0.002)
## dti 1.061*** 0.997*** 0.580*** 0.531***
## (0.021) (0.015) (0.014) (0.010)
## factor(purposeofloan)32 -0.029*** -0.029***
## (0.003) (0.002)
## applicant_age -0.00004 -0.0001*** 0.0005*** 0.0004***
## (0.0001) (0.00005) (0.0001) (0.00003)
## cltv 0.00000*** 0.00000 -0.000*** -0.000***
## (0.00000) (0.00000) (0.000) (0.000)
## highrisk:jumbo 0.026*** 0.018*** 0.011*** 0.004
## (0.006) (0.006) (0.004) (0.004)
## jumbo:log(1 + applicantincome) 0.028*** 0.029*** 0.029*** 0.027***
## (0.004) (0.003) (0.003) (0.002)
## jumbo:dti 0.234*** 0.253*** 0.265*** 0.270***
## (0.021) (0.017) (0.025) (0.020)
## jumbo:applicant_age 0.002*** 0.002*** 0.0004*** 0.0004***
## (0.0002) (0.0001) (0.0001) (0.0001)
## jumbo:cltv 0.001*** 0.0004** 0.0002*** 0.00004**
## (0.0005) (0.0002) (0.0001) (0.00002)
## ------------------------------------------------------------------------
##
## Observations 895,115 1,492,096 1,774,880 3,296,857
## Adjusted R2 0.259 0.256 0.119 0.125
## ========================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
##
This section looks at whether jumbo mortgages in high risk areas are more likely to be retained on balance sheet.
\[ Denied = \alpha + \beta HighRisk \times Jumbo + \delta X \times Jumbo + Lender \times County \times Year FE\]
Column (1): Sample: Refinance mortgages, Control sample: SLR counties
Column (2): Sample: Refinance mortgages, Control sample: SLR states
Column (3): Sample: New purchase mortgages, Control sample: SLR counties
Column (4): Sample: New purchase mortgages, Control sample: SLR states
Jumbo loans are 2 to 3% more likely to be retained in high risk areas
regs <- list()
regs[[1]] <- felm(retained~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrcounty==1])
regs[[2]] <- felm(retained~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrstate==1])
regs[[3]] <- felm(retained~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrcounty==1])
regs[[4]] <- felm(retained~highrisk*jumbo+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & loan_term==360 & applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrstate==1])
.printtable(regs)
##
## ==========================================================================
## Dependent variable:
## -------------------------------------------
## (1) (2) (3) (4)
## --------------------------------------------------------------------------
## highrisk
## (0.000) (0.000) (0.000) (0.000)
## jumbo 0.316*** 0.167*** 0.269*** 0.188***
## (0.045) (0.058) (0.052) (0.041)
## log(1 + applicantincome) 0.066*** 0.058*** 0.020*** 0.013***
## (0.003) (0.002) (0.003) (0.002)
## log(1 + amountofloan) -0.057*** -0.057*** 0.0002 -0.004*
## (0.004) (0.003) (0.003) (0.002)
## dti 0.126*** 0.111*** 0.007* 0.009**
## (0.009) (0.007) (0.004) (0.004)
## factor(purposeofloan)32 -0.043*** -0.041***
## (0.003) (0.002)
## applicant_age 0.001*** 0.001*** 0.0002*** 0.0001***
## (0.00004) (0.00004) (0.00003) (0.00002)
## cltv -0.00001*** -0.00000*** 0.000*** 0.000*
## (0.00000) (0.00000) (0.000) (0.000)
## highrisk:jumbo 0.022* 0.009 0.034** 0.024*
## (0.012) (0.012) (0.016) (0.013)
## jumbo:log(1 + applicantincome) 0.002 0.023** 0.038*** 0.056***
## (0.008) (0.009) (0.009) (0.008)
## jumbo:dti -0.069*** -0.071*** -0.159*** -0.172***
## (0.022) (0.025) (0.023) (0.022)
## jumbo:applicant_age -0.0004* -0.0004* -0.0001 -0.0001
## (0.0002) (0.0002) (0.0002) (0.0002)
## jumbo:cltv -0.001*** -0.0003 -0.002*** -0.002***
## (0.0002) (0.0002) (0.0003) (0.0003)
## --------------------------------------------------------------------------
##
## Observations 593,909 994,910 1,534,517 2,866,869
## Adjusted R2 0.644 0.631 0.534 0.512
## ==========================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
##
This section looks at the difference in interest rate for 30 year mortgages relative to 15 year jumbo mortgaegs in high risk areas, relative to low risk areas. Not enough mortgages with other maturities.
\[ InterestRate = \alpha + \beta HighRisk \times Jumbo \times 30yr + \delta X \times Jumbo + Lender \times County \times Year FE\]
Column (1): Sample: Refinance mortgages, Control sample: SLR counties
Column (2): Sample: New purchase mortgages, Control sample: SLR counties
Interest rate of 30 year jumbo mortgages is 6 to 15bps higher in high risk areas relative to 15 year mortgages.
regs <- list()
regs[[1]] <- felm(interest_rate~highrisk*jumbo*factor(term)+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrcounty==1 & term %in% c(15,30)])
regs[[2]] <- felm(interest_rate~highrisk*jumbo*factor(term)+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[interest_rate>0 & interest_rate<10 & actiontaken==1 & applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrcounty==1 & term %in% c(15,30)])
.printtable(regs)
##
## ===========================================================
## Dependent variable:
## ----------------------------
## (1) (2)
## -----------------------------------------------------------
## highrisk
## (0.000) (0.000)
## jumbo 0.178** -0.037
## (0.074) (0.090)
## factor(term)30 0.574*** 0.667***
## (0.009) (0.040)
## log(1 + applicantincome) 0.215*** 0.079***
## (0.007) (0.010)
## log(1 + amountofloan) -0.477*** -0.157***
## (0.012) (0.023)
## dti 0.779*** 0.317***
## (0.029) (0.034)
## factor(purposeofloan)32 0.220***
## (0.011)
## applicant_age -0.001*** 0.00001
## (0.0001) (0.0001)
## cltv 0.0001 0.000**
## (0.00003) (0.000)
## highrisk:jumbo -0.0001 -0.100**
## (0.033) (0.047)
## highrisk:factor(term)30 0.004 -0.101**
## (0.014) (0.044)
## jumbo:factor(term)30 -0.248*** -0.385***
## (0.029) (0.042)
## jumbo:log(1 + applicantincome) -0.067*** -0.051***
## (0.009) (0.012)
## jumbo:dti 0.176*** -0.022
## (0.048) (0.036)
## jumbo:applicant_age 0.001** 0.0002
## (0.001) (0.0004)
## jumbo:cltv 0.005*** 0.007***
## (0.0004) (0.001)
## highrisk:jumbo:factor(term)30 0.058 0.153***
## (0.035) (0.049)
## -----------------------------------------------------------
##
## Observations 732,204 1,589,304
## Adjusted R2 0.465 0.420
## ===========================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
##
This section looks at the difference in denial rate for 30 year mortgages relative to 15 year jumbo mortgaegs in high risk areas, relative to low risk areas. Not enough mortgages with other maturities.
\[ Denied = \alpha + \beta HighRisk \times Jumbo \times 30yr + \delta X \times Jumbo + Lender \times County \times Year FE\]
Column (1): Sample: Refinance mortgages, Control sample: SLR counties
Column (2): Sample: New purchase mortgages, Control sample: SLR counties
Denial rate of 30 year jumbo mortgages is 2 to 16% higher in high risk areas relative to 15 year mortgages.
regs <- list()
regs[[1]] <- felm(denied~highrisk*jumbo*factor(term)+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+factor(purposeofloan)+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[ applicantincome>0 & amountofloan>0 & purposeofloan!=1 & slrcounty==1 & term %in% c(15,30)])
regs[[2]] <- felm(interest_rate~highrisk*jumbo*factor(term)+log(1+applicantincome)*jumbo+log(1+amountofloan)+dti*jumbo+applicant_age*jumbo+cltv*jumbo|lender_county_year|0|countycode,data=hmda[applicantincome>0 & amountofloan>0 & purposeofloan==1 & slrcounty==1 & term %in% c(15,30)])
.printtable(regs)
##
## ===========================================================
## Dependent variable:
## ----------------------------
## (1) (2)
## -----------------------------------------------------------
## highrisk
## (0.000) (0.000)
## jumbo -0.299*** 0.520**
## (0.055) (0.233)
## factor(term)30 0.073*** 0.633***
## (0.004) (0.062)
## log(1 + applicantincome) 0.002 0.126**
## (0.002) (0.049)
## log(1 + amountofloan) -0.065*** -0.156**
## (0.002) (0.067)
## dti 1.034*** 1.290***
## (0.018) (0.326)
## factor(purposeofloan)32 -0.031***
## (0.002)
## applicant_age -0.00002 -0.0001
## (0.0001) (0.001)
## cltv 0.00000*** 0.000*
## (0.00000) (0.000)
## highrisk:jumbo 0.002 -0.097*
## (0.013) (0.054)
## highrisk:factor(term)30 0.001 -0.097*
## (0.005) (0.054)
## jumbo:factor(term)30 -0.056*** -0.344***
## (0.009) (0.053)
## jumbo:log(1 + applicantincome) 0.027*** -0.101***
## (0.004) (0.028)
## jumbo:dti 0.253*** -0.940***
## (0.020) (0.269)
## jumbo:applicant_age 0.002*** 0.0005
## (0.0002) (0.001)
## jumbo:cltv 0.001*** 0.007***
## (0.0005) (0.001)
## highrisk:jumbo:factor(term)30 0.023* 0.158***
## (0.014) (0.058)
## -----------------------------------------------------------
##
## Observations 1,074,989 1,637,747
## Adjusted R2 0.253 0.300
## ===========================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
##