A double auction is a process of buying and selling goods with multiple sellers and multiple buyers. Potential buyers submit their bids and potential sellers submit their ask prices to the market institution, and then the market institution chooses some price p that clears the market: all the sellers who asked less than p sell and all buyers who bid more than p buy at this price p. Buyers and sellers that bid or ask for exactly p are also included. A common example of a double auction is stock exchange.

As well as their direct interest, double auctions are reminiscent of Walrasian auction and have been used as a tool to study the determination of prices in ordinary markets. A double auction is also possible without any exchange of currency in barter trade. A barter double auction is an auction where every participant has a demand and an offer consisting of multiple attributes and no money is involved. For the mathematical modelling of satisfaction level Euclidean distance is used, where the offer and demand are treated as vectors.

A simple example of a double auction is a bilateral trade scenario, in which there is a single seller who values his product as S (e.g. the cost of producing the product), and a single buyer who values that product as B.

Economic analysis

From an economist's perspective, the interesting problem is to find a competitive equilibrium - a situation in which the supply equals the demand.

In the simple bilateral trade scenario, if B≥S then any price in the range [S,B] is an equilibrium price, since both the supply and the demand equal 1. Any price below S is not an equilibrium price since there is an excess demand, and any price above B is not an equilibrium price since there is an excess supply. When B<S, any price in the range (B,S) is an equilibrium price, since both the supply and the demand equal 0 (the price is too high for the buyer and too low for the seller).

In a more general double auction, in which there are many sellers each of whom holds a single unit and many buyers each of whom wants a single unit, an equilibrium price can be found using the natural ordering of the buyers and sellers:

Natural ordering Order the buyers in decreasing order of their bid: b1≥b2≥...≥bn. Order the sellers in increasing order of their bid: s1≤s2≤...≤sn. Let k be the largest index such that bk≥sk (the "breakeven index").

Every price in the range [max(sk,bk+1),min(bk,sk+1)] is an equilibrium price, since both demand and supply are k. It is easier to see this by considering the range of equilibrium prices in each of the 4 possible cases (note that by definition of k, bk+1 < sk+1):

sk+1 > bk sk+1 ≤ bk bk+1 < sk [sk,bk] [sk,sk+1] bk+1 ≥ sk [bk+1,bk] [bk+1,sk+1]

Efficiency of double auctions It can be shown that, in the classical competitive equilibrium model with a finite number of agents described by their preferences and endowments, the double auction mechanism leads to an individually rational Pareto efficient reallocation. In this setting, each agent bids their indifference prices (reservation prices) which depend on their preferences and current endowments. Clearing of the double auction amounts to an exchange of goods that changes the agents' endowments. The change in endowments, in turn, influences the agents' indifference prices, so a subsequent double auction may again result in nontrivial trades. Repeated double auctions generate a sequence of allocations that converges to a Pareto efficient reallocation that each agent prefers to their original endowment.

Game-theoretic analysis

A double auction can be analyzed as a game. Players are buyers and sellers. Their strategies are bids for buyers and ask prices for sellers (that depend on the valuations of buyers and sellers). Payoffs depend on the price of the transaction (determined by the auctioneer) and the valuation of a player. The interesting problem is to find a Nash equilibrium - a situation in which no trader has an incentive to unilaterally change their bid/ask price.

Consider the bilateral trade scenario, in which the buyer submits a bid of b and the seller submits s.

Suppose an auctioneer sets the price in the following way: If s>b then no trade occurs (the seller wants more than the buyer pays); If s≤b then p=(b+s)/2.

The utility of the buyer is: 0 if s>b; B-p if s≤b (where B is the true value of the buyer).

The utility of the seller is: 0 if s>b; p-S if s≤b (where S is the true value of the seller).

In a complete information case when the valuations are common knowledge to both parties, it can be shown that the continuum of pure strategy efficient Nash equilibriums exists with This means that, if B>S, there will be no equilibrium in which both players declare their true values: either the buyer will be able to gain by declaring a lower value, or the seller will be able to gain by declaring a higher value.

In an incomplete information (asymmetric information) case a buyer and a seller know only their own valuations. Suppose that these valuations are uniformly distributed over the same interval. Then it can be shown that such a game has a Bayesian Nash equilibrium with linear strategies. That is, there is an equilibrium when both players' bids are some linear functions of their valuations. It is also brings higher expected gains for the players than any other Bayesian Nash equilibrium (see Myerson–Satterthwaite theorem).

Mechanism design

How should the auctioneer determine the trading price? An ideal mechanism would satisfy the following properties:

Individual Rationality (IR): no person should lose from joining the auction. In particular, for every trading buyer: p ≤ B, and for every trading seller: p ≥ S. Balanced Budget (BB) comes in two flavors: Strong balanced budget (SBB): all monetary transfers must be done between buyers and sellers; the auctioneer should not lose or gain money Weak balanced budget (WBB): the auctioneer should not lose money, but may gain money. Incentive compatibility (IC) also called truthfulness or strategy-proofness: also comes in two flavors (when unqualified IC generally means the stronger version): The stronger notion is dominant-strategy-incentive-compatibility (DSIC), which means that reporting the true value should be a dominant strategy for all players. I.e, a player should not be able to gain by spying over other players and trying to find an 'optimal' declaration which is different from their true value, regardless of how the other players play. The weaker notion is Nash-equilibrium-incentive-compatibility (NEIC), which means that there exists a Nash equilibrium in which all players report their true valuations. I.e, if all players but one are truthful, it is best for the remaining player to also be truthful. Economic efficiency (EE): the total social welfare (the sum of the values of all players) should be the best possible. In particular, this means that, after all trading has completed, the items should be in the hands of those that value them the most.

Unfortunately, it is not possible to achieve all these requirements in the same mechanism (see Myerson–Satterthwaite theorem). But there are mechanisms that satisfy some of them.

Average mechanism The mechanism described in the previous section can be generalized to n players in the following way. Order the buyers and sellers in the Natural ordering and find the breakeven index k. Set the price at the average of the kth values: p=(bk+sk)/2. Let the first k sellers sell the good to the first k buyers. This mechanism is: IR - because by the ordering, the first k players value each item as at least p and the first k sellers value each item as at most p. SBB - because all monetary transfers are between buyers and sellers. EE - because the n items are held by the n players who value them the most. Not IC - because buyer k has an incentive to report a lower value and seller k has an incentive to report a higher value.

VCG mechanism A VCG mechanism is a generic mechanism which optimizes the social welfare while achieving truthfulness. It does so by making each agent pay for the externality that their participation imposes on the other agents.

In the simple bilateral trade setting, this translates to the following mechanism: If b≤s then no trade is done and the product remains with the seller; If b>s then the product goes to the buyer, the buyer pays s and the seller receives b.

This mechanism is: IR, since the buyer pays less than his value and the seller receives more than his value. IC, since the price paid by the buyer is determined by the seller and vice versa. Any attempt to misreport will make the utility of the misreporter either zero or negative. EE, because the product goes to the one who values it the most. Not SBB nor even WBB, because the auctioneer has to pay b-s. The auctioneer actually has to subsidize the trade.

In the general double auction setting, the mechanism orders the buyers and sellers in the Natural ordering and finds the breakeven index k. Then the first k sellers give the item to the first k buyers. Each buyer pays the lowest equilibrium price max(sk,bk+1), and each seller receives the highest equilibrium price min(bk,sk+1), as in the following table:

sk+1 > bk sk+1 ≤ bk bk+1 < sk Each buyer pays sk and each seller gets bk Each buyer pays sk and each seller gets sk+1 bk+1 ≥ sk Each buyer pays bk+1 and each seller gets bk Each buyer pays bk+1 and each seller gets sk+1

Similar to the bilateral trade scenario, the mechanism is IR, IC and EE (optimizes the social welfare), but it is not BB - the auctioneer subsidizes the trade.

The uniqueness-of-prices theorem implies that this subsidy problem is inevitable - any truthful mechanism that optimizes the social welfare will have the same prices (up to a function independent of the ask/bid prices of each trader). If we want to keep the mechanism truthful while not having to subsidize the trade, we must compromise on efficiency and implement a less-than-optimal social welfare function.

Trade reduction mechanism The following mechanism gives up a single deal in order to maintain truthfulness: Order the buyers and sellers in the Natural ordering and find the breakeven index k. The first k-1 sellers give the item and receive sk from the auctioneer; The first k-1 buyers receive the item and pay bk to the auctioneer.

This mechanism is: IR, as before. IC: the first k-1 buyers and sellers have no incentive to change their declaration since this will have no effect on their price; the kth buyer and seller have no incentive to change since they don't trade anyway, and if they do enter the trading (e.g. bk increases his declaration above bk-1), their profit from trading will be negative. Not SBB, because the auctioneer is left with a surplus of (k-1)(bk-sk). But it is WBB, since the auctioneer at least doesn't have to subsidize the trade. Not EE, because bk and sk don't trade, although buyer k values the item more than seller k.

If we tried to make this mechanism efficient by letting the kth buyer and seller trade, this would make it untruthful because then they will have an incentive to change their prices.

Although the social welfare is not optimal, it is near-optimal, since the forbidden deal is the least favorable deal. Hence the gain-from-trade is at least of the optimum.

Note that in the bilateral trade setting, k=1 and we give up the only efficient deal, so there is no trade at all and the gain-from-trade is 0. This is in accordance with the Myerson-Satterthwaite theorem.

Babaioff, Nisan and Pavlov generalised the trade reduction mechanism to a market that is spatially-distributed, i.e. the buyers and sellers are in several different locations, and some units of the good may have to be transported between these locations. The cost of transport is thus added to the cost of production of the sellers.

McAfee's mechanism