rm(list=ls())
library(stargazer)
library(plyr)
library(lfe)
library(zoo)
library(scales)
library(rdrobust)
library(data.table)
library(ggplot2)
library(dplyr)
library(fst)
library(fixest)
Main Sample
See “Merging ZTRAX Data” for sample construction code. The following sample is the subset of homes that were purchased in or before 2007.
zdata_reg <- readRDS("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/MS-FIN-21-00651/second iteration/main_sample.rds")
Table 1: Descriptive Statistics
stargazer(zdata_reg[,c("Purchase_price","predprice","Listing_price","lppp","sppp","Property_tax_last_year","Property_tax_rate_last_year","purchase_hpi","hpi_inflation","ownership_years","beds","baths","sqft","LotSizeSquareFeet","house_age","LTV_prev","avg_school_rating","avg_school_distance","totalpopulation","medianage","medianhouseholdincome","Renter_fraction")],
summary.stat = c("mean","sd","p25","median","p75","n"),
digits = 4,
covariate.labels =c("Purchased price ($)","Predicted price ($)","Listing price ($)","Listing price/Predicted price","Selling price/Predicted price","Effective tax rate","Property taxes paid ($)","HPI_{Purchase}","HPI_{List}/HPI_{Purchase}","Years of ownership","Number of bedrooms","Number of bathrooms","House area (sq. ft)","Lot area (sq. ft)","Age of the house (years)","Loan-to-value_{Purchase}","GreatSchools rating","Distance to schools (miles)","Census tract population","Census tract median age","Census tract median income","Census traction fraction of renters") ,
type="text" ) #
##
## ===========================================================================================================
## Statistic Mean St. Dev. Pctl(25) Median Pctl(75) N
## -----------------------------------------------------------------------------------------------------------
## Purchased price () 451,405.2000 366,721.0000 225,000 361,000 575,000 25,043
## Predicted price () 600,015.2000 431,279.9000 346,363.3000 487,528.8000 716,175.0000 25,043
## Listing price () 656,090.0000 470,464.3000 386,082.5000 550,837.5000 779,112.5000 25,043
## Listing price/Predicted price 1.1335 0.5071 0.9294 1.0551 1.2258 25,043
## Selling price/Predicted price 1.0988 0.4861 0.9062 1.0263 1.1851 25,043
## Effective tax rate 5,662.5980 4,165.6510 3,117.0000 4,710.0900 7,001.0400 25,043
## Property taxes paid () 0.0104 0.0038 0.0081 0.0099 0.0119 25,043
## HPIPurchase 421,730.6000 246,198.4000 247,200 382,400 544,100 25,043
## HPIList/HPIPurchase 1.4374 0.6143 0.9899 1.2438 1.7102 25,043
## Years of ownership 12.5721 2.7679 11 12 14 25,043
## Number of bedrooms 3.4190 0.8612 3 3 4 25,043
## Number of bathrooms 2.4723 0.9872 2 2 3 25,043
## House area (sq. ft) 1,981.8300 823.0664 1,406 1,805 2,382 25,043
## Lot area (sq. ft) 17,381.1500 113,138.5000 5,662 7,200 10,018 25,043
## Age of the house (years) 39.0934 22.8029 19 35 56 25,043
## Loan-to-valuePurchase 0.6406 0.4103 0.3956 0.7841 0.8000 25,018
## GreatSchools rating 6.8557 2.0250 5.3333 7.0000 8.6667 25,016
## Distance to schools (miles) 1.4147 1.1363 0.8000 1.1333 1.6667 25,023
## Census tract population 5,876.4770 2,924.1920 4,122.0000 5,375.0000 6,813.0000 25,039
## Census tract median age 40.0738 7.8136 34.6000 39.2000 44.4000 25,037
## Census tract median income 81,070.0100 31,010.2200 57,963.2500 76,227.5000 99,688.0000 25,036
## Census traction fraction of renters 0.3227 0.1707 0.1923 0.2937 0.4296 25,037
## -----------------------------------------------------------------------------------------------------------
Setting Up Regressions
controls1 = "log(predprice)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+log(house_age)+log(LotSizeSquareFeet)+LTV_prev+medianage+log(medianhouseholdincome)+Renter_fraction|zip_list_month|"
controls2 = "log(predprice)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+log(house_age)+log(LotSizeSquareFeet)+LTV_prev+medianage+log(medianhouseholdincome)+Renter_fraction|tract_list_month|"
controls3 = "log(predprice)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+log(house_age)+log(LotSizeSquareFeet)+LTV_prev+medianage+log(medianhouseholdincome)+Renter_fraction+log(nominalloss)|zip_list_month|"
controls4 = "log(adj_purch_price)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+log(house_age)+log(LotSizeSquareFeet)+LTV_prev|zip_list_month|"
cluster = "|zip"
instruments = "ownership_years" #
endo_var = "Property_tax_rate_last_year"
Table 2: Effect of Years of Ownership on Effective Tax Rate in California
regs <- list()
regs[[1]] <- felm(as.formula(paste("I(prop_tax_rate*100)~ownership_years+",controls1,"0",cluster,sep="")),data=zdata_reg)
regs[[2]] <- felm(as.formula(paste("I(prop_tax_rate*100)~ownership_years+",controls2,"0","|GEOID",sep="")),data=zdata_reg)
stargazer(regs,
no.space = T,align = T,
omit.stat=c("ser","f", "rsq"),
style = "qje",omit.table.layout = "n",
dep.var.labels.include = F,
covariate.labels = c("Ownership years","log(Predicted price)","Number of bedrooms","Number of bathrooms","House area","GreatSchools rating","Distance to schools","Distance to amenities","log(Age of the house)","log(Lot area)","Loan-to-value_{Purchase}","Census tract median age","log(Census tract median income)","Census tract fraction of renters"),
type="text")
##
## ====================================================
## (1) (2)
## ----------------------------------------------------
## Ownership years -0.054*** -0.052***
## (0.001) (0.001)
## log(Predicted price) -0.724*** -0.797***
## (0.020) (0.025)
## Number of bedrooms 0.039*** 0.033***
## (0.007) (0.009)
## Number of bathrooms 0.019* 0.044***
## (0.011) (0.009)
## House area 0.289*** 0.290***
## (0.034) (0.049)
## GreatSchools rating 0.013*** 0.014
## (0.004) (0.009)
## Distance to schools 0.004 0.002
## (0.004) (0.010)
## Distance to amenities -0.0003* -0.001**
## (0.0002) (0.0003)
## log(Age of the house) -0.095*** -0.109***
## (0.009) (0.014)
## log(Lot area) 0.046*** 0.050***
## (0.007) (0.010)
## Loan-to-valuePurchase 0.039*** 0.031***
## (0.007) (0.012)
## Census tract median age 0.002***
## (0.001) (0.000)
## log(Census tract median income) 0.130***
## (0.020) (0.000)
## Census tract fraction of renters 0.104***
## (0.035) (0.000)
## N 23,977 23,977
## Adjusted R2 0.619 0.653
## ====================================================
Table 4: Effect of Property Taxes on Listing Price
olsformula <- as.formula(paste("log(Listing_price)~Property_tax_rate_last_year+",controls1,"0",cluster,sep=""))
ivformula <- as.formula(paste("log(Listing_price)~",controls1,"(",endo_var,"~",instruments,")",cluster,sep=""))
ivformula_tract <-as.formula(paste("log(Listing_price)~",controls2,"(",endo_var,"~",instruments,")","|GEOID",sep=""))
ivformula_tract_loss <-as.formula(paste("log(Listing_price)~",controls3,"(",endo_var,"~",instruments,")",cluster,sep=""))
ivformula_listingpremium <- as.formula(paste("lppp~",controls1,"(",endo_var,"~",instruments,")",cluster,sep=""))
regs <- list()
regs[[1]] <- felm(olsformula,data=zdata_reg)
regs[[2]] <- felm(ivformula,data=zdata_reg)
regs[[3]] <- felm(ivformula_tract,data=zdata_reg)
regs[[4]] <- felm(ivformula_tract_loss,data=zdata_reg)
regs[[5]] <- felm(ivformula_listingpremium,data=zdata_reg)
stargazer(regs,
no.space = T,align = T,
omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n",
dep.var.labels.include = FALSE,
covariate.labels = c("Effective tax rate","log(Predicted price)","Number of bedrooms","Number of bathrooms","log(House area)","GreatSchools rating","Distance to schools","Distance to amenities","log(Age of the house)","log(Lot area)","Loan-to-value_{Purchase}","Census tract median age","log(Census tract median income)","Census tract fraction of renters","log(Nominal loss)"),
column.labels=c("OLS","IV"),column.separate=c(1,3),
add.lines = list(c("zipmonth", "Yes", "Yes", "No","Yes","Yes"),
c("tractmonth", "No", "No", "Yes","No","No"),
c("Cond. F. Stat",
"",
round(condfstat(regs[[2]])[[1]],2),
round(condfstat(regs[[3]])[[1]],2),
round(condfstat(regs[[4]])[[1]],2),
round(condfstat(regs[[5]])[[1]],2))),
type="text")
##
## =======================================================================================
## OLS IV
## (1) (2) (3) (4) (5)
## ---------------------------------------------------------------------------------------
## Effective tax rate 18.804***
## (0.921)
## log(Predicted price) 0.460*** 0.410*** 0.398*** 0.402*** -0.880***
## (0.020) (0.019) (0.025) (0.019) (0.033)
## Number of bedrooms 0.028*** 0.031*** 0.025*** 0.031*** 0.082**
## (0.007) (0.007) (0.008) (0.007) (0.040)
## Number of bathrooms 0.023* 0.025* 0.047*** 0.025* 0.056
## (0.012) (0.013) (0.008) (0.013) (0.037)
## log(House area) 0.154*** 0.173*** 0.166*** 0.177*** 0.042
## (0.034) (0.036) (0.052) (0.036) (0.214)
## GreatSchools rating 0.012*** 0.013*** 0.013** 0.013*** 0.023***
## (0.003) (0.003) (0.006) (0.003) (0.007)
## Distance to schools -0.004 -0.003 0.0001 -0.003 -0.002
## (0.003) (0.003) (0.006) (0.003) (0.005)
## Distance to amenities -0.0003*** -0.0003*** -0.001*** -0.0003*** -0.001*
## (0.0001) (0.0001) (0.0002) (0.0001) (0.001)
## log(Age of the house) -0.015** -0.023*** -0.030*** -0.024*** -0.055**
## (0.007) (0.007) (0.010) (0.007) (0.027)
## log(Lot area) 0.069*** 0.072*** 0.069*** 0.073*** 0.114***
## (0.007) (0.007) (0.010) (0.007) (0.018)
## Loan-to-valuePurchase 0.001 0.002 -0.003 0.002 0.002
## (0.004) (0.004) (0.006) (0.004) (0.016)
## Census tract median age 0.003*** 0.003*** 0.003*** 0.004***
## (0.0005) (0.0005) (0.000) (0.0005) (0.001)
## log(Census tract median income) 0.082*** 0.091*** 0.092*** 0.162***
## (0.012) (0.012) (0.000) (0.012) (0.040)
## Census tract fraction of renters 0.069*** 0.075*** 0.076*** 0.138***
## (0.021) (0.021) (0.000) (0.021) (0.035)
## log(Nominal loss) 0.001
## (0.0004)
## `Property_tax_rate_last_year(fit)` 12.718*** 13.401*** 11.797*** 12.388***
## (0.993) (1.564) (1.035) (1.387)
## zipmonth Yes Yes No Yes Yes
## tractmonth No No Yes No No
## Cond. F. Stat 217.95 107 185.04 217.95
## N 23,977 23,977 23,977 23,977 23,977
## Adjusted R2 0.941 0.940 0.948 0.940 0.395
## =======================================================================================
Table 5: Variation by Expectation of Loss
regs <- list()
regs[[1]] <- felm(olsformula,data=zdata_reg[nominalloss>1])
regs[[2]] <- felm(olsformula,data=zdata_reg[nominalloss<=1])
regs[[3]] <- felm(olsformula,data=zdata_reg[pricechangeqt<=8])
regs[[4]] <- felm(olsformula,data=zdata_reg[pricechangeqt %in% 8:16])
regs[[5]] <- felm(ivformula,data=zdata_reg[pricechangeqt<=8])
regs[[6]] <- felm(ivformula,data=zdata_reg[pricechangeqt %in% 8:16])
stargazer(regs,
no.space = T,align = T,
omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n",
dep.var.labels.include = FALSE,
covariate.labels = c("Effective tax rate","log(Predicted price)"),
column.labels=c("OLS","IV"),column.separate=c(4,2),
add.lines = list(c("Controls", "Yes", "Yes", "Yes","Yes","Yes","Yes"),
c("zipmonth", "Yes", "Yes", "Yes","Yes","Yes","Yes"),
c("Cond. F. Stat","","","","",
round(condfstat(regs[[5]])[[1]],2),
round(condfstat(regs[[6]])[[1]],2))),
keep=c("Property_tax_rate_last_year","predprice"),
type="text")
##
## ==============================================================================================
## OLS IV
## (1) (2) (3) (4) (5) (6)
## ----------------------------------------------------------------------------------------------
## Effective tax rate 22.437*** 16.114*** 20.015*** 18.271***
## (2.444) (1.040) (1.468) (0.990)
## log(Predicted price) 0.660*** 0.385*** 0.536*** 0.422*** 0.506*** 0.368***
## (0.049) (0.022) (0.034) (0.020) (0.036) (0.019)
## `Property_tax_rate_last_year(fit)` 17.219*** 11.016***
## (1.974) (1.047)
## Controls Yes Yes Yes Yes Yes Yes
## zipmonth Yes Yes Yes Yes Yes Yes
## Cond. F. Stat 41.7 224.04
## N 5,041 18,936 9,459 16,109 9,459 16,109
## Adjusted R2 0.931 0.951 0.896 0.918 0.895 0.916
## ==============================================================================================
Table 6: Other Cross-Sectional Splits
regs <- list()
regs[[1]] <- felm(ivformula,data=zdata_reg[Listing_price<listing_q3])
regs[[2]] <- felm(ivformula,data=zdata_reg[Listing_price>=listing_q3])
CA <- read_fst("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/Sunk Cost/Processed Data/all_homes_prev/CA_all_homes_prev.fst",columns = c("BuildingAreaSqFt","zip","Bedrooms"),as.data.table = T)
CA_summary <- CA[,.(
sqft_lb=quantile(BuildingAreaSqFt,0.25, na.rm=T),
sqft_hb=quantile(BuildingAreaSqFt,0.75, na.rm=T)),
by=zip]
temp <- CA[,.(
beds_lb=quantile(Bedrooms,0.25, na.rm=T),
beds_hb=floor(quantile(Bedrooms,0.75, na.rm=T)+0.99)),
by=zip]
CA_summary <- merge(CA_summary,temp,by="zip")
zdata_reg <- merge(zdata_reg,CA_summary,by="zip",all.x=T)
zdata_reg[,outlider_sqft:=ifelse(sqft>sqft_hb ,1,0)]
zdata_reg[,outlider_beds:=ifelse(beds>beds_hb,1,0)]
regs[[3]] <- felm(ivformula,data=zdata_reg[outlider_sqft==0 & outlider_beds==0])
regs[[4]] <- felm(ivformula,data=zdata_reg[outlider_sqft==1 | outlider_beds==1])
popbyzip<- fread("https://raw.githubusercontent.com/fissehab/US_Population_Data/master/pop-by-zip-code.csv")
popbyzip <- popbyzip[,c("zip_code","y-2016")]
names(popbyzip) <- c("zip","population")
redfin <- read.csv("C:/Users/dratnadiwakara2/Documents/Research/UH computer27/sunkcost_2019/home_sales_redfin.csv")
redfin <- merge(redfin,popbyzip,by="zip")
redfin$month <- as.Date(redfin$month,origin="1900-01-01")
redfin <- data.table(redfin)
redfin[,home_sales:=home_sales/population]
redfin <- redfin[redfin$month<="2016-01-01"]
redfin <- redfin[,.(median_home_sales=median(home_sales)),by=list(zip)]
redfin[,low_activiy:=ifelse(redfin$median_home_sales<quantile(redfin$median_home_sales,0.5),1,0)]
names(redfin) <- c("zip","median_home_sales_2","low_activity_2")
zdata_reg <- merge(zdata_reg,redfin,by="zip",all.x=TRUE)
regs[[5]] <- felm(ivformula,data=zdata_reg[low_activity_2==1])
regs[[6]] <- felm(ivformula,data=zdata_reg[low_activity_2==0])
temp <- zdata_reg[!duplicated(zdata_reg$GEOID)]
median_age <- median(temp$medianage,na.rm = TRUE)
zdata_reg[,agelow:=ifelse(medianage<=median_age,1,0)]
regs[[7]] <- felm(ivformula,data=zdata_reg[medianage<=median_age])
regs[[8]] <- felm(ivformula,data=zdata_reg[medianage>median_age])
medincome <- median(temp$medianhouseholdincome,na.rm = TRUE)
zdata_reg[,inclow:=ifelse(medianhouseholdincome<=medincome,1,0)]
regs[[9]] <- felm(ivformula,data=zdata_reg[medianhouseholdincome<=medincome])
regs[[10]] <- felm(ivformula,data=zdata_reg[medianhouseholdincome>medincome])
median_renterfrac <- median(temp$Renter_fraction,na.rm = TRUE)
zdata_reg[,rentlow:=ifelse(Renter_fraction<=median_renterfrac,1,0)]
regs[[11]] <- felm(ivformula,data=zdata_reg[Renter_fraction<=median_renterfrac])
regs[[12]] <- felm(ivformula,data=zdata_reg[Renter_fraction>median_renterfrac])
stargazer(regs,
no.space = T,align = T,omit.stat=c("ser","f", "rsq"),
style = "qje",omit.table.layout = "n", dep.var.labels.include = FALSE,
covariate.labels = c("Effective tax rate"),
column.labels=c("L Pr.","H Pr","L Sz","H Sz","L Act","H Act","L Ag","H Ag","L Inc","H Inc","L Ren","H Ren"),
add.lines = list(
c("Controls", rep("Yes",12)),
c("zipmonth", rep("Yes",12)),
c("Cond. F. Stat",
round(c(condfstat(regs[[1]])[[1]],
condfstat(regs[[2]])[[1]],
condfstat(regs[[3]])[[1]],
condfstat(regs[[4]])[[1]],
condfstat(regs[[5]])[[1]],
condfstat(regs[[6]])[[1]],
condfstat(regs[[7]])[[1]],
condfstat(regs[[8]])[[1]],
condfstat(regs[[9]])[[1]],
condfstat(regs[[10]])[[1]],
condfstat(regs[[11]])[[1]],
condfstat(regs[[12]])[[1]]),2))),
keep=c("Property_tax_rate_last_year"), flip=T,
type= "text")
##
## =======================================================================================================================================
## L Pr. H Pr L Sz H Sz L Act H Act L Ag H Ag L Inc H Inc L Ren H Ren
## (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12)
## ---------------------------------------------------------------------------------------------------------------------------------------
## Effective tax rate 7.922*** 20.844*** 9.299*** 19.159*** 10.406*** 12.483*** 7.981*** 14.617*** 16.119*** 11.314*** 12.464*** 12.837***
## (0.959) (3.009) (1.112) (2.213) (1.245) (1.369) (1.589) (1.292) (1.977) (1.140) (1.339) (1.614)
## Controls Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
## zipmonth Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
## Cond. F. Stat 184.17 24.4 148.39 75.78 127.23 112.32 59.17 146.68 44.11 185.36 129.84 67.56
## N 18,340 5,637 15,544 8,433 10,794 11,913 9,354 14,623 8,442 15,535 15,450 8,527
## Adjusted R2 0.950 0.955 0.936 0.945 0.926 0.946 0.933 0.936 0.908 0.934 0.941 0.939
## =======================================================================================================================================
Table 7: Effect of Property Taxes on Selling Price and Days-on-Market
regs <- list()
regs[[1]] <- felm(as.formula(paste("log(sales_price)~Property_tax_rate_last_year+",controls1,"0",cluster,sep="")),data=zdata_reg)
regs[[2]] <- felm(as.formula(paste("log(sales_price)~",controls1,"(",endo_var,"~",instruments,")",cluster,sep="")),data=zdata_reg)
regs[[3]] <- felm(as.formula(paste("log(Time_on_market)~Property_tax_rate_last_year+",controls1,"0",cluster,sep="")),data=zdata_reg)
regs[[4]] <- felm(as.formula(paste("log(Time_on_market)~",controls1,"(",endo_var,"~",instruments,")",cluster,sep="")),data=zdata_reg)
stargazer(regs,
no.space = T,align = T,
omit.stat=c("ser","f", "rsq"),style = "qje",
omit.table.layout = "n", dep.var.labels.include = FALSE,
covariate.labels = c("Effective tax rate","log(Predicted price)"),
column.labels=c("log(Sales price)","log(Days on market)"),column.separate=c(2,2),
add.lines = list(c("Controls", "Yes", "Yes", "Yes","Yes","Yes","Yes"),
c("zipmonth", "Yes", "Yes", "Yes","Yes","Yes","Yes"),
c("Cond. F. Stat","",
round(condfstat(regs[[2]])[[1]],2),"",
round(condfstat(regs[[4]])[[1]],2))),
keep=c("Property_tax_rate_last_year","predprice"),
type="text")
##
## ==========================================================================
## log(Sales price) log(Days on market)
## (1) (2) (3) (4)
## --------------------------------------------------------------------------
## Effective tax rate 18.423*** 3.445*
## (0.899) (1.784)
## log(Predicted price) 0.447*** 0.399*** 0.046* 0.085**
## (0.019) (0.019) (0.026) (0.034)
## `Property_tax_rate_last_year(fit)` 12.555*** 8.222***
## (1.045) (3.162)
## Controls Yes Yes Yes Yes
## zipmonth Yes Yes Yes Yes
## Cond. F. Stat 217.95 217.95
## N 23,977 23,977 23,977 23,977
## Adjusted R2 0.916 0.915 0.336 0.336
## ==========================================================================
RDD Sample
See “Merging ZTRAX Data” for sample construction code.
rddsample <- readRDS("C:/Users/dratnadiwakara2/Documents/OneDrive - Louisiana State University/Projects/MS-FIN-21-00651/second iteration/rdd_sample.rds")
Table 8: Impact of June 01 Cutoff: Regression Evidence
regs = list()
regs[[1]] = felm(I(Property_tax_rate_last_year*100)~postJune+purch_week+I(purch_week^2)+I(purch_week^3)+log(predprice)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+log(house_age)+log(LotSizeSquareFeet)+LTV_prev+medianage+log(medianhouseholdincome)+Renter_fraction|zip_purch_list|0|zip,data=rddsample)
regs[[2]] = felm(log(Listing_price)~postJune+purch_week+I(purch_week^2)+I(purch_week^3)+log(predprice)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+log(house_age)+log(LotSizeSquareFeet)+LTV_prev+medianage+log(medianhouseholdincome)+Renter_fraction|zip_purch_list|0|zip,data=rddsample)
regs[[3]] = felm(log(Selling_price)~postJune+purch_week+I(purch_week^2)+I(purch_week^3)+log(predprice)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+log(house_age)+log(LotSizeSquareFeet)+LTV_prev+medianage+log(medianhouseholdincome)+Renter_fraction|zip_purch_list|0|zip,data=rddsample)
regs[[4]] = felm(log(Purchase_price)~postJune+purch_week+I(purch_week^2)+I(purch_week^3)+log(predprice)+beds+baths+log(sqft)+avg_school_rating+avg_school_distance+walk_score+medianage+log(medianhouseholdincome)+Renter_fraction|zip_purch_list|0|zip,data=rddsample)
stargazer(regs,no.space = T,align = T,
omit.stat=c("ser","f", "rsq"),style = "qje",omit.table.layout = "n",
dep.var.labels.include = FALSE,
covariate.labels = c("Purchased after June 01","Week of purchase","Week of purchase^{2}"),
column.labels=c("Effective tax rate","log(Listing price)","log(Selling price)","log(Purchased price)"),
add.lines = list(
c("Controls", "Yes", "Yes", "Yes","Yes","Yes","Yes"),
c("zippurchmonth", "Yes", "Yes", "Yes","Yes","Yes","Yes")),
keep=c("postJune","purch_week"),type="text")
##
## =====================================================================================================
## Effective tax rate log(Listing price) log(Selling price) log(Purchased price)
## (1) (2) (3) (4)
## -----------------------------------------------------------------------------------------------------
## Purchased after June 01 -0.016*** -0.009** -0.014* 0.001
## (0.005) (0.004) (0.008) (0.001)
## Week of purchase 0.001* -0.0001 0.0002 0.001***
## (0.0003) (0.0002) (0.0004) (0.0001)
## Week of purchase2 0.00001 0.00002* 0.00001 0.00001***
## (0.00001) (0.00001) (0.00002) (0.00000)
## I(purch_week3) -0.00000 -0.00000 -0.00000 -0.00000***
## (0.00000) (0.00000) (0.00000) (0.00000)
## Controls Yes Yes Yes Yes
## zippurchmonth Yes Yes Yes Yes
## N 52,489 52,489 52,489 52,522
## Adjusted R2 0.597 0.940 0.804 0.992
## =====================================================================================================