Chain: A Dynamic Double Auction Framework for Matching Patient Agents

In this paper we present and evaluate a general framework for the design of truthful auctions for matching agents in a dynamic, two-sided market. A single commodity, such as a resource or a task, is bought and sold by multiple buyers and sellers that arrive and depart over time. Our algorithm, Chain , provides the ﬁrst framework that allows a truthful dynamic double auction (DA) to be constructed from a truthful, single-period (i.e. static) double-auction rule. The pricing and matching method of the Chain construction is unique amongst dynamic-auction rules that adopt the same building block. We examine experimentally the allocative eﬃciency of Chain when instantiated on various single-period rules, including the canonical McAfee double-auction rule. For a baseline we also consider non-truthful double auctions populated with “zero-intelligence plus”-style learning agents. Chain -based auctions perform well in comparison with other schemes, especially as arrival intensity falls and agent valuations become more volatile.


Introduction
Electronic markets are increasingly popular as a method to facilitate increased efficiency in the supply chain, with firms using markets to procure goods and services. Two-sided markets facilitate trade between many buyers and many sellers and find application to trading diverse resources, including bandwidth, securities and pollution rights. Recent years have also brought increased attention to resource allocation in the context of ondemand computing and grid computing. Even within settings of cooperative coordination, such as those of multiple robots, researchers have turned to auctions as methods for task allocation and joint exploration (Gerkey & Mataric, 2002;Lagoudakis et al., 2005;Lin & Zheng, 2005).
In this paper we consider a dynamic two-sided market for a single commodity, for instance a unit of a resource (e.g. time on a computer, some quantity of memory chips) or a task to perform (e.g. a standard database query to execute, a location to visit). Each agent, whether buyer or seller, arrives dynamically and needs to be matched within a time interval. Cast as a task-allocation problem, a seller can perform the task when allocated within some time interval and incurs a cost when assigned. A buyer has positive value for the task being assigned (to any seller) within some time interval. The arrival time, acceptable time interval, and value (negative for a seller) for a trade are all private information to an agent. Agents are self-interested and can choose to misrepresent all and any of this information to the market in order to obtain a more desirable price.
The matching problem combines elements of online algorithms and sequential decision making with considerations from mechanism design. Unlike traditional sequential decision making, a protocol for this problem must provide incentives for agents to report truthful information to a match-maker. Unlike traditional mechanism design, this is a dynamic problem with agents that arrive and leave over time. We model this problem as a dynamic double auction (DA) for identical items. The match-maker becomes the auctioneer. Each seller brings a task to be performed during a time window and each buyer brings the capability to perform a single task. The double-auction setting also is of interest in its own right as a protocol for matching in a dynamic business-to-business exchange.
Uncertainty about the future coupled with the two-sided nature of the market leads to an interesting mechanism design problem. For example, consider the scenario where the auctioneer must decide how (and whether) to match a seller with reported cost of $6 at the end of its time interval with a present and unmatched buyer, one of which has a reported value of $8 and one a reported value of $9. Should the auctioneer pair the higher bidder with the seller? What happens if a seller, willing to sell for $4, arrives after the auctioneer acts upon the matching decision? How should the matching algorithm be designed so that no agent can benefit from misstating its earliest arrival, latest departure, or value for a trade?
Chain provides a general framework that allows a truthful dynamic double auction to be constructed from a truthful, single-period (i.e. static) double-auction rule. The auctions constructed by Chain are truthful, in the sense that the dominant strategy for an agent, whatever the future auction dynamics and bids from other agents, is to report its true value for a trade (negative if selling) and true patience (maximal tolerance for trade delay) immediately upon arrival into the market. We also allow for randomized mechanisms and, in this case, require strong truthfulness: the DA should be truthful for all possible random coin flips of the mechanism. One of the DAs in the class of auctions implied by Chain is a dynamic generalization of McAfee's (1992) canonical truthful, no-deficit auction for a single period. Thus, we provide the first examples of truthful, dynamic DAs that allow for dynamic price competition between buyers and sellers. 1 The main technical challenge presented by dynamic DAs is to provide truthfulness without incurring a budget deficit, while handling uncertainty about future trade opportunities. Of particular concern is to ensure that an agent does not indirectly affect its price through the effect of its bid on the prices faced by other agents and thus other supply and demand in the market. We need to preclude this because the availability of trades depends on the price faced by other agents. For example, a buyer that is required to pay $4 in the DA to trade might like to decrease the price that a potentially matching seller will receive from $6 to $3 to allow for trade.
Chain is a modular approach to auction design, which takes as a building block a singleperiod matching rule and provides a method to invoke the rule in each of multiple periods while also providing for truthfulness. We characterize properties that a well-defined single-period matching rule must satisfy in order for Chain to be truthful. We further identify the technical property of strong no-trade, with which we can isolate agents that fail to trade in the current period but can nevertheless survive and be eligible to trade in a future period. An auction designer defines the strong no-trade predicate, in addition to providing a welldefined single-period matching rule. Instances within this class include those constructed in terms of both "price-based" matching rules and "competition-based" matching rules. Both can depend on history and be adaptive, but only the competition-based rules use the active bids and asks to determine the prices in the current period, facilitating a more direct competitive processes.
In proving that Chain, when combined with a well-defined matching rule and a valid strong no-trade predicate, is truthful we leverage a recent price-based characterization for truthful online mechanisms (Hajiaghayi et al., 2005). We also show that the pricing and matching rules defined by Chain are unique amongst the family of mechanisms that are constructed with a single-period matching rule as a building block. Throughout our work we assume that a constant limits every buyer and seller's patience. To motivate this assumption we provide a simple environment in which no truthful, no-deficit DA can implement some constant fraction of the number of the efficient trades, for any constant.
We adopt allocative efficiency as our design objective, which is to say auction protocols that maximize the expected total value from the sequence of trades. We also consider net efficiency, wherein any net outflow of payments to the marketmaker is also accounted for in considering the quality of a design. Experimental results explore the allocative efficiency of Chain when instantiated to various single-period matching rules and for a range of different assumptions about market volatility and maximal patience. For a baseline we consider the efficiency of a standard (non-truthful) open outcry DA populated with simple adaptive trading agents modeled after "zero-intelligence plus" (ZIP) agents (Cliff & Bruten, 1998;Preist & van Tol, 1998). We also compare the efficiency of Chain with that of a truthful online DA due to Blum et al. (2006), which selects a fixed trading price to guarantee competitiveness in an adversarial model.
From within the truthful mechanisms we find that adaptive, price-based instantiations of Chain are the most effective for high arrival intensity and low volatility. Even defining a single, well-chosen price that is optimized for the market conditions can be reasonably effective in promoting efficient trades in low volatility environments. On the other hand, for medium to low arrival intensity and medium to high volatility we find that the Chainbased DAs that allow for dynamic price competition, such as the McAfee-based rule, are most efficient. The same qualitative observations hold whether one is interested in allocative efficiency or net efficiency, although the adaptive, price-based methods have better performance in terms of net efficiency. The Blum et al. (2006) rule fairs poorly in our tests, which is perhaps unsurprising given that it is optimized for worst-case performance in an adversarial setting. When populated with ZIP agents, we find that non-truthful DAs can provide very good efficiency in low volatility environments but poor performance in high volatility environments. The good performance of the ZIP-based market occurs when agents learn to bid approximately truthfully; i.e., when the market operates as if truthful, but without incurring the stringent cost (e.g., through trading constraints) of imposing truthfulness explicitly. An equilibrium analysis is available only for the truthful DAs; we have no way of knowing how close the ZIP agents are to playing an equilibrium, and note that the ZIP agents do not even consider performing time-based manipulations.

Outline
Section 2 introduces the dynamic DA model, including our assumptions, and presents desiderata for online DAs and a price-based characterization for the design of truthful dynamic auctions. Section 3 defines the Chain algorithm together with the building block of a well-defined, single-period matching rule and the strong no-trade predicate. Section 4 gives a number of instantiations to both price-based and competition-based matching rules, including a general method to define the strong no-trade predicate given a price-based instantiation. Section 5 proves truthfulness, no-deficit and feasibility of the Chain auctions and also establishes their uniqueness amongst auctions constructed from the same singleperiod matching-rule building block. The importance of the assumption about maximal agent patience is established. Section 6 presents our empirical analysis, including a description of the simple adaptive agents that we use to populate a non-truthful open-outcry DA and provide a benchmark. Section 7 gives related work. In Section 8 we conclude with a discussion about the merits of truthfulness in markets and present possible extensions.

Preliminaries: Basic Definitions
Consider a dynamic auction model with discrete, possibly infinite, time periods T = {1, 2, . . .}, indexed by t. The double auction (DA) provides a market for a single commodity. Agents are either buyers or sellers interested in trading a single unit of the commodity. An agent's type, θ i = (a i , d i , w i ) ∈ Θ i , where Θ i is the set of possible types for agent i, defines an arrival a i , departure d i , and value w i ∈ R for trade. If the agent is a buyer, then w i > 0. If the agent is a seller, then w i ≤ 0. We assume a maximal patience K, so that d i ≤ a i + K for all agents.
The arrival time models the first time at which an agent learns about the market or learns about its value for a trade. Thus, information about its type is not available before period a i (not even to agent i) and the agent cannot engage in trade before period a i . The departure time, d i , models the final period in which a buyer has positive value for a trade, or the final period in which a seller is willing to engage in trade. We model risk-neutral agents with quasi-linear utility, w i − p when a trade occurs in t ∈ [a i , d i ] and payment p is collected (with p < 0 if the agent is a seller). Agents are rational and self-interested, and act to maximize expected utility. By assumption, sellers have no utility for payments received after their true departure period.
Throughout this paper we adopt bid to refer, generically, to a claim that an agenteither a buyer or a seller -makes to a DA about its type. In addition, when we need to be specific about the distinction between claims made by buyers and claims made by sellers we refer to the bid from a buyer and the ask from a seller.

Example
Consider the following naive generalization of the (static) trade-reduction DA (Lavi & Nisan, 2005;McAfee, 1992) to this dynamic environment. A bid from an agent is a claim about its typeθ i = (â i ,d i ,ŵ i ), necessarily made in period t =â i . Bids are active while t ∈ [â i ,d i ] and no trade has occurred.
Then in each period t, use the trade-reduction DA to determine which (if any) of the active bids trade and at what price. These trades occur immediately. The trade-reduction DA (tr-DA) works as follows: Let B denote the set of bids and S denote the set of asks. Insert a dummy bid with value +∞ into B and a dummy ask with value 0 into S. When |B| ≥ 2 and |S| ≥ 2 then sort B and S in order of decreasing value. Letŵ b 0 ≥ŵ b 1 ≥ . . . and w s 0 ≥ŵ s 1 ≥ . . . denote the bid and ask values with (b 0 , s 0 ) denoting the dummy bid-ask pair. Let m ≥ 0 index the last pair of bids and asks to clear in the efficient trade, such that w bm +ŵ sm ≥ 0 andŵ b m+1 +ŵ s m+1 < 0. When m ≥ 2 then bids {b 1 , . . . , b m−1 } and asks {s 1 , . . . , s m−1 } trade and paymentŵ bm is collected from each winning buyer and payment −ŵ sm is made to each winning seller.
First consider a static tr-DA with the following bids and asks: The line indicates that bids (1-4) and asks (1-4) could be matched for efficient trade. By the rules of the tr-DA, bids (1-3) and asks (1-3) trade, with payments $3 collected from winning buyers and payment $2 made to winning sellers. The auctioneer earns a profit of $3. The asterisk notation indicates the bids and asks that trade. The tr-DA is truthful, in the sense that it is a dominant-strategy for every agent to report its true value whatever the reports of other agents. For intuition, consider the buy-side. The payment made by winners is independent of their bid price while the losing bidder could only win by bidding more than $4, at which point his payment would be $4 and more than his true value. Now consider a dynamic variation with buyer types {(1, 2, 15), (1, 2, 10), (1, 2, 4), (2, 2, 3)} and seller types {(1, 2, −1), (2, 2, −1), (1, 1, −2), (2, 2, −2), (1, 2, −5)}. When agents are truthful, the dynamic tr-DA plays out as follows: In period 1, buyer 1 and seller 1 trade at payments of $10 and $2 respectively. In period 2, buyer 2 and seller 2 trade at payments of $4 and $2 respectively. But now we can construct two kinds of manipulation to show that this dynamic DA is not truthful. First, buyer 1 can do better by delaying his reported arrival until period 2: b 4 3 s 5 -5 Now, buyer 2 trades in period 1 and does not set the price to buyer 1 in period 2. Instead, buyer 1 now trades in period 2 and makes payment $4. Second, buyer 3 can do better by increasing his reported value: Now, buyers 1 and 2 both trade in period 1 and this allows buyer 3 to win (at a price below his true value) in period 2. This is a particularly interesting manipulation because the agent's manipulation is by increasing its bid above its true value. By doing so, it allows more trades to occur and makes the auction less competitive in the next period.

Dynamic Double Auctions: Desiderata
We consider only direct-revelation, dynamic DAs that restrict the message that an agent can send to the auctioneer to a single, direct claim about its type. We also consider "closed" auctions so that an agent receives no feedback before reporting its type and cannot condition its strategy on the report of another agent. 2 Given this, let θ t denote the set of agent types reported in period t, θ = (θ 1 , θ 2 , . . . , θ t , . . . , ) denote a complete type profile (perhaps unbounded), and θ ≤t denote the type profile restricted to agents with (reported) arrival no later than period t. A reportθ i = (â i ,d i ,ŵ i ) represents a commitment to buy (sell) one unit of the commodity in any period t ∈ [â i ,d i ] for a payment of at mostŵ i . Thus, if a seller reports a departure timed i > d i , it must commit to complete a trade that occurs after her true departure and even though a seller is modeled as having no utility for payments received after her true departure.
A dynamic DA, M = (π, x), defines an allocation policy π = {π t } t∈T and payment policy x = {x t } t∈T , where π t i (θ ≤t ) ∈ {0, 1} indicates whether or not agent i trades in period t given reports θ ≤t , and x t i (θ ≤t ) ∈ R indicates a payment made by agent i, negative if this is a payment received by the agent. The auction rules can also be stochastic, so that π t i (θ ≤t ) and x t i (θ ≤t ) are random variables. For a dynamic DA to be well defined, it must hold that π t i (θ ≤t ) = 1 in at most one period t ∈ [a i , d i ] and zero otherwise, and the payment collected from agent i is zero except in periods t ∈ [a i , d i ].
In formalizing the desiderata for dynamic DAs, it will be convenient to adopt (π(θ), x(θ)) to denote the complete sequence of allocation decisions given reports θ, with shorthand π i (θ) ∈ {0, 1} and x i (θ) ∈ R to indicate whether agent i trades during its reported arrivaldeparture interval, and the total payment made by agent i, respectively. By a slight abuse of notation, we write i ∈ θ ≤t to denote that agent i reported a type no later than period t. Let B denote the set of buyers and S denote the set of sellers.
We shall require that the dynamic DA satisfies no-deficit, feasibility, individual-rationality and truthfulness. No-deficit ensures that the auctioneer has a cash surplus in every period: Feasibility ensures that the auctioneer does not need to take a short position in the commodity traded in the market in any period: This definition of feasible trade assumes that the auctioneer can "hold" an item that is matched between a seller-buyer pair, for instance only releasing it to the buyer upon his reported departure. See the remark concluding this section for a discussion of this assumption.
Let v i (θ i , π(θ ′ i , θ −i )) ∈ R denote the value of an agent with type θ i for the allocation decision made by policy π given report (θ and 0 if it trades outside of this interval and is a buyer, or −∞ if it trades outside of this interval and is a seller. Individual-rationality requires that agent i's utility is non-negative when it reports its true type, whatever the reports of other agents: In order to define truthfulness, we introduce notation C(θ i ) ⊆ Θ i for θ i ∈ Θ i to denote the set of available misreports to an agent with true type θ i . In the standard model adopted in offline mechanism design, it is typical to assume C(θ i ) = Θ i with all misreports available. Here, we shall assume no early-arrival misreports, with C( This assumption of limited misreports is adopted in earlier work on online mechanism design (Hajiaghayi et al., 2004), and is well-motivated when the arrival time is the first period in which a buyer first decides to acquire an item or the period in which a seller first decides to sell an item.
Definition 4 (truthful) Dynamic DA, M = (π, x), is dominant-strategy incentivecompatible, or truthful, given limited misreports C if: This is a robust equilibrium concept: an agent maximizes its utility by reporting its true type whatever the reports of other agents. Truthfulness is useful because it simplifies the decision problem facing bidders: an agent can determine its optimal bidding strategy without a model of either the auction dynamics or the other agents. In the case that the allocation and payment policy is stochastic, then we adopt the requirement of strong truthfulness so that an agent maximizes its utility whatever the random sequence of coin flips within the auction.
Remark. The flexible definition of feasibility, in which the auctioneer is able to take a long position in the commodity, allows the auctioneer to time trades by receiving the unit sold by a seller in one period but only releasing it to a buyer in a later period. This allows for truthfulness in environments in which bidders can overstate their departure period. In some settings this is an unreasonable requirement, however, for instance when the commodity represents a task that is performed, or because a physical good is being traded in an electronic market. 3 In these cases, the definition of feasibility strengthened to require exact trade-balance in every period. The tradeoff is that available misreports must be further restricted, with agents limited to reporting no late-departures in addition to no early-arrivals (Lavi & Nisan, 2005;Hajiaghayi et al., 2005). For the rest of the paper we work in the "relaxed feasibility, no early-arrival" model. The Chain framework can be immediately extended to the "strong-feasibility, no early-arrival and no late-departure" model by executing trades immediately rather than delaying the trade until a buyer's departure.

Chain: A Framework for Truthful Dynamic DAs
Chain provides a general algorithmic framework with which to construct truthful dynamic DAs from well-defined single-period matching rules, such as the tr-DA rules described in the earlier section.
Before introducing Chain we need a few more definitions: Bids reported to Chain are active while t ≤d i (for reported departure periodd i ), and while the bid is unmatched and still eligible to be matched. In each period, a single-period matching rule is used to determine whether any of the active bids will trade and also which (if any) of the bids that do not match will remain active in the next period. Now we define the building blocks, well-defined single-period matching rules, and introduce the important concept of a strong no-trade predicate, which is defined for a singleperiod matching rule.

Building Block: A Single-Period Matching Rule
In defining a matching rule, it is helpful to adopt b t ∈ R m >0 and s t ∈ R n ≤0 to denote the active bids and active asks in period t, where there are m ≥ 0 and n ≥ 0 bids and asks respectively. The bids and asks that were active in earlier periods but are no longer active form the history in period t, denoted H t ∈ R h where h ≥ 0 is the size of the history.
A single-period matching rule (hereafter a matching rule), M mr = (π mr , x mr ) defines an allocation rule π mr (H t , b t , s t , ω) ∈ {0, 1} (m+n) and a payment rule R (m+n) . Here, we include random event ω ∈ Ω to allow explicitly for stochastic matching and allocation rules.
Definition 5 (well-defined matching rule) A matching rule M mr = (π mr , x mr ) is welldefined when it is strongly truthful, no-deficit, individual-rational, and strong-feasible.
Here, the properties of truthfulness, no-deficit, and individual-rationality are exactly the single-period specializations of those defined in the previous section. For instance, a matching rule is truthful in this sense when the dominant strategy for an agent in a DA defined with this rule, and in a static environment, is to bid truthfully and for all possible random events ω. Similarly for individual-rationality. No-deficit requires that the total payments are always non-negative. Strong-feasibility requires that exactly the same number of asks are accepted as bids, again for all random events.
One example of a well-defined matching rule is the tr-DA, which is invariant to the history of bids and asks. For an example of a well-defined, adaptive (history-dependent) and price-based matching rule, consider procedure SimpleMatch in Figure 1. The Sim-pleMatch matching rule computes the mean of the absolute value of the bids and asks in the history H t and adopts this as the clearing price in the current period. It is a stochastic matching rule because bids and asks are picked from the sets b t and s t at random and offered the price. We can reason about the properties of SimpleMatch as follows: (a) truthful: the price p t is independent of the bids and the probability that a bid (or ask) is matched is independent of its bid (or ask) price (b) no-deficit: payment p t is collected from each matched buyer and made to each matched seller (c) individual-rational: only bids b i ≥ p t and asks s j ≥ −p t are accepted. (d) feasible: bids and asks are introduced to the "matched" set in balanced pairs

Reasoning about Trade (Im)Possibility
In addition to defining a matching rule M mr , we allow a designer to (optionally) designate a subset of losing bids that satisfy a property of strong no-trade. Bids that satisfy strong no-trade are losing bids for which trade was not possible at any bid price (c.f. ask price for asks), and moreover for which additional independence conditions hold between bids provided with this designation.
We first define the weaker concept of no-trade. In the following, notation π mr,i (H t , b t , s t , ω|ŵ i ) indicates the allocation decision made for bid (or ask) i when its bid (ask) price is replaced withŵ i : Definition 6 (no-trade) Given matching rule M mr = (π mr , x mr ) then the set of agents, NT t , for which no trade is possible in period t and given random events ω are those for which π mr,i (H t , b t , s t , ω|ŵ i ) = 0, for everyŵ i ∈ R >0 when i ∈ b t and for everyŵ i ∈ R ≤0 when i ∈ s t .
It can easily happen that no trade is possible, for instance when the agent is a buyer and there are no sellers on the other side of the market. Let SNT t ⊆ NT t denote the set of agents designated with the property of strong no-trade. Unlike the no-trade property, strong no-trade need not be uniquely defined for a matching rule. To be valid, however, the construction offered by a designer for strong no-trade must satisfy the following: Definition 7 (strong no-trade) A construction for strong no-trade, SNT t ⊆ NT t , is valid for a matching rule when: (a) ∀i ∈ NT t withd i > t, whether or not i ∈ SNT t is unchanged for all alternate reports and independent even of whether or not agent i is present in the market.
The strong no-trade conditions must be checked only for agents with a reported departure later than the current period. Condition (a) requires that such an agent in NT t cannot affect whether or not it satisfies the strong no-trade predicate as long as it continues to report a departure later than the current period. Condition (b) is defined recursively, and requires that if such an agent is identified as satisfying strong no-trade, then its own report must not affect the designation of strong no-trade to other agents, with reported departure later than the current period, while it continues to report a departure later than the current period -even if it delays its reported arrival until a later period.
Strong no-trade allows for flexibility in determining whether or not a bid is eligible for matching. Specifically, only those bids that satisfy strong no-trade amongst those that lose in the current period can remain as a candidate for trade in a future period. The property is defined to ensure that such a "surviving" agent does not, and could not, affect the set of other agents against which it competes in future periods.
Example 1 Consider the tr-DA matching rule defined earlier with bids and asks Bid 1 and ask 1 trade at price 8 and −6 respectively. NT t = ∅ because bids 2 and 3 could each trade if they had (unilaterally) submitted a bid price of greater than 10. Similarly for asks 2 and 3. Now consider the order book No trade occurs. In this case, NT t = {b 1 , b 2 , b 3 , s 1 }. No trade is possible for any bids, even bids 2 and 3, becauseŵ b 1 +ŵ s 2 = 8 − 10 < 0. But, trade is possible for asks 2 and 3, becausê w b 2 +ŵ s 1 = 7 − 6 ≥ 0 and either ask could trade by submitting a low enough ask price.
Example 2 Consider the tr-DA matching rule and explore possible alternative constructions for strong no-trade.
(i) Dictatorial: in each period t, identify an agent that could be present in the period in a way that is oblivious to all agent reports. Let i denote the index of this agent. If i ∈ NT t , then include SNT t = {i}. Strong no-trade condition (a) is satisfied because whether or not i is selected as the "dictator" is agent-independent, and given that it is selected, then whether or not trade is possible is agent-independent. Condition (b) is trivially satisfied because |SNT t | = 1 and there is no cross-agent coupling to consider.
(ii) SNT t := NT t . Consider the order book B S iŵ i iŵ i b 1 3 s 1 −4 b 2 2 s 2 −6 b 3 1 s 3 −8 Suppose all bids and asks remain in the market for at least one more period. Clearly, NT t = {b 1 , b 2 , b 3 , s 1 , s 2 , s 3 }. Consider the candidate construction SNT t = NT t . Strong notrade condition (a) is satisfied because whether or not i is in set NT t is agent-independent. Condition (b) is not satisfied, however. Consider bid 2. If bid 2's report had been 8 instead of 2 then trade would be possible for bids 1 and 3, and SNT t = NT t = {b 2 , s 1 , s 2 , s 3 }. Thus, whether or not bids 1 and 3 satisfy the strong no-trade predicate depends on the value of bid 2. This is not a valid construction for strong no-trade for the tr-DA matching rule.
(iii) SNT t = NT t if |b t | < 2 or |s t | < 2, and SNT t = ∅ otherwise. As above, strong no-trade condition (a) is immediately satisfied. Moreover, condition (b) is now satisfied because trade is not possible for any bid or ask irrespective of bid values because there are simply not enough bids or asks to allow for trade with tr-DA (which needs at least 2 bids and at least 2 asks). Example 3 Consider a variant of the SimpleMatch matching rule, defined with fixed price 9. We can again ask whether SNT t := NT t is a valid construction for strong no-trade. Throughout this example suppose all bids and asks remain in the market for at least one more period. First consider a bid withŵ b 1 = 8 and two asks with valuesŵ s 1 = −6 and w s 2 = −7. Here, NT t = {s 1 , s 2 } because the asks cannot trade whatever their price since the bid is not high enough to meet the fixed trading price of 9. Moreover, SNT t = {s 1 , s 2 } is a valid construction; strong no-trade condition (a) is satisfied as above and condition (b) is satisfied because whether or not ask 2 is in NT t (and thus SNT t ) is independent of the price on ask 1, and vice versa. But consider instead a bid withŵ b 1 = 8 and an ask witĥ w s 1 = −10. Now, NT t = {b 1 , s 1 } and SNT t = {b 1 , s 1 } is our candidate strong no-trade set. However if bid 1 had declared value 10 instead of 8 then NT t = {b 1 } and ask 1 drops out of SNT t . Thus, strong no-trade condition (b) is not satisfied.
We see from the above examples that it can be quite delicate to provide a valid, nontrivial construction of strong no-trade. Note, however, that SNT t = ∅ is a (trivial) valid construction for any matching rule. Note also that the strong no-trade conditions (a) and (b) require information about the reported departure period of a bid. Thus, while the matching rules do not use temporal information about bids, this information is used in the construction for strong no-trade.

Chain: From Matching Rules to Truthful, Dynamic DAs
The control flow in Chain is illustrated in Figure 2. Upon arrival of a new bid, an admission decision is made and bid i is admitted if its valueŵ i is at least its admission price q i . An admitted bid competes in a sequence of matching events, where a matching event simply applies the matching rule to the set of active bids and asks. If a bid fails to match in some period and is not in the strong no-trade set (i / ∈ SNT t ), then it is priced out and leaves the market without trading. Otherwise, if it is still before its departure time (t ≤d i ), then it is available for matching in the next period.
Each bid is always in one of three states: active, matched or priced-out. Bids are active if they are admitted to the market until t ≤d i , or until they are matched or priced-out. An active bid becomes matched in the first period (if any) when it trades in the single-period matching rule. An active bid is marked as priced-out in the first period in which it loses but is not in the strong no-trade set. As soon as a bid is no longer active, it enters the history, H t , and the information about its bid price can be used in defining matching rules for future periods.
Let E t denote the set of bids that will expire in the current period. A well-defined matching rule, when coupled with a valid strong no-trade construction, must provide Chain with the following information, given history H t , active bids b t and active asks s t , and expiration set E t in period t: (a) for each bid or ask, whether it wins or loses (b) for each winning bid or ask, the payment collected (negative for an ask) (c) for each losing bid or ask, whether or not it satisfies the strong no-trade condition Note that the expiration set E t is only used for the strong no-trade construction. This information is not made available to the matching rule. The following table summarizes the use of this information within Chain. Note that a winning bid cannot be in set SNT t : We describe Chain by defining the events that occur for a bid upon its arrival into the market, and then in each period in which it remains active: Upon arrival: Consider all possible earlier arrival periods t ′ ∈ [d i −K,â i −1] consistent with the reported type. There are no such periods to consider if the bid is maximally patient. If the bid would lose and not be in SNT t ′ for any one of these arrival periods t ′ , then it is not admitted. Otherwise, the bid would win in all periods t ′ for which i / ∈ SNT t ′ , and define the admission price as: where p t ′ i is the payment the agent would have made (negative for a seller) in arrival period t ′ (as determined by running the myopic matching rule in that period). When the agent would lose in all earlier arrival periods t ′ (and so i ∈ SNT t ′ for all t ′ ), or the bid is maximally patient, then the admission price defaults to −∞ and the bid is admitted.
If the bid is selected to trade by the myopic matching rule, then mark it as matched and define final payment: where p t i is the price (negative for a seller) determined by the myopic matching rule in the current period. If this is a buyer, then collect the payment but delay transferring the item until periodd i . If this is a seller, then collect the item but delay making the payment until the reported departure period. If the bid loses and is not in SNT t , then mark the bid as priced-out.
We illustrate Chain by instantiating it to various matching rules in the next section. In Section 5 we prove that Chain is strongly truthful and no-deficit when coupled with a well-defined matching rule and a valid strong no-trade construction. We will see that the delay in buyer delivery and seller payment ensures truthful revelation of a trader's departure information. For instance, in the absence of this delay, a buyer might be able to do better by over-reporting departure information, still trading early enough but now for a lower price.

Comments
We choose not to allow the single-period matching rules to use the reported arrival and departure associated with active bids and asks. This maintains a clean separation between non-temporal considerations (in the matching rules) and temporal considerations (in the wider framework of Chain). This is also for simplicity. The single-period matching rules can be allowed to depend on the reported arrival-departure interval, as long as the (singleperiod) rules are monotonic in tighter arrival-departure intervals, in the sense that an agent that wins for someθ i = (â i ,d i ,ŵ i ) continues to win and for an improved price if it instead However, whether or not trade is possible must be independent of the reported arrival-departure interval and similarly for strong no-trade. Determinations such as these would need to be made with respect to the most patient type

Practical Instantiations: Price-Based and Competition-Based Rules
In this section we offer a number of instantiations of the Chain online DA framework. We present two different classes of well-defined matching rules: those that are price-based and compute simple price statistics based on the history which are then used for matching, and those that we refer to as competition-based and leverage the history but also consider direct competition between the active bids and asks in any period. In each case, we establish that the matching rules are well-defined and provide a valid strong no-trade construction.

Price-Based Matching Rules
Each one of these rules constructs a single price, p t , in period t based on the history H t of earlier bids and asks that are traded or expired. For this purpose we define variations on a real valued statistic, ξ(H t ), that is used to define this price given the history. Generalizing the SimpleMatch procedure, as introduced in Section 3.1, the price p t is used to determine the trades in period t. We also provide a construction for strong no-trade in this context.
The main concern in setting prices is that they may be too volatile, with price updates driving the admission price higher (via the max operator in the admission rule of Chain) and having the effect of pricing bids and asks out of the market. We describe various forms of smoothing and windowing, all designed to provide adaptivity while dampening shortterm variations. In each case, the parameters (e.g. the smoothing factor, or the window size) can be determined empirically through off-line tuning.
We experiment with five price variants: History-EWMA: Exponentially-weighted moving average. The bid history, H t , is used to define price p t in period t, computed as p t := λ ξ(H t ) + (1 − λ)p t−1 , where λ ∈ (0, 1] is a smoothing constant and ξ(H t ) is a statistic defined for bids and asks that enter the history in period t. Experimentally we find that the mean statistic, ξ mean (H t ), of the absolute values of bids and asks that enter the history performs well with λ of 0.05 or lower for most scenarios that we test. For cases in which ξ(H t ) is not well-defined because of too few (or zero) new bids or asks, then we set p t := p t−1 .
History-median: Compute price p t from a statistic over a fixed-size window of the most recent history, p t := ξ(H t , ∆) where ∆ is the window-size, i.e. defining bids introduced to history H t in periods [t − ∆, . . . , t]. Experimentally, we find that the median statistic, ξ median (H t , ∆), of the absolute bid and ask values performs well for the scenarios we test, with the window size depending inversely with the volatility of agents' valuations. Typically, we observe optimal window sizes of 20 and 150, depending on volatility. For cases in which ξ(H t , ∆) is not well-defined because of too few (or zero) new bids or asks, then we set p t := p t−1 .
History-clearing: Identical to the history-median rule except the statistic ξ(H t , ∆) is defined as (b m − s m )/2 where b m and s m are the lowest value pair of trades that would be executed in the efficient (value-maximizing) trade given all bids and asks to enter history H t in periods [t − ∆, . . . , t]. Empirically, we find similar optimal window sizes for historyclearing as for history-median.
History-McAfee: Define the statistic ξ(H t , ∆) to represent the McAfee price, defined in Section 4.2, for the bids in H t had they all simultaneously arrived.
Fixed price: This simple rule computes a single fixed price p t := p * for all trading periods, with the price optimized offline to maximize the average-case efficiency of the dynamic DA given Chain and the associated single-period matching rule that leverages price p * as the candidate trading price.
For each pricing variant, procedure Match (see Figures 3-4) is used to determine which bids win (at price p t ), which lose, and, of those that lose, which satisfy the strong notrade predicate. The subroutine used to determine the current price is referred to as determineprice in Match. We provide as input to Match the set E t in addition to (H t , b t , s t ) because Match also constructs the strong no-trade set, and E t is used exclusively for this purpose.
The proof of the following lemma is technical and is postponed until the Appendix.
Lemma 1 Procedure Match defines a valid strong no-trade construction.
Theorem 1 Procedure Match defines a well-defined matching rule and a valid strong notrade construction.
Proof: No-deficit, feasibility, and individual-rationality are immediate by the construction of Match since bids and asks are added to matched in pairs, with the same payment, and only if the payment is less than or equal to their value. Truthfulness is also easy to see: the order with which a bid (or ask) is selected is independent of its bid price, and the price it faces, when selected, is independent of its bid. If the price is less than or equal to its bid, then whether or not it trades depends only on its order. The rest of the claim follows from Lemma 1. function and price p t = 9. The outer while loop in Figure 3 terminates with j = 2 and i = 0 in Case II. The bid is marked as a loser while NT t = {2}. If the bid will depart immediately, , and price p t = 9. Suppose that ask 2 is selected before ask 3 in the outer while loop. Then the loop terminates with j = 2 and i = 0 in Case II and NT t = {2, 3}. Suppose the bid and asks leave the market later than this period.
, price p t = 9 and both the bid and the ask is patient. The outer while loop terminates with i = 0 and j = 0 in Case III so that NT t = {1, 2}. However, SNT t = ∅.

Competition-Based Matching Rules
Each one of these rules determines which bids match in the current period through price competition between the active bids. We present three variations: McAfee, Windowed-McAfee and Active-McAfee. The latter two rules are hybrid rules in that they leverage history of past offers, in smoothing prices generated by the competition-based matching rules.
McAfee: Use the static DA protocol due to McAfee as the matching rule. Let B denote the set of bids and S denote the set of asks. If min(|B|, |S|) < 2, then there is no trade. Otherwise, first insert two dummy bids with value {∞, 0} and two dummy asks with value {0, −∞} into the set of bids and asks.
. . denote the bid and ask values with (b 0 , s 0 ) denoting dummy pair (∞, 0) and (b m , s n ) denoting dummy pair (0, −∞) and ties otherwise broken at random. Let m ≥ 0 index the last pair of bids and asks to clear in the efficient trade, such that b m + s m ≥ 0 and b m+1 + s m+1 < 0. When m ≥ 1, consider the following two cases: ≤ b m and −p m+1 ≤ s m then the first m bids and asks trade and payment p m+1 is collected from each winning buyer and made to each winning seller.
• (Case II) Otherwise, the first m − 1 bids and asks trade and payment b m is collected from each winning buyer and payment −s m is made to each winning seller.
To define NT t , replace a bid that does not trade with a bid reporting a very large value and see whether this bid trades. To determine whether trade is possible for an ask that does not trade: replace the ask with an ask reporting value ǫ > 0, some small ǫ. Say that there is a quorum if and only if there are at least two bids and at least two asks, i.e. min(|b t |, |s t |) ≥ 2. Define strong no-trade as follows: set SNT t := NT t = b t ∪ s t when there is no quorum and SNT t := ∅ otherwise.
Lemma 2 For any bid b i in the McAfee matching rule, then for any other bid (or ask) j there is some bidb i that will make trade possible for bid (or ask) j when there is a quorum.
Proof: Without loss of generality, suppose there are three bids and three asks. Label the bids (a, c, e) and the asks (b, d, f ), both ordered from highest to lowest so that (a, b) is the most competitive bid-ask pair. Proceed by case analysis on bids. The analysis is symmetric for asks and omitted. Let tp(i) ∈ {0, 1} denote whether or not trade is possible for bid i, so that i ∈ NT t ⇔ tp(i) = 0. For bid a: when b ≥ −(a − d)/2 then tp(c) = tp(e) = 1 and this inequality can always be satisfied for a large enough a; when a ≥ (c − d)/2 then tp(b) = 1 and when a ≥ (c − b)/2 then tp(d) = tp(f ) = 1, and both of these inequalities are satisfied for a large enough a. For bid c: when b ≥ −(c − d)/2 then tp(a) = 1 and when, in addition, c > a, then tp(e) = 1 and each one of these inequalities are satisfied for a large enough c; similarly when c ≥ (a − d)/2 then tp(b) = 1 and when c ≥ (a − b)/2 then tp(d) = tp(f ) = 1. Analysis for bid e follows from that for bid c.
Lemma 3 The construction for strong no-trade is valid and there is no valid strong notrade construction that includes more than one losing bid or ask that will not depart in the current period for any period in which there is a quorum.
Proof: To see that this is a valid construction, notice that strong no-trade condition (a) holds since any bid (or ask) is always in both NT t and SNT t . Similarly, condition (b) trivially holds (with the other bids and asks remaining in SNT t even if any bid is not present in the market). To see that this definition is essentially maximal, consider now that min(|b t |, |s t |) ≥ 2. For contradiction, suppose that two losing bids {i, j} with departure after the current period are designated as strong no-trade. But, strong no-trade condition (b) fails because of Lemma 2 because either bid could have submitted an alternate bid price that would remove the other bid from NT t and thus necessarily also from SNT t .
The construction offered for SNT t cannot be extended even to include one agent selected at random from the set i ∈ NT t that will not depart immediately, in the case of a quorum. Such a construction would fail strong no-trade condition (b) when the set NT t contains more than one bid (or ask) that does not depart in the current period, because bid i's absence from the market would cause some other agent to be (randomly) selected as SNT t .
Windowed-McAfee: This myopic matching rule is parameterized on window size ∆. Augment the active bids and asks with the bids and asks introduced to the history H t in periods t ′ ∈ {t − ∆ + 1, . . . , t}. Run McAfee with this augmented set of bids and asks and determine which of these bids and asks would trade. Denote this candidate set C. Some active agents identified as matching in C may not be able to trade in this period because C can also contain non-active agents.
Let B ′ and S ′ denote, respectively, the active bids and active asks in set C. Windowed-McAfee then proceeds by picking a random subset of min(|B ′ |, |S ′ |) bids and asks to trade. When |B ′ | = |S ′ |, then some bids and asks will not trade.
Define strong no-trade for this matching rule as: (i) if there are no active asks but active bids, then SNT t := b t (ii) if there are no active bids but active asks, then SNT t := s t (iii) if there are fewer than 2 asks or fewer than 2 bids in the augmented bid set, then SNT t := b t ∪ s t , and otherwise set SNT t := ∅. In all cases it should be clear that SNT t ⊆ NT t .
Lemma 4 The strong no-trade construction for windowed-McAfee is valid.
Proof: That this is a valid SNT criteria in case (iii) follows immediately from the validity of the SNT criteria for the standard McAfee matching rule. Consider case (i). Case (ii) is symmetric and omitted. For strong no-trade condition (a), we see that all bids i ∈ NT t and also i ∈ SNT t , and whether or not they are designated strong no-trade is independent of their own bid price but simply because there are no active asks. Similarly, for strong no-trade condition (b), we see that all bids (and never any asks) are in SNT t whatever the bid price of any particular bid (and even whether or not it is present).
Empirically, we find that the efficiency of Windowed-McAfee is sensitive to the size of H t , but that frequently the best choice is a small window size that includes only the active bids.
Active-McAfee: Active-McAfee augments the active bids and asks to include all unexpired but traded or priced-out offers. It proceeds as in Windowed-McAfee given this augmented bid set.

Extended Examples
We next provide two stylized examples to demonstrate the matching performed by Chain using both a price-based and a competition-based matching rule. For both examples, we assume a maximal patience of K = 2. Moreover, while we describe when Chain determines that a bid or an ask trades, remember that a winning buyer is not allocated the good until its reported departure and a winning seller does not receive payment until its reported departure.
Example 5 Consider Chain using an adaptive, price-based matching rule. The particular details of how prices are determined are not relevant. Assume that the prices in periods 1 and 2 are {p 1 , p 2 } = {8, 7} and the maximal patience is three periods. Now consider period 3 and suppose that the order book is empty at the end of period 2 and that the bids and asks in Table 1 arrive in period 3. with a *). Bid b 3 is priced-out upon admission because q b3 >ŵ b3 (indicated with a strikethrough). The admission price is q i and the payment made by an agent that trades is p i . Column 'SNT?' indicates whether or not the bid or ask satisfies the strong no-trade predicate. Asks {s 1 , s 5 } survive into the next period because they are in SNT and have d i > 3.
Note the role of the admission price in truthfulness. Had bid b 1 delayed arrival until period 4, its admission price would be max(p 2 , p 3 , −∞) = max(7, 6.5) = 7 and its payment in period 4 (if it matches) at least 7. Similarly, had ask s 4 delayed arrival, then its admission price would be max(−7, −6.5, −∞) = −6.5 and the maximal payment it can receive in period 4 is 6.5.
Example 6 Consider Chain using the McAfee-based matching rule with K = 3 and with the same bids and asks arriving in period 3. Suppose that the prices in periods 1 and 2 that would have been faced by a buyer are {p 1 b , p 2 b } = {8, 7} and {p 1 s , p 2 s } = {−7, −6} for a seller. These prices are determined by inserting an additional bid (with value ∞) or an additional ask (with value 0) into the order books in each of periods 1 and 2. We will illustrate this for period 3. Consider now the bids and asks in period 3 in Table 2. with a *). Bid b 3 is priced-out upon admission because q b3 >ŵ b3 . The admission price is q i and the payment made by an agent that trades is p i . Column 'SNT?' indicates whether or not the bid or ask satisfies the strong no-trade predicate. No asks or bids survive into the next period.
(3) to define the admission price for bids and asks with arrivals in periods 4 and 5 are determined as follows. For the buy-side price, we introduce an additional bid with bid-price ∞. With this the bid values considered by McAfee would be (∞, 15, 10, 6, 0) and the ask values would be (−1, −3, −4, −5, −10), where a dummy bid with value 0 is included on the buy-side. The last efficient pair to trade is m = 4 with 6 − 5 ≥ 0 and p m+1 = (0 − (−10))/2 = 5, which satisfies this bid-ask pair. Therefore the buy-side price, p 3 b := 5. On the sell-side, we introduce an additional ask with ask-price 0 so that the bid values considered by McAfee are (15, 10, 6, 0) (again, with a dummy bid included) and the ask values are (0, −1, −3, −4, −5, −10). This time m = 3 and the last efficient pair to trade is 6 − 3 ≥ 0. Now p m+1 = (0 − (−4))/2 = 2 and this price does not satisfy s 2 , with −p m+1 > s 2 and price p s m+1 = s 2 = −3 is adopted. Therefore the sell-side price, p 3 s := −3. Again, we can see that bidder 1 cannot improve its price by delaying its entry until period 4. The admission price for the bidder would be max(p 2 b , p 3 b ) = max(7, p 3 b ) ≥ 7 and thus its payment in period 4, if it matches, will be at least 7. 4 Similarly for ask s 1 , which would face admission price max{p 2 s , p 3 s } = max{−6, −4} = −4 and can receive a payment of at most 4 in period 4. We leave it as an exercise for the reader to verify that p 3 s = −4 if ask s 1 delays its arrival until period 4 (in comparison, p 3 s = −3 when ask s 1 is truthful).
Because the McAfee-based pricing scheme computes a price and clears the order book following every period in which there are at least two bids and two asks, the bid activity periods tend to be short in comparison to the adaptive, price-based rules where orders can be kept active longer when there is an asymmetry in the number of bids and asks in the market. In fact, one interesting artifact that occurs with adaptive, price-based matching rules is that the admission-price and SNT can perpetuate this kind of bid-ask asymmetry.
Once the market has more asks than bids, SNT becomes likely for future asks, but not bids. Therefore, bids are much more likely than asks to be immediately priced out of the market by failing to meet the admission price constraint.

Theoretical Analysis: Truthfulness, Uniqueness, and Justifying
Bounded-Patience In this section we prove that Chain combined with a well-defined matching rule and a valid strong no-trade construction generates a truthful, no-deficit, feasible and individual-rational dynamic DA. In Section 5.2, we establish that uniqueness of Chain amongst dynamic DAs that are constructed from single-period matching rules as building blocks. In Section 5.3, we establish the importance of the existence of a maximal bound on bidder patience by presenting a simple environment in which no truthful, no-deficit DA can implement even a single trade despite the number of efficient trades can be increased without bound.

The Chain Mechanism is Strongly Truthful
It will be helpful to adopt a price-based interpretation of a valid single-period matching rule. Given rule M mr , define an agent-independent price, such that for all i, all bids b t , all asks s t , all history H t , and all random events ω ∈ Ω. We have: We can check that p 3 b := 6 in this case. Suppose that bidder 1 were not present in period 3. Now consider introducing an additional bid with value ∞ so that the bids values are {∞, 10, 6, 0} (with a dummy bid) with ask values {−1, −3, −4, −5, −10}. Then m = 3 and pm+1 = (0 − (−5))/2 = 2.5, which does not support the trade between bid b4 and ask s3. Instead, p b m =ŵ b 4 = 6 is adopted, and we would have p 3 b := 6. Of course, this is exactly the price determined by McAfee for bid b1 in period 3 when the bidder is truthful.
The interpretation is that there is an agent-independent price, z i (H t , A t \ i, ω), that is at leastŵ i when the agent loses and no greater thanŵ i otherwise. In particular, z i (H t , A t \ i, ω) = ∞ when i ∈ NT t . Although an agent's price is only explicit in a matching rule when the agent trades, it is well known that such a price exists for any truthful, single-parameter mechanism; e.g., see works by Archer and Tardos (2001) and Goldberg and Hartline (2003). 5 Moving forward we adopt price z i to characterize the matching rule used as a building block for Chain, and assume without loss of generality properties (A1) and (A2).
Given this, we will now establish the truthfulness of Chain by appeal to a price-based characterization due to Hajiaghayi et al. (2005) for truthful, dynamic mechanisms. We state (without proof) a variant on the characterization result that holds for stochastic policies (π, x) and strong-truthfulness. The theorem that we state is also specialized to our DA environment. We continue to adopt ω ∈ Ω to capture the realization of stochastic events internal to the mechanism: Theorem 2 (Hajiaghayi et al., 2005) A dynamic DA M = (π, x), perhaps stochastic, is strongly truthful for misreports limited to no early-arrivals if and only if, for every agent i, allθ i , all θ −i , and all random events ω ∈ Ω, there exists a price p i (â i ,d i , θ −i , ω) such that:

and the trade is performed for a buyer upon its departure period
and the payment is made to a seller upon its departure,d i .
where random event ω is independent of the report of agent i in as much as it affects the price to agent i.
Just as for the single-period, price-based characterization, the price p i (a i , d i , θ −i , ω) need not always be explicit in Chain. Rather, the theorem states that given any truthful dynamic DA, such as Chain, there exists a well-defined price function with these properties of valueindependence (B1) and arrival-departure monotonicity (B2), and such that they define the trade (B3) and the payment (B4).
To establish the truthfulness of Chain, we prove that it is well-defined with respect to the following price function: 5. A single-parameter mechanism is one in which the private information of an agent is limited to one number. This fits the single-period matching problem because the arrival and departure information is discarded. Moreover, although there are both buyers and sellers, the problem is effectively singleparameter because no buyer can usefully pretend to be a seller and vice versa.
where decision(i) = 0 indicates that i ∈ SNT t for all t ∈ [â i ,d i ] and decision(i) = 1 otherwise, and where t * ∈ [â i ,d i ] is the first period in which i / ∈ SNT t . We refer to this as the decision period. Termq(â i ,d i , θ −i , ω) denotes the admission price, and is defined on periods t before the agent arrives for which i / ∈ SNT t had it arrived in that period. Note carefully that the rules of Chain are implicit in defining this price function. For instance, whether or not i ∈ SNT t in some period t depends, for example, on the other bids that remain active in that period.
We now establish conditions (B1)-(B4). The proofs of the technical lemmas are deferred until the Appendix. The following lemma is helpful and gets to the heart of the strong notrade concept.
Lemma 5 The set of active agents (other than i) in period t in Chain is independent of i's report while agent i remains active, and would be unchanged if i's arrival is later than period t.

The following result establishes properties (B1) and (B2).
Lemma 6 The price constructed from admission priceq and post-arrival pricep is valueindependent and monotonic-increasing when the matching rule in Chain is well-defined, the strong no-trade construction is valid, and agent patience is bounded by K.
Having established properties (B1) and (B2) for price function p i (â i ,d i , θ −i , ω), we just need to establish (B3) and (B4) to show truthfulness. The timing aspect of (B3) and (B4), which requires that the buyer receives an item and the seller receives its payment upon reported departure, is already clear from the definition of Chain.
Theorem 3 The online DA Chain is strongly truthful, no-deficit, feasible and individualrational when the matching rule is well-defined, the strong no-trade construction is valid, and agent patience is bounded by K.
Proof: Properties (B1) and (B2) follow from Lemma 6. The timing aspects of (B3) and (B4) are immediate. To complete the proof, we first consider (B3). Ifq >ŵ i , then agent i is priced out at admission by Chain because this reflects that and thus the bid would lose if it arrived in that period (either because it could trade, but for a payment greater than its reported value, or because i ∈ NT t ). Also, if there is no decision period, thenp = ∞, which is consistent with Chain, because there is no bid price at which a bid will trade when i ∈ SNT t for all periods t ∈ [â i ,d i ]. Suppose now that there is a decision period t * andq <ŵ i . Ifp >ŵ i , then there should be no trade. This is the case in Chain, because the price z i (H t * , A t * \ i, ω) in t * is greater thanŵ i and thus the agent is priced-out. Ifp <ŵ i then the bid should trade and indeed it does, again because the price z i in that period satisfies (A1) and (A2) with respect to the matching rule. Turning to (B4), it is immediate that the payments collected in Chain are equal to price p i (â i ,d i , θ −i , ω), because if bid i trades then p i (â i ,d i , θ −i , ω) ≤ŵ i and thusq ≤ŵ i andp ≤ŵ i . The admission price q(â i ,d i , θ −i , ω) =q(â i ,d i , θ −i , ω) whenq ≤ŵ i because price z i is well-defined by properties (A1) and (A2). Similarly, the payment p t * defined by the matching rule in Chain in the decision period is equal top.
That Chain is individual-rational and feasible follows from inspection. Chain is nodeficit because the payment collected from every agent (whether a buyer or a seller) is at least that defined by a valid matching rule in the decision period t * (it can be higher when the admission price is higher than this matching price), the matching rules are themselves no-deficit, and because the auctioneer delays making a payment to a seller until its reported departure but collects payment from a buyer immediately upon a match.
We remark that information can be reported to bidders that are not currently participating in the market, for instance to assist in their valuation process. If this information is delayed by at least the maximal patience of a bidder, so that the bid of a current bidder cannot influence the other bids and asks that it faces, then this is without any strategic consequences. Of course, without this constraint, or with bidders that participate in the market multiple times, the effect of such feedback would require careful analysis and bring us outside of the private values framework.

Chain is Unique amongst Dynamic DAs that are constructed from Myopic Matching Rules
In what follows, we establish that Chain is unique amongst all truthful, dynamic DAs that adopt well-defined, myopic matching rules as simple building blocks. For this, we define the class of canonical, dynamic DAs, which take a well-defined single period matching rule coupled with a valid strong no-trade construction, and satisfy the following requirements: (i) agents are active until they are matched or priced-out, (ii) agents participate in the single-period matching rule while active (iii) agents are matched if and only if they trade in the single-period matching rule.
We think that these restrictions capture the essence of what it means to construct a dynamic DA from single-period matching rules. Notice that a number of design elements are left undefined, including the payment collected from matched bids, when to mark an active bid as priced-out, what rule to use upon admission, and how to use the strong no-trade information within the dynamic DA. In establishing a uniqueness result, we leverage the necessary and sufficient price-based characterization in Theorem 2, and exactly determine the price function p i (â i ,d i , θ −i , ω) to that defined in Eq. (4) and associated with Chain. The proofs for the two technical lemmas are deferred until the Appendix.
Lemma 7 A strongly truthful, canonical dynamic DA must define price p where t * is the decision period for bid i (if it exists). Moreover, the bid must be priced-out in period t * if it is not matched.
Theorem 4 The dynamic DA algorithm Chain uniquely defines a strongly truthful, individual-rational auction among canonical dynamic DAs that only designate bids as pricedout when necessary.
Proof: If there is no decision period, then we must have p i (â i ,d i , θ −i , ω) = ∞, by canonical (iii) coupled with (B3). Combining this with Lemmas 7 and 8, we have p We have also established that a bid must be pricedout if its bid value is less than the admission price, or it fails to match in its decision period. Left to show is that the price is exactly as in Chain, and that a bid is admitted when its valueŵ i ≥q(â i ,d i , θ −i , ω) and retained as active when it is in the strong notrade set. The last two control aspects are determined once we choose a rule that "only designates bids as priced-out when necessary." We prefer to allow a bid to remain active when this does not compromise truthfulness or individual-rationality. Finally, suppose for contradiction that ) − ǫ and avoid winning -otherwise its payment would be greater than its value.

Bounded Patience Is Required for Reasonable Efficiency
Chain depends on a maximal bound on patience used to calculate the admission price faced by a bidder on entering the market with Eq. (3). To motivate this assumption about the existence of a maximal patience, we construct a simple environment in which the number of trades implemented by a truthful, no-deficit DA can be made an arbitrarily small fraction of the number of efficient trades with even a small number of bidders having potentially unbounded patience. This illustrates that a bound on bidder patience is required for dynamic DAs with reasonable performance.
In achieving this negative result, we impose the additional requirement of anonymity, This anonymity property is already satisfied by Chain, when coupled with matching rules that satisfy anonymity, as is the case with all the rules presented in Section 4. In defining anonymity, extend the earlier definition of a dynamic DA, M = (π, x), so that allocation policy π = {π t } t∈T defines the probability π t i (θ ≤t ) ∈ [0, 1] that agent i trades in period t given reports θ ≤t . Payment, x = {x t } t∈T , continues to define the payment x t i (θ ≤t ) by agent i in period t, and is a random variable when the mechanism is stochastic.
Definition 8 (anonymity) A dynamic DA, M = (π, x) is anonymous if allocation policy π = {π t } t∈T defines probability of trade π t i (θ ≤t ) in each period t that is independent of identity i and invariant to a permutation of (θ ≤t \ i) and if the payment x t i (θ ≤t ), contingent on trade by agent i, is independent of identity i and invariant to a permutation of (θ ≤t \ i).
We now consider the following simple environment. Informally, there will be a random number of high-valued phases in which bids and asks have high value and there might be a single bidder with patience that exceeds that of the other bids and asks in the phase. These high-valued phases are then followed by some number, perhaps zero, of low-valued phases with bounded-patience bids and asks. Formally, there are T h ≥ 1 high-valued phases (a random variable, unknown to the auction), each of duration L ≥ 1 periods, indexed k ∈ {0, 1, . . . , T h − 1} and each with: • N or N − 1 bids with type (1 + kL, (k + 1)L, v H ), • 0 or 1 bids with type (1 + kL, d, αv H ) for some mark-up parameter, α > 1 and some high-patience parameter, d ∈ T , • N asks with type (1 + kL, (k + 1)L, −(v H − ǫ)), followed by some number (perhaps zero) of low-valued phases, also of duration L, and indexed k ∈ {T h , . . . , ∞}, with: • N or N − 1 bids with type (1 + kL, (k + 1)L, v L ) • N asks with type (1 + kL, where N ≥ 1, 0 < v L < v H , and bid-spread parameter ǫ > 0. Note that any phase can be the last phase, with no additional bids or asks arriving in the future. Definition 9 (reasonable DA) A dynamic DA is reasonable in this simple environment if there is some parameterization of new bids, N ≥ 1, and periods-per-phase, L ≥ 1, for which it will execute at least one trade between new bids and new asks in each phase, for any choice of high value v H , low value v L < v H , bid-spread ǫ > 0, mark-up α > 1, high patience d.
All of the dynamic DAs presented in Section 4 can be parameterized to make them reasonable for a suitably large N ≥ 1 and L ≥ 1, and without the possibility of a bid with an unbounded patience.
Theorem 5 No strongly truthful, individual-rational, no-deficit, feasible, anonymous dynamic DA can be reasonable when a bidder's patience can be unbounded.
Proof: Fix any N ≥ 1, L ≥ 1, and for the number of high-valued phases, T h ≥ 1, set the departure of a high-patience agent to d = (T h + 1)L. Keep v H > v L > 0, ǫ > 0, and α > 1 as variables to be set within the proof. Assume a dynamic DA is reasonable, so that it selects at least one new bid-ask pair to trade in each phase. Consider phase k = 0 and with N − 1 agents of types (1, L, v H ), N of type (1, L, −(v H − ǫ)) and 1 agent of patient type, (1, (T h + 1)L, αv H ). If the patient bid deviates to (1, L, v H ), then the bids are all identical, and with probability at least 1/N the bid would win by anonymity and reasonableness. Also, by anonymity, individual-rationality and no-deficit we have that the payment made by any winning bid is the same, and must be p ′ ∈ [v H −ǫ, v H ]. (If the payment had been less than this, the DA would run at a deficit since the sellers require at least this much payment for individual-rationality.) Condition now on the case that the patient bid would win if it deviates and reports (1, L, v H ). Suppose the bidder is truthful, reports (1, (T h + 1)L, αv H ) but does not trade in this phase. But, if phase k = 0 is the last phase with new bids and asks, then the bid will not be able to trade in the future and for strong-truthfulness the DA would need to make a payment of at least αv H − v H = (α − 1)v H in a later phase to prevent the bid having a useful deviation to (1, L, v H ) and winning in phase k = 0. But, if: then the DA cannot make this payment without failing no-deficit (because N ǫ is an upperbound on the surplus the auctioneer could extract from bidders in this phase without violating individual-rationality). We will later pick values of α, ǫ and v H , to satisfy Eq. (8). So, the bid must trade when it reports (1, (T h + 1)L, αv H ), in the event that it would win with report (1, L, v H ), as "insurance" against this being the last phase with new bids and asks. Moreover, it should trade for payment, p ′ ∈ [v H − ǫ, v H ], to ensure an agent with true type (1, L, v H ) cannot benefit by reporting (1, (T h + 1)L, αv H ). Now suppose that this was not the last phase with new bids and asks, and T h > 1. Now consider what would happen if the patient bid in phase k = 0 deviated and reported (1 + T h L, (T h + 1)L, v L ). As before, this bid would win with probability at least 1/N by anonymity and reasonableness, but now with some payment p ′′ ∈ [v L − ǫ, v L ]. Condition now on the case that the patient bid would win, both with a report of (1, L, v H ) and with a report of (1 + T h L, (T h + 1)L, v L ). When truthful, it trades in phase k = 0 with payment at least v H − ǫ. If it had reported (1 + T h L, (T h + 1)L, v L ), it would trade in phase k = T h for payment at most v L . For strong truthfulness, the DA must make an additional payment to the patient agent of at least But, suppose that the high and low values are such that, Making this payment in this case would violate no-deficit, because (T h +1)N ǫ is an upperbound on the surplus the auctioneer can extract from bidders across all phases, including the current phase, without violating individual-rationality. But now we can fix any v L > 0, ǫ < v L and choose v H > (T h + 1)N ǫ + v L + ǫ to satisfy Eq. (9) and α > (N ǫ/v H ) + 1 to satisfy Eq. (8). Thus, we have proved that no truthful dynamic DA can choose a bidask pair to trade in period k = 0. The proof can be readily extended to show a similar problem with choosing a bid-ask pair in any period k < T h , by considering truthful type of (1 + kL, (T h + 1)L, αv H ).
To drive home the negative result: notice that the number of efficient trades can be increased without limit by choosing an arbitrarily large T h , and that no truthful, dynamic DA with these properties will be able to execute even a single trade in each of these {0, . . . , T h − 1} periods. Moreover, we see that only a vanishingly small fraction of high-patience agents is required for this negative result. The proof only requires that at least one patient agent is possible in all of the high-valued phases.

Experimental Analysis
In this section, we evaluate in simulation each of the Chain-based DAs introduced in Section 4. We measure the allocative efficiency (total value from the trades), net efficiency (total value discounted for the revenue that flows to the auctioneer), and revenue to the auctioneer. All values are normalized by the total offline value of the optimal matching.
For comparison we also implement several other matching schemes: the truthful, surplusmaximizing matching algorithm presented by Blum et al. (2006), an untruthful greedy matching algorithm using truthful bids as input to provide an upper-bound on performance, and an untruthful DA populated with simple adaptive agents that are modeled after the Zero-intelligence Plus trading algorithm that has been leveraged in the study of static DAs (Cliff & Bruten, 1998;Preist & van Tol, 1998).

Experimental Set-up
Traders arrive to the market as a Poisson stream to exchange a single commodity at discrete moments. This is a standard model of arrival in dynamic systems, economic or otherwise. Each trader, equally likely to be a buyer or seller, arrives after the previous with an exponentially distributed delay, with probability density function (pdf): where λ > 0 represents the arrival intensity in agents per second. Later we present results as the interarrival time, 1 λ , is varied between 0.05 and 1.5; i.e., as the arrival intensity is varied between 20 and 2 3 . A single trial continues until at least 5,000 buyers and 5,000 sellers have entered the market. In our experiments we vary the maximal patience K between 2 and 10. For the distribution on an agent's activity period (or patience, d i − a i ), we consider both a uniform distribution with pdf: and a truncated exponential distribution with pdf: where α = − ln(0.05)/K so that 95% of the underlying exponential distribution is less than the maximal patience. Both arrival time and activity duration are rounded to the nearest integral time period. A trader who arrives and departs during the same period is assumed to need an immediate trade and is active for only one period. Each trader's valuation represents a sample drawn at its arrival from a uniform distribution with spread 20% about the current mean valuation. (The value is positive for a bid and negative for an ask.) To simulate market volatility, we run experiments that vary the average valuation using Brownian motion, a common model for valuation volatility upon which many option pricing models are based (Copeland & Weston, 1992). At every time period, the mean valuation randomly increases or decreases by a constant multiplier, e ±γ , where γ is the approximate volatility and varied between 0 and 0.15 in our experiments.
We plot the mean efficiency of 100 runs for each experiment, with the same sets of bids and asks used across all double auctions. All parameters of an auction rule are reoptimized for each market environment; e.g., we can find the optimal fixed price and the optimal smoothing parameters offline given the ability to sample from the market model.

Chain Implementation
We implement Chain for the five price-based matching rules (history-clearing, historymedian, history-McAfee, history-EWMA, and fixed-price) and the three competition-based matching rules (McAfee, active-McAfee, and windowed-McAfee).
The price-based implementations keep a fixed-size set of the most recently expired, traded, or priced-out offers, H t . Offers priced-out by their admission prices are inserted into H t prior to computing p t . The history-clearing metric computes a price to maximize the number of trades to agents represented by H t had they all been contemporary. The historymedian metric chooses the price to be the median of the absolute valuation of the offers in H t . The history-McAfee method computes the "McAfee price" for the scenario where all agents represented by H t are simultaneously present. The EWMA metric computes an exponentially-weighted average of bids in the order that they expire, trade, or price out. The simulations initialize the price to the average of the mean buy and sell valuations. If two bids expire during the same period, they are included in arbitrary order to the moving average.
None of the metrics require more than one parameter, which is optimized offline with access to the model of the market environment. Parameter optimization proceeds by uniformly sampling the parameter range, smoothing the result by averaging each result with its immediate neighbors. The optimization repeats twice more over a narrower range about the smoothed maximum, returning the parameter that maximizes (expected) allocative efficiency. None of the price-based methods appeared to be sensitive to small (<10%) changes in the size of H t . With most simulations, the window size was chosen to be about 150 offers. For EWMA, the smoothing factor was usually chosen to be around 0.05 or lower. The windowed-McAfee matching rule, however, was extremely sensitive to window size for simulations with volatile valuations, and the search process frequently converged to suboptimal local maxima.
The admission price in the price-based methods is computed by first determining whether Match would check the value of the bid against bid price if the bid had arrived in some earlier period t ′ . Rather than simulate the entire Match procedure, it is sufficient to determine the probability ρ i of this event. This is determined by checking the construction of the strong no-trade sets in that earlier period. If SNT t ′ contains non-departing buyers (sellers), then the probability that an additional seller (buyer) would be examined is 1 and ρ i = 1. Otherwise the probability is equal to the ratio of the number of bids (asks) examined not included in SNT t and one more than the total number of bids (asks) present. Finally, with probability ρ i the price the agent would have faced in period t ′ is defined as p t ′ (−p t ′ for sellers), and otherwise it is −∞. Here, p t ′ is the history-dependent price defined in period t ′ .
The competition-based matching rules price out all non-trading bids at the end of each period in which trade occurs (because of the definition of strong no-trade in that context). The admission prices are calculated by considering the price that a bid (ask) would have faced in some period t ′ before its reported arrival. In such a period, the price for a bid (ask) is determined by inserting an additional bid (ask) with valuation ∞ (0) and applying the competition-based matching rule to that (counterfactual) state. From this we determine whether the agent would win for its reported value, and if so what price it would face.

Optimal Offline Matching
We use a commercial integer program solver (CPLEX 6 ) to compute the optimal offline solution, i.e. with complete knowledge about all offers received over time. In determining the offline solution we enforce the constraint that a trade can only be executed if the activity periods of both buyer, i, and seller, j, overlap, 6. www.ilog.com An integer-program formulation to maximize total value is: where (i, j) ∈ overlap is a bid-ask pair that could potentially trade because they have overlapping arrival and departure intervals satisfying Eq. (13). The decision variable x ij ∈ {0, 1} indicates that bid i matches with ask j. This provides the optimal, offline allocative efficiency.

Greedy Online Matching
We implement a greedy matching algorithm that immediately matches offers that yield nonnegative budget surplus. This is a non-truthful matching rule but provides an additional comparison point for the efficiency of the other matching schemes. During each time period, the greedy matching algorithm orders active bids and asks by their valuations, exactly as the McAfee mechanism does, and matches offers until pairs no longer generate positive surplus. The algorithm's performance allows us to infer the number of offers that the optimal matching defers before matching and the amount of surplus lost by the McAfee method due to trade reduction and due to the additional constraint of admission pricing. Blum et al. (2006) derive a mechanism equivalent to our fixed-price matching mechanism, except that the price used is chosen from the cumulative distribution

Worst-Case Optimal Matching
where r is the fixed point to the equation and w min ≥ 0 and w max ≥ 0 are the minimum and maximum absolute valuations of all traders in the market. For our simulations, we give the mechanism the exact knowledge of the minimum and maximum absolute valuations for each schedule. Blum et al. (2006) show that this method guarantees an expected competitive ratio of max(2, ln(w max /w min )) with respect to the optimal offline solution in an adversarial setting. We were interested to see how will this performed in practice in our simulations.

Strategic Open-outcry Matching: ZIP Agents
To compare Chain with the existing literature on continuous double auctions, we implement a DA that in every period sorts all active offers and matches the highest valued bids with the lowest valued asks so long as the match yields positive net surplus. The DA prices each trading pair at the mean of the pair's declared valuations. Since the trade price depends on a bidder's declaration, the market does not support truthful bidding strategies. We must therefore adopt a method to simulate the behavior of bidding agents within this simple open outcry market. For this, we randomly assign each bid to one of several "protocol agents" that each use a modified ZIP trading algorithm, as initially presented by Cliff and Bruten (1998) and improved upon by Preist and van Tol (1998). The ZIP algorithm is a common benchmark used to compare learned bidding behavior in a simple double-auction trading environment in which agents are present at once and adjust their bids in seeking a profitable trade. We adapt the ZIP algorithm for use in our dynamic environment.
In our experiments we consider five of these protocol agents. New offers are assigned uniformly at random to a protocol agent, which remains persistent throughout the simulation. Each offer is associated with a patience category, k ∈ {low, medium, high}, defined to evenly partition the range of possible offer patience. Each protocol agent, j, is defined with parameters (r j , β j , γ j ) and maintains a profit margin, µ k j , on each patience category k. Parameters (β j , γ j ) control the adaptivity of the protocol agent in how it adjusts the target profit margin on an individual offer, with β j ∼ U (0.1, 0.2) defining the offer-level learning rate and γ j ∼ U (0.2, 0.8) defining the offer-level damping factor. Parameter r j ∈ [0, 1] is the learning rate adopted for updating the profit margins.
The protocol agents are trained over 10 trials and their final performance is measured in the 11th trial. The learning rate decreases through the training session and depends on the initial learning rate r 0 j and the adjustment rate r + j . In period t ∈ {1, . . . , t k end } of trial k ∈ {1, . . . , T + 1}, where T = 10 is the number of trials used for training and t k end is the number of periods in trial k, the learning rate is defined as: where r + j = (1 − r 0 j )/(T + 1). We define r 0 j := 0.7. The effect of this adjustment rule is that r j is initially 0.3, decreases during training, and trends to 0.0 as t → t end in trial k = 11. Within a given trial, upon assignment of a new offer i in patience category k, the protocol agent managing the offer initializes (µ i (t), δ i (t)) := (µ k j , 0), where µ i (t) represents the target profit margin for the offer and δ i (t) represents a profit-margin correction term. The target profit margin and the profit margin correction term are adjusted for offer i in subsequent periods while the bid remains active.
The target profit margin is used to define a bid price for the offer in each period while it remains active:ŵ At the end of a period in which an offer matches or simply expires, the profit margin µ k j for its patience category is updated as: where the amount of adaptivity depends on the learning rate r j . Because the profit margin on an offer decays over its lifetime, this update adjusts towards a small profit margin if the offer expires or took many periods to trade, and a larger profit margin otherwise. The long-term learning of a protocol agent occurs through the profit margin assigned to each patience category. At the start of a period each protocol agent also computes target prices for bids and asks in each patience category. These are used to drive an adjustment in the target profit margin for each active bid and ask. Target prices τ k b (t) and τ k s (t) are computed as: and, where ξ, η ∼ U (0, 0.05). Here, B(t − 1) and S(t − 1) denote the set of active bids and asks in the market in period t − 1 (defined before market clearing), and B k (t − 1) and S k (t − 1) denote the restrictions to patience category k. The target price on a bid in category k is set to something slightly greater than the most competitive bid in the previous round when that bid could not trade, and slightly less otherwise. Similarly for the target price on asks, where these prices are negative, so that increasing the target price makes an ask more competitive. Target prices are used to adjust the target profit margin at the start of each period on all active offers that arrived in some earlier period, where the influence of target prices is through the profit-margin correction term: and the profit-margin correction term, δ i (t), is defined in terms of the target price τ k i (t) (equal to τ k b (t) if i is a bid and τ k s (t) otherwise) as, where γ j and β j are the offer-level learning rates and damping factor. The value w i and the "-1" term in Eq. (22) provide normalization. Eq. (23) is the Widrow-Hoff (Hassoun, 1995) rule, designed to minimize the least mean square error in the profit margin and adopted here to mimic earlier ZIP designs.

Experimental Results
Our experimental results show that market conditions drive DA choice. We compare allocative efficiency, revenue, and net efficiency. All results are averaged over 100 trials. In experiments we found only minimal qualitative differences between the use of the two patience distributions. The uniform patience distribution provides a slight increase in efficiency over result using exponential patience, caused by a larger proportion of patient agents which relaxes somewhat the admission-price constraint in Eq. (3). For this reason we choose to report only results for the uniform patience distribution.
While the performance of all methods are summarized in Table 3, we omit the performance of some markets from the plots to keep the presentation of results as clear as possible. We do not plot the price-based results for the median-or clearing-based prices because the performance was typically around that of the performance of Chain instantiated on the history-EWMA price. We do not plot the windowed-McAfee results because of inconsistent performance, and in most cases, upon manual inspection, it was optimal to choose the smallest possible window size, i.e. including only active bids and making it equivalent to active-McAfee.
Our plots also leave out the performance of the Blum et al. (2006) worst-case optimal matching scheme because it was dominated by the fixed-price Chain instantiation and in many cases failed to yield any substantial surplus. We note here that the modeling assumption made by Blum et al. (2006) is quite different than that in our work: they worry about performance in an adversarial environment while we consider probabilistic environments. Our fixed-price Chain mechanism operates essentially identically to the surplus-maximizing scheme of Blum et al. (2006), except that Chain can also use additional statistical information to set the ideal price, rather than drawing the price from a distribution that is used to guarantee worst-case performance against an adversary. We defer the results for the Blum et al. (2006) scheme to Table 3.
Figures 5-8 plot results from two sets of experiments, one for high-patience/low-volatility and one for low-patience/high-volatility, as we vary the inter-arrival time (and thus the arrival intensity), volatility and maximal patience. All plots are for allocative efficiency except Figure 6, where we consider net efficiency. Active-McAfee is included on Figure 5, but not on any other plots because it did not improve upon the McAfee performance in the other environments. To emphasize: the results for greedy provide an upper-bound on the best possible performance because this is a non-truthful algorithm, simulated here with truthful inputs.
In Figure 5 (left) we see that from within the truthful DAs, the McAfee-based DA has the best efficiency for medium to low arrival intensities. There also is a general decrease in performance, relative to the optimal offline solution, as the arrival intensity falls. This trend, also observed with the greedy (non-truthful) DA, occurs because the Chain scheme is myopic in that it matches as soon as the static DA building block finds a match, while it is better to be less myopic when arrival intensity is low. The McAfee-based DAs are less sensitive to this than other methods because they can aggressively update prices using the active traders. The price-based DAs experience inefficiencies due to the lag in price updates because they use only expired, traded, and priced-out offers to calculate prices. For very high arrival intensity we see Active-McAfee dominates McAfee. Active-McAfee smooths the price, which helps to mitigate the impact of fluctuations in cost on the admission price via Eq. (3) in return for less responsiveness. This is helpful in "well-behaved" markets with high arrival intensity and low volatility but was not helpful in most environments we studied, where the additional responsiveness provided by the (vanilla) McAfee scheme paid off.
The ZIP market also has good performance in this high-patience/low-volatility environment. The reason is simple: this is an easy environment for simple learning agents, and the agents quickly learn to be truthful. We emphasize that these ZIP market results should be treated with caution and are certainly optimistic. This is because the ZIP agents are not programmed to consider timing-based manipulations. The effect in this environment is that the ZIP market tends to operate as if a truthful market, but without the cost of imposing truthfulness explicitly via market-clearing rules. By comparison the Chain auctions are fully strategyproof, to both value and temporal manipulations.
Compare now with Figure 5 (right), which is for low patience and high volatility. Now we see that McAfee dominates across the range of arrival intensities. Moreover, the performance of ZIP is now quite poor because the agents do not have enough time to adjust their bids (patience is low) and high volatility makes this a more difficult environment. With volatile valuations, the possibility of valuation swings leaves open the possibility of larger profits, luring agents to set wider profit margins, but only after the market changes. The ZIP agents also have fewer concurrent competitive offers to use in setting useful price targets during learning. As we might expect, high volatility also negatively impacts the efficiency of the fixed-price scheme.
In Figure 6 we see that the net efficiency trends are qualitatively similar except that the competition-based DAs such as McAfee fare less well in comparison with the price-based DAs. The auctioneer accrues more revenue for competition-based matching rules such as McAfee because they often generate buy and sell prices with a spread. Together with the competition-based schemes being intrinsically more dynamic, this drives an increased price spread in Chain via the admission price constraints. In Figure 6 (left) we see that the fixed-price scheme performs well for high arrival intensity while EWMA dominates for intermediate arrival intensities. The McAfee scheme is still dominant for lower patience and higher volatility (Figure 6, right).
To reinforce these observations, in Table 3 we present the the net efficiency, allocative efficiency and (normalized) revenue across all arrival intensities (i.e. inter-arrival time from 0.05 to 1.5) and for both low and high volatility trials. All five price-based methods, all three competition-based methods, and all three comparison methods are included. We highlight the best performing competition-based method, price-based method, as well as the performance of the ZIP market (skipping over the non-truthful, greedy algorithm). We omit information about the mean standard error for each measurement because in no case did this error exceed a tenth of a percent of the mean optimal surplus. From within the truthful DAs, we see that the McAfee-based scheme dominates overall for both allocative and net efficiency and both low and high volatility, although EWMA competes with McAfee for net efficiency in low volatility markets. Notice also the good performance of the ZIPbased market (with the aforementioned caveat about the restricted strategy space) at low volatilities.    Figure 7 plots allocative efficiency versus volatility for high patience (left) and low patience (right) and for fairly low arrival intensity. Higher volatility hurts all methodsespecially the ZIP agents, which struggle to learn appropriate profit and price targets, probably due to few opportunities to update prices for every individual offer. The McAfee scheme fairs very well, showing good robustness for both large patience and small patience environments. The fixed-price scheme has the best performance when there is zero volatility but its efficiency falls off extremely quickly as volatility increases. The left plot is for low volatility and the right plot is for high volatility. Both sets of experiments use uniform patience distributions.
We also consider the effect of varying maximal patience. This is shown in Figure 8, with low volatility (left) and high volatility (right). Again, the McAfee scheme is the best of the truthful DAs based on Chain. We also see that the performance of ZIP improves as patience increases due to more opportunities for learning. Perversely, a larger patience can negatively affect the truthful DAs. In part this is simply because the performance of greedy online schemes, relative to the offline optimal, decreases as patience increases and the offline optimal matching is able to draw more benefit from its lack of myopia.
We also suspected another culprit, however. The possibility of the presence of patient agents requires the truthful DAs to include additional terms in the max operator in Eq. (3) to prevent manipulations, leading to higher admission prices and less admitted offers. To better understand this effect we experimented with delayed market clearing in the McAfee scheme, where the market matches agents only every τ -th period (the "clearing duration"). The idea is to make a tradeoff between using fewer admission prices and the possibility that we will miss the opportunity to match some impatient offers. Figure 9 shows allocative efficiency when the matching mechanism clears less frequently and for different maximal patience, K. Figure 9 (left) is for low volatility. There we see that the best clearing duration is roughly 1, 2, 3 and 4 for maximal patience of K ∈ {4, 6, 8, 10} and that by optimizing the clearing duration the performance of McAfee remains approximately constant as maximal patience increases. In Figure 9 (right) we consider the effect in a high volatility environment, with these results averaged over 500 trials because the performance of the DA has higher variance. We see a qualitatively similar trend, although higher maximal patience now hurts overall and cannot be fully compensated for by tuning the clearing duration.

Related Work
Static two-sided market problems have been widely studied (Myerson & Satterthwaite, 1983;Chatterjee & Samuelson, 1987;Satterthwaite & Williams, 1989;Yoon, 2001 , 2002). In a classic result, Myerson and Satterthwaite proved that it is impossible to achieve efficiency with voluntary participation and without running a deficit, even relaxing dominant-strategy equilibrium to a Bayesian-Nash equilibrium. Some truthful DAs are known for static problems (McAfee, 1992;Huang et al., 2002;Babaioff & Nisan, 2004;Babaioff & Walsh, 2005). For instance, McAfee introduced a DA that sometimes forfeits trade in return for achieving truthfulness. McAfee's auction achieves asymptotic efficiency as the number of buyers and sellers increases. Huang et al. extend McAfee's mechanism to handle agents exchanging multiple units of a single commodity. Babaioff and colleagues have considered extensions of this work to supply-chain and spatially distributed markets.
Our problem is also similar to a traditional continuous double auction (CDA), where buyers and sellers may at any time submit offers to a market that pairs an offer as soon as a matching offer is submitted. Early work considered market efficiency of CDAs with human experiments in labs (Smith, 1962), while recent work investigates the use of software agents to execute trades (Rust et al., 1994;Cliff & Bruten, 1998;Gjerstad & Dickhaut, 1998;Tesauro & Bredin, 2002). While these markets have no dominant strategy equilibria, populations of software trading agents can learn to extract virtually all available surplus, and even simple automated trading strategies outperform human traders (Das et al., 2001). However, these studies of CDAs assume that all traders share a known deadline by which trades must be executed. This is quite different from our setting, in which we have dynamic arrival and departure.
Truthful one-sided online auctions, in which agents arrive and depart across time, have received some recent attention (Lavi & Nisan, 2000;Hajiaghayi et al., 2004Hajiaghayi et al., , 2005Porter, 2004;Lavi & Nisan, 2005). We adopt and extend the monotonicity-based truthful characterization in the work of Hajiaghayi et al. (2005) in developing our framework for truthful DAs. Our model of DAs must also address some of the same constraints on timing that occur in Porter, Hajiaghayi, and Lavi and Nisan's work. In these previous works, the items were reusable or expiring and could only be allocated in particular periods. In our work we provide limited allowance to the match-maker, allowing it to hold onto a seller's item until a matched buyer is ready to depart (perhaps after the seller has departed).
The closest work in the literature is due to Blum et al. (2006), who present online matching algorithms for the same dynamic DA model. The main focus in their paper is on the design of matching algorithms with good worst-case performance in an adversarial setting, i.e. within the framework of competitive analysis. Issues related to incentive compatibility receive less attention. One way in which their work is more general is that they also study goals of profit and maximizing the number of trades, in addition to the goal of maximizing social welfare that we consider in our work. However, the only algorithmic result that they present that is truthful in our model (where agents can misreport arrival and departure) is for the goal of social welfare. The DA that they describe is an instance of Chain in which a fixed price is drawn from a distribution at the start of time, and used as the matching price in every period. Perhaps unsurprisingly, given their worst-case approach, we observe that their auction performs significantly worse than Chain defined for a fixed price that is picked to optimize welfare given distributional information about the domain.

Conclusions
We presented a general framework to construct algorithms to match buyers with sellers in online markets where both valuation and activity-period information are private to agents. These algorithms guarantee truthful dominant strategies by first imposing a minimum admission price for each offer and then pricing and pairing the offer at the first opportunity. At the heart of the Chain framework lies a pricing algorithm that must for each offer either determine a price independent of any information describing the offer or choose to discard the offer. The pricing algorithm should be chosen to match market conditions. We present several examples of suitable pricing schemes, including fixed-price, moving-average, and McAfee-based schemes.
More often than not, we find that the competition-based scheme that employs a McAfeebased rule to truthfully price the market delivers the best allocative efficiency. For exceptionally low volatility and high arrival intensity, we find that adaptive price-based schemes such as an exponentially-weighted moving average (EWMA) and even fixed price schemes perform well. We see qualitatively similar results for net efficiency, where the revenue that accrues to the auctioneer is discounted, albeit that the price-based rules such as EWMA have improved performance because they have no price spread. The observations are rooted in simulations comparing the market efficiency under each mechanism with the optimal offline solution.
Additionally, we compare the efficiency of our truthful markets with a fixed-price worstcase optimal scheme presented by Blum et al. (2006), a market of strategic agents using a variant on the ZIP price update algorithm developed by Cliff and Bruten (1998) for continuous double auctions, and a non-truthful, greedy matching algorithm to provide an upper-bound on performance. The best of our schemes yield around 33% net efficiency in low volatility, high patience environments and 40% net efficiency in high volatility, low patience environments, while the greedy bound suggests that as much as 86% efficiency is possible with non-strategic agents. We note that the Blum et al.scheme, designed for adversarial settings, fairs poorly in our simulations (< 10%).
One can argue, we think convincingly, that truthfulness brings benefits in itself in that it avoids the waste of costly counterspeculation and promotes fairness in markets (Sandholm, 2000;Abdulkadiroǧlu et al., 2006). On the other hand, it is certainly of interest that the gap between the efficiency of greedy matching with non-truthful matching and that of our truthful auctions is so large. Here, we observe that the ZIP-populated (non-truthful) markets achieve around 82% efficiency in low volatility environments but collapse to around 23% efficiency in high volatility environments. Based on this, one might conjecture that designing for truthfulness is especially important in badly behaved, highly volatile ("thin") environments but less important in well behaved, less volatile ("thick") environments.
Formalizing this tradeoff between providing absolute truthfulness and approximate truthfulness, and while considering the nature of the environment, is an interesting direction for future work (see paper by Parkes et al., 2001). Given that reporting of market statistics can be incorporated within our framework (see Section 5.1), and given that markets also play a role in information aggregation and value discovery, future research should also consider this additional aspect of market design. Perhaps there is an interesting tradeoff between efficiency, truthful value revelation, and the process of information aggregation.
While the general Chain framework achieves good efficiency, further tuning seems possible. One direction is to adopt a meta-pricing scheme that chooses, or blends, prices from competing algorithms. Another direction is to consider richer temporal models; e.g., the value of goods to agents might decay or grow over time to better account for the time value of assets. A richer temporal model might also consider the possibility of agents or the match-maker taking short positions (including short-term cash deficits) to increase trade. It is also interesting to extend our work to markets with non-identical goods and more complex valuation models such as bundle trades (Chu & Shen, 2007;Babaioff & Walsh, 2005;Gonen et al., 2007), and to dynamic matching problems without prices, such as an online variation of the classic "marriage" problem (Gusfield & Irving, 1989).
Parkes is supported in part by NSF grant IIS-0238147 and an Alfred P. Sloan Fellowship and Bredin would like to thank the Harvard School of Engineering and Applied Sciences for hosting his sabbatical during which much this work was completed. Thanks also to the three anonymous reviewers, who provided excellent suggestions in improving an earlier draft of this paper.

Appendix: Proofs
Lemma 1 Procedure Match defines a valid strong no-trade construction.
Proof: In all cases, SNT t ⊆ NT t . The set NT t is correctly constructed: equal to all remaining bids b t when (j = 0) in Case I, all remaining bids s t when (i = 0) in Case II, and all remaining bids and asks otherwise. In each case, no bid (or ask) in NT t could have traded at any price because there was no available bid or ask on the opposite of the market given its order.
In verifying strong no-trade (SNT) conditions (a) and (b), we proceed by case analysis. Case I. (i = 0) and (j = 0). NT t := b t .
(I-1) ∀k ∈ s t · (d k = t) and SNT t := b t . For SNT-a, consider l ∈ NT t withd l > t. If l deviates and i changes but we remain in Case I then NT t is unchanged and still contains l. If l deviates and i → 0 then, we go to Case III and SNT t := b t ∪ s t and still contains l. For SNT-b, consider l ∈ SNT t that deviates withd l > t. Again, either we remain in this case and SNT t is unchanged or i → 0 and we go to Case III. But now SNT t still contains all b t and is therefore unchanged for all agents withd k > t.
(III-4) ∃k ∈ b t · (d k > t) and ∃k ′ ∈ s t · (d k ′ > t) and SNT t := ∅. For SNT-a, consider l ∈ NT t withd l > t. Assume that l is a bid. If l deviates andd l > t and i = 0 then we remain in this case and l is not in SNT t . If l deviates andd l > t but i := l, then we go to Case I and we are necessarily in Sub-case (I-a) becaused l > t and there can be no other bid willing to accept the price (else i = 0 in the first place). Thus, we would have SNT t := b t \ checked B and l would not be in SNT t . For SNT-b, this is trivially satisfied because there are no agents l ∈ SNT t .
Lemma 5 The set of active agents (other than i) in period t in Chain is independent of i's report while agent i remains active, and would be unchanged if i's arrival is later than period t.
Proof: Fix some arrival periodâ i . Show for anyâ i ≥ a i , the set of active agents in period t ≥â i while i is active is the same as A t without agent i's arrival until some a ′ i > t. Proceed by induction on the number of periods that t is afterâ i . For period t =â i this is trivial. Now consider some periodâ i + r, for some r ≥ 1 and assume the inductive hypothesis for a i + r − 1. Since i is still active then, i ∈ SNT t ′ for t ′ =â i + r − 1, and therefore the other agents in SNT t ′ that survive into this period are independent of agent i's report by strong no-trade condition (b). This completes the proof.
Lemma 6 The price constructed from admission priceq and post-arrival pricep is valueindependent and monotonic-increasing when the matching rule in Chain is well-defined, the strong no-trade construction is valid, and agent patience is bounded by K.
Proof: First fixâ i ,d i and θ −i . To show value-independence (B1), first note thatq is value-independent, since whether or not i ∈ SNT t in some pre-arrival period t is valueindependent by strong no-trade condition (a) and price z i (H t , A t \ i, ω) in such a period is agent-independent by definition. Termp is also value-independent: the decision period t * to agent i, if any, is independent ofŵ i since the other agents that remain active are independent of agent i while it is active by Lemma 5, and whether or not i ∈ SNT t is value-independent by strong no-trade (a); and the price in t * is value-independent when the set of other active agents are value-independent. Now fix θ −i and show the price is monotonically-increasing in a tighter arrival-departure interval (B2). First note thatq is monotonic-increasing in [â i ,d i ] ⊂ [a i , d i ] because an earlier d i and laterâ i increases the domain t ∈ [d i − K,â i − 1] on whichq is defined. Fix somê a i ≥ a i . Argue the price increases with earlier d ′ i ≤d i , for anyd i >â i . To see this, note that eitherd i < t * and so p i (â i , d ′ i , θ −i , ω) = ∞ for all d ′ i ≤d i , ord i ≥ t * and the price is constant untild i < t * at which point it becomes ∞. Fix somed i ≥ a i . Argue the price increases with later a ′ i ≥â i , whereâ i ≥d i − K. First, while a ′ i ≤ t * , thenp is unchanged by Lemma 5. The interesting case is when a ′ i > t * , especially whenq(â i ,d i , θ −i , ω) <p(â i ,d i , θ −i , ω). By reporting a later arrival, the agent can delay its decision period and perhaps hope to achieve a lower price. But, note that in this case t * ∈ [d i − K, a ′ i − 1] sinced i − K ≤â i and t * ∈ [â i , a ′ i − 1] and soq(a ′ i ,d i , θ −i , ω) ≥p(H t * , A t * \ i, ω) becauseq now includes the price in period t * since i / ∈ SNT t * in that pre-arrival period by Lemma 5. Overall, we see that althoughp may decrease, max(q,p) cannot decrease. Tesauro, G., & Bredin, J. (2002). Strategic sequential bidding in auctions using dynamic programming.