BIDCOMP2
by

Huagang Li, John Riley and Huarong Tang

This program was developed to compute revenue in sealed high bid auctions with independent private values
and compare the revenue with that in a Vickrey (or open ascending bid) auction. The only limitation on the number of bidders is that there are no more than 6 different subsets of bidders with different preference parameters. To compute revenue, when the underlying density function for values is either a power function or truncated normal, it is only necessary to run the main program RILEY.EXE.

This is best done from the shell-program BIDCOMP.EXE  From this program you can view plots of the computed bid functions, view the results etc.

If you wish to consider other asymmetries, you can readily modify the file RILEY.FOR  
The latest version of this program is available upon request.  

The following files must be downloaded into a sub-directory.

.

BIDCOMP.EXE IND.DAT
RILEY.EXE README.DAT
RILEY.FOR DENF.DAT

You can revise the input file either before running the main program (RILEY.EXE) or from the shell
program BIDCOMP.EXE

There are nine lines of data in the input file (IND.DAT).  Here is an example.
-----------------------------------------------------------------

2.d0     20.d0     10.d0      5.d0     0.d0     1
2.d0     20.d0     15.d0      5.d0     0.d0     1
2.d0     20.d0      2.d0       8.d0     0.d0     0
5d0      20d0       1.d0       6.d0     0.d0     0
7d0      20d0       3.d0       8.d0     0.d0     0
2d0      20d0       8.d0      15.d0    0.d0     0
0          0             1.d-5
3          1             0
1.d-7   1.d-7      1.d-10

-------------------------------------------------------------------
The first 6 lines are preference parameters for buyers in groups 1 through 6.
Line 7 contains seller parameters
(and an approximation parameter which adjusts the reserve price slightly if p>0)
Line 8 contains switches described below and in the shell program
Line 9 contains error precision parameters.

The data above is for two buyers (see Column 6), each with valuations distributed on [2,20]
(see Columns 1 and 2).  Mean valuations are 10 and 15 (see Column 3) and for both buyers,
the standard deviation is 5 (see Column 4). Finally, the degree of risk aversion is zero (Column 5).

Line 7 indicates that the sellers reserve price and valuation are both zero.

The first SWITCH (Line 8) is set at 3 indicating that the distributions are truncated normal distributions.

PARAMETERS
-------------------------------------------------------------------
y(i,2)    y(i,1)      c(i,1)      c(i,2)    c(i,3)    m(i)   PREFERENCES OF BUYERS and # with these preferences
q-orig   vsell       p                                            SELLER PARAMETERS (and an adj. parameter)
nsw1    nsw2     nsw3                                       SWITCHES
epsi1    epsi2    epsix0                                      PRECISION PARAMETERS
------------------------------------------------------------------------

NOTES:

1. DATA ENTRY

Do not leave empty lines between the data. Although Riley.exe can read the
data with empty lines, BIDCOMP.EXE can not check the data for you if there     
are any empty lines!

If you change data within the shell-program, make sure that you click on SAVE CHANGES at the bottom
of the page before you run the program

2. BUYER PREFERENCES

SUPPORTS: Support of buyer i's type is [y(i,2),y(i,1)]

DENSITY FUNCTIONS:
For the power function,
    denf=(c(n,1)+x-y(n,2))**c(n,2)/const(n)

For truncated normal density function,
    denf=dexp(-((x-c(n,1))/c(n,2))**2.d0/2.d0)/const(n)

RISK AVERSION
    c(n,3) is the degree of absolute-risk-aversion of bidder n.

4. ORDERING GROUPS OF BIDDERS

(a) Subsets of buyers with identical preferences are ordered according to
the maximum possible type. Thus column 2 (upper supports) must be
non-increasing.

(b) If upper supports are equal, make the lower support non-increasing.

Even if some bid types are not used, the supports given should be sensible.
They are used to compute density constant at the beginning. For example, if specifying normal density, all six standard deviations must be positive.

(c) If y(1,1)>y(2,1), and m(1)=n>1,
set the first two types y(1,1)=y(2,1) and m(1),m(2) to satisfy m(1)+m(2)=n.
This constraint is due to the fact that the program assumes that the bidders
with the first 2 sets of preference parameters will both have the same
maximum bid.

5. SELLER PREFERENCES

reserve price
q-orig should not be less than the lowest of the lower supports of
participating bidders.

6. SWITCHES
IF nsw1=1 true power c.d.f.
=2 spline power c.d.f.
=3 spline normal c.d.f.
    =4 spline function interpolated from data in denf.dat

When you use truncated normal distribution, i.e, when nsw1=3 remember c(i,2) (standard deviations) can not be zero for all i=1 to 6! And when c(i,2) is too
small relatively to c(i,1) (the expectation), sometimes Riley.exe will enter a
loop. (The reason is that the actual significant distribution interval is much smaller than the whole interval)
   
IF nsw2=1 qrev such that G0(qrev)=p is computed,
This is a compromise which is being phased out.
   
IF nsw3=0, no optimal reserve prices were used.
(Q-orig is the reserve price for both two auctions. )
=1 QOPTS is used in the second bid auction
=2 optimal reserve price Q is used in first price auction
    =3 both second and first bid auction use optimal reserve prices, respectively Q and QOPTS.

When nsw3=2 or 3, file QERFST.OUT lists the tested values of Q and erfst(Q)
Note this option increases the computing time at least several times.

7. ERROR CONTROL

epsi1 and epsi2 control the error-bound of differentiation and integration


Huagang Li
Jong Wai Lei
Huarong Tang
1/26/2000