Return to site

Augur’s Automated Market Maker: The LS-LMSR

By Dr. Abe Othman
As we discussed in a previous blog post, Augur uses an automated market maker to price transactions. The automated market maker Augur uses is the Liquidity-Sensitive LMSR (LS-LMSR), a modification of a commonly used automated market maker in prediction markets, the LMSR. In this post, we’ll introduce the LS-LMSR and describe some of its desirable properties. We’ll start by recapping the mathematical properties of the LMSR.
It’s strongly suggested that you read the introductory blog post on automated market makers before continuing.
The LMSR
We charge traders the difference in evaluation of a cost function between two payout vectors. The payout vector, q, has elements that correspond to the amount the market maker must pay out if the corresponding event occurs. The cost function for the LMSR is given by:
broken image
and the marginal prices on each event are given by the partial derivatives of the cost function:
broken image
The LMSR has many desirable properties, including a bound on the market maker’s worst-case loss and a concise, closed-form expression.
LMSR and Liquidity
In the above equations, b > 0 is a constant set a priori by the market administrator. The b parameter in the LMSR is known as the “liquidity parameter”. It can be thought of as controlling the market depth—how much prices move in response to bets and how sensitive the market maker’s price response is to bets.

In our previous blog post, we explored a two-event setting (either event X or event Y must occur), where q_x=5, and q_y=3, and the trader wants a $1 payout if event X takes place. That is, the trader wants to change the automated market maker’s payout vector from (5,3) to (5+1,3) = (6,3).


With b=10, we get a total cost of 56.2 cents and a marginal price of 57.4 cents on X after the trade.

But with b=100, we get a total cost of 50.6 cents and a marginal price of 50.7 cents on X after the trade. And with b=1, we get a total cost of 92.1 cents and a marginal price of 95.2 cents on X after the trade. Clearly, the choice of b has a prominent role on the experience of traders and the amount of trade in the resulting market!

Indeed, the biggest difficulty in using the LMSR in practice comes from choosing the value of b. Setting b too low means that prices will shift around too quickly in response to traders’ bets. Setting b too high means that every interested trader could place a bet on an event and not significantly shift market prices. Compounding the issue, the liquidity parameter is not easily contextualized and has no “natural” value. Correctly setting this parameter requires accurate knowledge of trader interest in a market before trade in that market commences---very unlikely in a decentralized framework like Augur’s.

For these reasons, setting the right value of b has been a vexing issue for practitioners. One of the largest tests of the LMSR in practice was the Gates Hillman Prediction Market (GHPM), designed to predict when the new computer science buildings at Carnegie Mellon would open. In the GHPM, b was set to be 32, a value that turned out to be far too low for the market, leading to spikes in prices that occurred because the market was too shallow. In fact, many profitable traders in the GHPM solely employed a strategy that involved selling the price spikes induced by other, less sophisticated buyers.

LS-LMSR
In the LMSR, b is a constant. But in the LS-LMSR, it is a function of the quantities traders have wagered on each security:
broken image

At first glance, it appears that we have just shifted our problem from choosing one constant to another—now, instead of setting b > 0, we have to set alpha > 0 instead. However, alpha has a natural interpretation: because it can be shown that marginal prices in an n-event market sum to at most

broken image
we can interpret alpha as responsible for setting a market "vig" value — typically between 5 and 30 percent in real-world markets. Consequently, we can set
broken image
to get a realistic “vig” of 10%. This natural parameterization gives us a valuable guide in assessing what different values of alpha produce in the resulting market.
LS-LMSR Properties
This small shift in how to set b---from a constant to an increasing value---creates a variety of curious beneficial properties:
1. Numerical Precision

Numerical precision issues are encountered very quickly with the LMSR. The problems derive from the exponentiation in the LMSR which can make even reasonably large input values infeasible. This is particularly a concern for Augur, which uses a fixed-point computational system with a built-in precision limit.

There is a trick that can be used to keep LMSR from overflowing, but the larger point is that it is non-trivial to implement LMSR in practice due to numerical problems and doubly so in a fixed-point context.

In contrast, observe that the LS-LMSR guarantees from first principles that the exponentiated value is never greater than 1/alpha because
broken image
Thus, as long as alpha is not set unnaturally small, computation is easily supported within the fixed-point framework.
2. Positive Homogeneity

In the LMSR, prices are determined based on the relative differences of quantities. Adding a dollar payout to each event produces the same prices:

broken image

In the LS-LMSR, prices are determined based on the ratio of quantities to one another. Multiplying a quantity vector by a positive constant c > 0 produces the same prices:

broken image
This property is known as “positive homogeneity.”
3. Bounded Loss

The LS-LMSR retains the bounded loss properties of the LMSR. In the LMSR this loss bound determines the maximum amount of liquidity in the market. But in the LS-LMSR, it only determines the initial amount of liquidity in the market—the maximum amount of liquidity when using the LS-LMSR is unbounded, because market participants are contributing to liquidity, too.

4. Liquidity Sensitivity

Observe that as the market has more activity and q increases, b increases, so market depth increases in market volume, a property that is seen in real-world markets (e.g., you can buy a million dollars of apple stock without moving the price significantly, but buying a million dollars of a low market cap stock like FDP will change its price significantly).

5. Prices Sum to (at Least) 1

In the LMSR, marginal prices are positive and sum to exactly 1. This means that those prices are directly interpretable as probabilities. In the LS-LMSR, prices are positive but sum to slightly more than 1. This creates a range of probability estimates compatible with the market’s prices. For instance, if marginal prices are in a two-event market are (.58, .43), this indicates that market participants believe the true probability of the first event occurring is no higher than .58 (or else participants would buy the first contract) but no lower than .57 (or else participants would buy the second contract at .43). The extra “vig” on prices can be thought of as a trader subsidy to providing increased liquidity in the future.

Further Reading

This blog post is an overview of our journal paper that originally introduced the LS-LMSR.

Our paper on the Gates Hillman Prediction Market run at Carnegie Mellon covers a large-scale implementation of the LMSR, with many details on trader behavior and market microstructure.


The LS-LMSR was deployed in practice at UT-Austin, for a long-running building prediction market on their own Gates Building opening.