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

Format

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]

Notes

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

Examples

 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"