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)]

1 High Risk Counties

A high risk county is defined as
  • a county that intercepts with the 6ft Sea Level Rise innundation layer provided by NOAA AND
  • at least 15% of the properties are vulnerable to flooding from a major storm. Approximately 75% of the counties have less than 15% of the properties vulnerable to flooding.



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())

2 Control counties

Two control samples were defined.
  1. SLR Counties: Counties that intercept with the 6ft Sea Level Rise innundation layer provided by NOAA, but less than 15% of the properties are vulnerable to floods
  2. SLR States: All the counties in coastal states from Texas to Maine, but less than 15% of the properties are vulnerable to floods



Blue counties: Treatment – High risk counties
Orange counties: Control counties

2.1 SLR 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())

2.2 SLR States

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())

3 Jumbo*High Risk - 30 year loans

Note: Sample is restricted to 30 year mortgates.♠

3.1 Dep. Var: Interest Rate

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
## 

3.2 Dep. Var: Mortgage application denied

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
## 

3.3 Dep. Var: Retained on Balance sheet

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
## 

4 30-year vs. 15-year loans

4.1 Interest Rate

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
## 

4.2 Denial Rate

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
##