Wooldridge Source: K Graddy (1995), “Testing for Imperfect Competition at the Fulton Fish Market,” RAND Journal of Economics 26, 75-92. Professor Graddy's collaborator on a later paper, Professor Joshua Angrist at MIT, kindly provided me with these data. Data loads lazily.
data('fish')
A data.frame with 97 observations on 20 variables:
prca: price for Asian buyers
prcw: price for white buyers
qtya: quantity sold to Asians
qtyw: quantity sold to whites
mon: =1 if Monday
tues: =1 if Tuesday
wed: =1 if Wednesday
thurs: =1 if Thursday
speed2: min past 2 days wind speeds
wave2: avg max last 2 days wave height
speed3: 3 day lagged max windspeed
wave3: avg max wave hghts of 3 & 4 day lagged hghts
avgprc: ((prca*qtya) + (prcw*qtyw))/(qtya + qtyw)
totqty: qtya + qtyw
lavgprc: log(avgprc)
ltotqty: log(totqty)
t: time trend
lavgp_1: lavgprc[_n-1]
gavgprc: lavgprc - lavgp_1
gavgp_1: gavgprc[_n-1]
https://www.cengage.com/cgi-wadsworth/course_products_wp.pl?fid=M20b&product_isbn_issn=9781111531041
This is a nice example of how to go about finding exogenous variables to use as instrumental variables. Often, weather conditions can be assumed to affect supply while having a negligible effect on demand. If so, the weather variables are valid instrumental variables for price in the demand equation. It is a simple matter to test whether prices vary with weather conditions by estimating the reduced form for price.
Used in Text: pages 443, 580
str(fish)
#> 'data.frame': 97 obs. of 20 variables:
#> $ prca : num 0.622 0.972 1.233 1.929 0.803 ...
#> $ prcw : num 0.767 1.175 1.475 1.625 0.864 ...
#> $ qtya : int 1875 2900 770 927 4220 4230 3079 945 7925 4895 ...
#> $ qtyw : int 2205 566 1525 943 2665 1375 1880 1240 1395 1898 ...
#> $ mon : int 1 0 0 0 1 0 0 0 0 1 ...
#> $ tues : int 0 0 0 0 0 1 0 0 0 0 ...
#> $ wed : int 0 1 0 0 0 0 1 0 0 0 ...
#> $ thurs : int 0 0 1 0 0 0 0 1 0 0 ...
#> $ speed2 : int 15 10 10 15 10 15 10 10 10 20 ...
#> $ wave2 : num 7.5 5 6 6 3.5 4.5 4.5 4 4 12.5 ...
#> $ speed3 : int 20 20 20 20 20 15 20 20 15 20 ...
#> $ wave3 : num 9 7.5 4 5 3.5 3.5 3.5 4.5 4.5 3.5 ...
#> $ avgprc : num 0.7 1.005 1.394 1.775 0.827 ...
#> $ totqty : int 4080 3466 2295 1870 6885 5605 4959 2185 9320 6793 ...
#> $ lavgprc: num -0.35627 0.00532 0.33212 0.57407 -0.19019 ...
#> $ ltotqty: num 8.31 8.15 7.74 7.53 8.84 ...
#> $ t : int 1 2 3 4 5 6 7 8 9 10 ...
#> $ lavgp_1: num NA -0.35627 0.00532 0.33212 0.57407 ...
#> $ gavgprc: num NA 0.362 0.327 0.242 -0.764 ...
#> $ gavgp_1: num NA NA 0.362 0.327 0.242 ...
#> - attr(*, "time.stamp")= chr "25 Jun 2011 23:03"