The invention relates generally to computer systems, and more particularly to an improved system and method for permutation betting.
In a permutation betting scenario, traders may wager on the final ordering of several competing candidates: for example, the outcome of a horse race. In a typical horse race, traders may bet on properties of the outcome like “horse A will win”, “horse A will show, or finish in either first or second place”, or “horses A and B will finish in first and second place, respectively”. In practice at the racetrack, each of these different types of bets are processed in separate pools or groups. In other words, all the “win” bets are processed together, and all the “show” bets are processed together, but the bets specifying different properties of the outcome are not processed together in the same pool. This separation can hurt liquidity and information aggregation. For example, even though horse A is heavily favored to win, that may not directly boost the horse's odds to show.
Furthermore, existing horse-betting mechanisms restrict what participants can bet on. For example, existing horse betting mechanism may only allow participants to bet on which objects will be ranked at the first position or among the top two or three positions. Unfortunately, the more restrictive the betting mechanism may be for placing wagers, the less refined the information may be that the market can possibly aggregate.
However, supporting bidders to explicitly list the orderings that they would like to bet on may be both unnatural and intractable, because the number of orderings is n!, which is the number of rank order permutations of the n competing objects. Although full expressiveness allows participants to bet on any of the n! number of orderings, full expressiveness for permutation betting can be computationally costly.
Thus, there may be a tradeoff between expressiveness, computational cost, and liquidity for prediction markets. The more expressive the betting language may be, the more refined information the market can possibly aggregate. However, expressiveness is often accompanied by high computational cost and less of liquidity, which prevents efficient information aggregation.
What is needed is a system and method for a central exchange where the bets on different properties of the outcome may be processed together, thus aggregating liquidity and ensuring that information inference may occur automatically. Such a system and method should support an expressive betting mechanism with reasonable computational cost so that more information from market participants may be aggregated for supporting market liquidity.
Briefly, the present invention may provide a system and method for permutation betting. To do so, a permutation betting engine may be provided for providing services to support betting on an outcome resulting in an ordinal ranking of objects. In an embodiment, a permutation betting engine may include an operably coupled model generator for creating a linear programming model used to determine quantities of orders to accept. The permutation betting engine may also include a linear programming analysis engine operably coupled to the model generator in an embodiment for determining a set of quantities of orders to accept. In various embodiments, the permutation betting engine may determine an optimal set of quantities of orders to accept for achieving an auctioneer's objective, such as maximizing a worst-case profit of an auctioneer.
The present invention may provide a framework for efficiently optimizing an auctioneer's objective for a prediction market where the outcomes of interested events are ordered statistics. To do so, orders specifying a property of an ordering of one or more positions of an object in an ordinal ranking of objects may be received. The quantities for orders to accept may be determined, a response may be sent to traders indicating the quantities of orders for payment, and the amount owed for accepted orders may be collected. Winning accepted orders may be identified and payout may be made for winning accepted orders.
In an embodiment, a partial quantity of an order may be accepted and linear programming may be applied for determining an optimal set of one or more quantities of orders received and a response may be sent to traders indicating the quantities of orders accepted. In various embodiments, an auctioneer's objective may be optimized in determining the quantity of orders to accept. For example, an auctioneer's objectives may include maximizing the total trading volume in the market or maximizing the worst-case profit of the auctioneer. In another embodiment, a subset of orders may be found that provide a nonnegative profit to an auctioneer for possible outcomes of the ordering in the ordinal ranking.
The present invention may support many applications for a prediction market where the outcomes of interested events are ordered statistics. An online application may use the present invention for betting on an ordinal ranking of candidates as an outcome of a competition between candidates, such as betting on an outcome of a horse race or the outcome of an election among candidates. Moreover, traders may also bet on arbitrary properties of the final ordering in various embodiments. A logical statement about an ordering of positions of an object in an ordered list may be used to specify arbitrary properties of the final ordering.
Furthermore, the present invention may accordingly be generally used in a central exchange where the bets on an ordinal ranking of objects as an outcome of a competition between objects may be processed together. This may advantageously result in aggregating liquidity and ensuring that informational inference may automatically occur. Other advantages will become apparent from the following detailed description when taken in conjunction with the drawings, in which:
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and/or remote computer storage media including memory storage devices.
With reference to
The computer system 100 may include a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer system 100 and includes both volatile and nonvolatile media. For example, computer-readable media may include volatile and nonvolatile computer storage media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer system 100. Communication media may include computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. For instance, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
The system memory 104 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 106 and random access memory (RAM) 110. A basic input/output system 108 (BIOS), containing the basic routines that help to transfer information between elements within computer system 100, such as during start-up, is typically stored in ROM 106. Additionally, RAM 110 may contain operating system 112, application programs 114, other executable code 116 and program data 118. RAM 110 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by CPU 102.
The computer system 100 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, discussed above and illustrated in
The computer system 100 may operate in a networked environment using a network 136 to one or more remote computers, such as a remote computer 146. The remote computer 146 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer system 100. The network 136 depicted in
The present invention is generally directed towards a system and method for permutation betting. More particularly, a framework for a prediction market may be provided for efficiently optimizing an auctioneer's objective where the outcomes of interested events are ordered statistics. As used herein, a prediction market may mean an information market, a securities market, a contingent claims or contract market, an event market or futures, idea futures, an auction market, and so forth. Orders may mean herein any description of bets including terms of prices and shares, odds, payoff vectors, and the diverse array of descriptions practiced in financial and gambling circles.
Orders specifying a property of an ordering of one or more positions of an object in an ordinal ranking of objects may be placed using an expressive language. For instance, a logical statement about an ordering of positions of an object in an ordered list may be used to specify arbitrary properties of the final ordering. In an embodiment, a partial quantity of an order may be accepted and linear programming may be applied for determining an optimal set of one or more quantities of orders submitted and a response may be sent to traders indicating the quantities of order accepted. Winning accepted orders may be identified and payout may be made for winning accepted orders.
As will be seen, an auctioneer's objective may be optimized in various embodiments in determining the quantity of orders to accept. For example, an auctioneer's objectives may include maximizing the total trading volume in the market or maximizing the worst-case profit of the auctioneer. As will be understood, the various block diagrams, flow charts and scenarios described herein are only examples, and there are many other scenarios to which the present invention will apply.
Turning to
In various embodiments, a computer 202, such as computer system 100 of
The permutation betting engine 204 may provide services for supporting betting on the outcome of a competition among several candidates where the outcome results in an ordinal ranking of the candidates. The state space may include the mutually exclusive and exhaustive permutations of the competing candidates. In an embodiment, the orders 212 may be either a buy order or a sell order and may be represented by a description of the order for sale or purchase and may include a quantity and bid. The order description may specify a commodity, a security, or more generally, the outcome of an event. The permutation betting engine 204 may include a model generator 206 for creating a linear programming model used to determine quantities of orders to accept, and a linear programming analysis engine 208 for choosing quantities of orders to accept. Each of these modules may also be any type of executable software code such as a kernel component, an application program, a linked library, an object with methods, or other type of executable software code.
There are many applications which may use the present invention for betting on an ordinal ranking of candidates as an outcome of a competition between candidates. For example, an application may use the present invention for supporting a prediction market for betting on an outcome of a horse race or the outcome of an election among candidates. In the example of an election, traders may bet on a final ordering of n! possible orderings of candidates. In various embodiments, traders may also bet on arbitrary properties of the final ordering, for example “candidate D will win”, “candidate D will finish in either first place or last place”, “candidate D will defeat candidate R”, “candidates D and R will both defeat candidate L”, etc. The goal of the prediction market may be to search among the offers to find two or more that together form an agreeable match. In particular, this matching problem can be set up as a linear program, where an auctioneer may determine the quantity of orders to accept. Those skilled in the art will appreciate that the present invention may accordingly be generally used in a central exchange where the bets on an ordinal ranking of candidates as an outcome of a competition between candidates may be processed together. This may advantageously result in aggregating liquidity and ensuring that informational inference may automatically occur.
Moreover, a framework may be implemented in an embodiment where traders propose to buy securities that pay $1 if and only if some property of the final ordering is true. In this embodiment, traders may place orders specifying the price they are willing to pay per share and the number of shares they would like to purchase.
At step 304, the quantities of orders to accept may be determined. In various embodiments, a permutation betting engine may determine the quantity of orders to accept and may accept the bid of orders received. For instance, a permutation betting engine may treat a received order as a divisible order. A divisible order may mean part of an order and may include fractional shares. A divisible order may permit the trader to receive fewer shares than requested, as long as the constraint of the bid amount may be met. A permutation betting engine may determine the quantities of orders received for permutation betting by applying linear programming.
At step 306, a response indicating quantities of orders accepted may be sent to traders, and the bid amount for orders accepted may be collected at step 308. For instance, the amount for the orders may be collected using an electronic payment system such as a purchase order transaction system, electronic commerce system, or other type of online system that may accept payment. At step 310, accepted orders that win may be identified, and the winning bid amounts for accepted orders may be payed out at step 312. Payment may be made using an electronic payment system or other type of online system that may make payment.
At step 402, a linear programming model for the buy orders received according to the auctioneer's objective may be created, and the linear program may be solved at step 404. In general, an auctioneer may determine the quantities of orders received to accomplish a particular objective. For example, an auctioneer's objective in an embodiment may be to find a subset of orders that can be matched risk-free, namely a subset of orders which accepted together give a nonnegative profit to the auctioneer in every possible outcome. Or the auctioneer's objective in another embodiment may be to find the optimal match with respect to some criterion such as profit, trading volume, etc.
Consider orders which traders may submit to an auctioneer to be represented by an index set of bets or orders O. Each order i ε O may be represented by a triple (bi,qi,φi), where bi denotes how much the trader is willing to pay for a unit share of security φi and qi is the number of shares of the security the trader wants to purchase at price bi. In an embodiment, a framework may be implemented where traders propose to buy securities that pay $1 if and only if some property of the final ordering is true, so that bi ε [0,1] such that a unit of the security pays off at most $1 when the event may be realized.
The auctioneer can accept the entire order, accept a divisible order (fraction of the order), or reject each order. Consider xi to represent the fraction of divisible order i ε O accepted, such that xi ε[0,1]. Furthermore, consider Ii(s) to be an indicator variable for whether order i may be winning in state s, that is Ii(s)=1 if the order is paid back $1 in state s and Ii(s)=0 otherwise.
For an auctioneer's objective of finding a subset of orders that can be matched where there may be a nonnegative profit to the auctioneer in every possible outcome, the following system of linear inequalities may be solved:
∀S ε S, where there may exist a set of xi ε [0,1] for i ε O. If there is a solution to the system of linear inequalities, then it may be determined that a trade may occur where there may be a nonnegative profit to the auctioneer in every possible outcome.
In an embodiment for an auctioneer's objective to find the optimal match with respect to some criterion, an auctioneer objective may include maximizing the total trading volume in the market or maximizing the worst-case profit of the auctioneer. For instance, the following linear programming model may be created and solved for an auctioneer's objective of maximizing the worst-case profit of the auctioneer:
where there may exist an optimal set of xi ε [0,1] for i ε O and the variable c may represent the worst-case profit for the auctioneer. In various embodiments, the optimization problem may need to be solved for simply determining the optimal set of orders and the optimal worst-case profit may remain unknown. A permutation betting engine may then send responses indicating quantities of orders accepted to traders.
Those skilled in the art will appreciate that other linear programming models may be created and solved for various objectives of an auctioneer, including maximizing the total trading volume in the market. As may now be understood, the framework provided may efficiently optimize an auctioneer's objective for a prediction market where the outcomes of interested events are ordered statistics. Any logical statement about arbitrary properties of an ordering of positions of an object in an ordered list may be accepted to support more fully expressive betting. By supporting such fully expressive betting, more refined information may be captured that may be aggregated by the market.
As can be seen from the foregoing detailed description, the present invention provides an improved system and method for permutation betting. Such a system and method may support many applications for betting on an outcome resulting in an ordinal ranking of the objects. Furthermore, the present invention may be generally used in a central exchange where the bets on an ordinal ranking of objects as an outcome of a competition between objects may be processed together. This may advantageously result in aggregating liquidity and ensuring that informational inference may automatically occur. As a result, the system and method provide significant advantages and benefits needed in contemporary computing.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.