Combinatorial Betting
Zeitgeist's combinatorial tokens allow users to combine outcome tokens of several markets and trade these combined tokens in a single liquidity pool.
Much of Zeitgeist's implementation of combinatorial tokens is based on pioneer work done by Gnosis here (documentation) and here (implementation).
Collection and Positions
Given a market with outcomes A
, B
and C
, we can form collections of
these outcomes. A collection is notated as, for example, A|B
, and specifies a
bet that A
or B
will happen.
A position is a collection combined with a collateral token. Currently, the type of collateral is still tied to markets on Zeitgeist, but that might change in the future and you'll be allowed to use any collateral with any market.
Positions are used to actually make bets on more complicated claims about the future.
Splits and Merges
Suppose we have two markets with outcome tokens A
, B
, C
and X
, Y
, Z
,
resp. Their tokens can be combined to the following tokens: A&X
, A&Y
, A&Z
,
B&X
, B&Y
, B&Z
, C&X
, C&Y
, C&Z
. A bet on the token A&X
is a bet that
both A
and X
occur (we'll interpret the meaning of A&X
in case one or
both markets is a scalar market below in the section Redeeming).
In fact, we can even go further and combine positions from both markets into
split positions such as (A|B)&Z
, which signifies that A
or B
and Z
will occur.
Split collections are obtained by taking a position such as (A|B)
of one of
the markets and specifying a partition of the outcomes of the other market, such
as (X|Y)
and Z
(the partition must cover all outcomes and there may be no
duplicates). Splitting x
units of (A|B)
using the partition (X|Y), Z
results in x
units of the following tokens: (A|B)&(X|Y)
and (A|B)&Z
.
Splitting can even involve more complicated tokens. For example, the position
(A|B)&(X|Y)
may further be split into (A|B)&(X|Y)&U
and (A|B)&(X|Y)&V
if
there is a market with outcomes U
, V
.
Merging is the opposite process. For example, x
units of (A|B)&(X|Y)
and
(A|B)&Z
may be combined into x
units of (A|B)
.
Redeeming
If a user owns a position involving multiple markets, such as (A|B)&X
and only
one of the markets is resolved (say, the market with A
, B
, C
), then they
may want to cash out the part of the position. This is where payout vectors come
in.
The payout vector of a resolved prediction market determines the value of each outcome token of that market. For a market with outcome tokens , the payout vector specifies how much collateral one unit of each outcome token redeems for.
For example, if a categorical market with three outcomes resolves to the second outcome, the payout vector is . If a scalar market with range resolves to , then the payout vector is assuming that the first outcome is Long.
The payout of a collection like (A|B)
is the sum of the payouts of each
individual outcome token. Suppose that the payout vector for the market with
A
, B
, C
is (0, 1, 0)
, then (A|B)
has a payout of 1
.
Returning to the idea of redeeming tokens, x
units of (A|B)&X
can be
redeemed for x
units of X
since the payout of (A|B)
is equal to 1
. To
take a more complex example, if we have a scalar market with tokens L
and S
(long and short) and a payout vector of (.6, .4)
and we want to redeem x
units of L&(X|Y)
, then we receive .6
times x
units of (X|Y)
.
Combinatorial Betting
Buying individual outcomes of a combinatorial market allows the user to bet on more specialized outcomes (A and B will happen), but the true strength of combinatorial markets lies in making bets on contingencies (if A occurs, then so will B).
The following example is taken from [H13]. Let denote the event that the Democratic Party wins the 2016 U.S. Presidential election and let denote the event that Hillary Clinton is nominated as the Dem's candidate. The pairs of securities (i.e. "Pays 1$ if " and "Pays 1$ if not ") and are traded on separate markets, but can be combined into a single market by using splits.
If you know how buying complete sets works on Zeitgeist, you already know one example of a split: The collateral token is split into a set of tokens which, when the markets resolves, will have the same value as the collateral token. By the same reasoning fashion, we can split non-collateral tokens like "Pays 1$ if " into "Pays 1$ if and " and "Pays 1$ if and not ". For the sake of simplicity, we denote these tokens by , and , resp. By combining the two markets above, we create a new market with four assets: , , and .
Using splits, agents can now bet on correlations between the events and . For example, to bet that the Dems win if Hillary is nominated, the agent would split their collateral into units of and , then split these units into units of and , then sell their units of to acquire more . There are three possible outcomes:
- Hillary is nominated and wins the election. Each unit of pays 1$. The agent makes a profit as they own more than units.
- Hillary is nominated and loses the election. All assets that the agent holds are worthless.
- Hillary is not nominated. Each unit of pays 1$. The agent receives their buy-in of back (the bet is essentially declared void).
The spot price of this swap is equal to the conditional probability predicted by the market. We denote the trade described above by .
To prevent arbitrage opportunities, buying such a composite asset must not move the price of uninvolved outcomes. For example, betting that holds if holds should leave the price of unchanged. After all, the agent is betting on what happens contingent on ; they're not making any claims as to how likely is to occur. This is summarized in the modularity property defined by Hanson in [H03a]:
Consider the case of an agent who bets with a market scoring rule, and bets only on the event given the event . That is, this agent gains assets of the form “Pays $1 if and hold”, in trade for assets of the form “Pays $1 if holds and does not. [...] In general, depending on the particular market scoring rule, such a bet might change any probability estimate , and thus change any event probability . It seems preferable, however, for this bet to change as little as possible besides (and of course ).
(The market maker implemented in zrml-neo-swaps has that property.)
A fundamental idea is that trades made on prediction markets are not so much absolute bets ("I bet $10 that Hillary will win at 1:1 odds"), but rather that trades are made to "correct" the forecast of the market by changing the prices of the outcomes. The agent executing the trade pays a price to do so, but is rewarded if the prediction is closer to the truth than the current one.
One could say that the agent buying claims that is undervalued and is overvalued, and that and are correctly priced or the agent doesn't know how to profitably change their price.
Viewed from this angle, a combinatorial bet divides the assets in a combinatorial pool into three categories: buy (the assets the agent thinks are undervalued), sell (the assets the agent thinks are overvalued) and keep (the assets whose prices the agent can't or won't change).
Bibliography
- [H03a] R. Hanson, "Logarithmic Market Scoring Rules for Modular Combinatorial Information Aggregation," The Journal of Prediction Markets, vol. 1, no. 1, 2003. [Online]. Available: https://doi.org/10.5750/jpm.v1i1.417
- [H13] R. Hanson, "Shall We Vote on Values, But Bet on Beliefs?," The Journal of Political Philosophy, vol. 21, no. 2, pp. 151-178, 2013.