Title:

Kind
Code:

A1

Abstract:

An improved system and method is provided 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. 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. Advantageously, the present invention may provide a framework for efficiently optimizing an auctioneer's objective using linear programming for a prediction market where the outcomes of interested events are ordered statistics.

Inventors:

Chen, Yiling (Jersey City, NJ, US)

Nikolova, Evdokia Velinova (Somerville, MA, US)

Pennock, David Myer (Monroe Township, NJ, US)

Nikolova, Evdokia Velinova (Somerville, MA, US)

Pennock, David Myer (Monroe Township, NJ, US)

Application Number:

11/716217

Publication Date:

09/11/2008

Filing Date:

03/09/2007

Export Citation:

Assignee:

Yahoo! Inc. (Sunnyvale, CA, US)

Primary Class:

International Classes:

View Patent Images:

Related US Applications:

20040048673 | Gaming device having alternating display | March, 2004 | Kaminkow |

20100048273 | WELDING SIMULATOR | February, 2010 | Wallace et al. |

20070191112 | Storage medium storing subject selecting program and subject selecting apparatus | August, 2007 | Ohta |

20050266919 | Cashless instrument based table game promotional system and methodology | December, 2005 | Rowe et al. |

20030195043 | System and method for live interactive remote gaming using casino-based proxies | October, 2003 | Shinners et al. |

20040266505 | Inventory management of virtual items in computer games | December, 2004 | Keam et al. |

20070105607 | Dynamic debugging dump for game console | May, 2007 | Russell et al. |

20090088254 | LOGGING OF RICH ENTERTAINMENT PLATFORM SERVICE HISTORY FOR USE AS A COMMUNITY BUILDING TOOL | April, 2009 | Courage et al. |

20070087843 | Game phase detector | April, 2007 | Steil et al. |

20100087247 | USING PLAYER INFORMATION IN WAGERING GAME ENVIRONMENTS | April, 2010 | Joshi et al. |

20090176576 | PLAYBOOK FOR ONLINE GAMING | July, 2009 | Billmaier et al. |

Primary Examiner:

DUFFY, DAVID W

Attorney, Agent or Firm:

Law, Office of Robert Bolan O. (P.O. Box 36, Bellevue, WA, 98009, US)

Claims:

What is claimed is:

1. A computer system for permutation betting, comprising: a permutation betting engine for providing services to support betting on an outcome resulting in an ordinal ranking of the objects, the services using a linear programming model to determine quantities of orders to accept; and a storage operably coupled to the permutation betting engine for storing a plurality of orders, each specifying a property of an ordering of one or more positions of at least one object in the ordinal ranking of the objects.

2. The system of claim 1 further comprising a model generator operably coupled to the permutation betting engine for creating a linear programming model used to determine quantities of orders to accept.

3. The system of claim 2 further comprising a linear programming analysis engine operably coupled to the model generator for determining a set of quantities of orders to accept.

4. A computer-readable medium having computer-executable components comprising the system of claim 1.

5. A computer-implemented method for permutation betting, comprising: receiving from a plurality of traders a plurality of orders specifying a property of an ordering of one or more positions of at least one object in an ordinal ranking of a plurality of objects; determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects; collecting an amount for the at least one order of the plurality of orders accepted from at least one trader of the plurality of traders; identifying at least one winning accepted order; and paying out a winning amount for the at least one winning accepted order.

6. The method of claim 5 wherein determining to accept the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises determining a quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

7. The method of claim 6 further comprising sending a response to at least one trader of the plurality of traders indicating the quantity of the at least one order of the plurality of orders placed by the at least one trader of the plurality of traders.

8. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises creating a linear programming model for determining an optimal set of one or more quantities of orders of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

9. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises solving a linear programming model for determining an optimal set of one or more quantities of orders of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

10. The method of claim 9 wherein solving the linear programming model for determining the optimal set of the one or more quantities of orders of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises solving the linear programming model for determining the optimal set of the one or more quantities of orders of the plurality of orders for maximizing a worst-case profit of an auctioneer.

11. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises creating a system of linear inequalities for finding a subset of the plurality of orders providing a nonnegative profit to an auctioneer for possible outcomes of the ordering in the ordinal ranking.

12. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises solving a system of linear inequalities for finding a subset of the plurality of orders providing a nonnegative profit to an auctioneer for possible outcomes of the ordering in the ordinal ranking.

13. The method of claim 5 wherein determining to accept the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises determining to accept at least one divisible order of the plurality of orders.

14. The method of claim 5 wherein specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises using a logical statement to specify the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

15. The A computer-readable medium having computer-executable instructions for performing the method of claim 5.

16. A computer system for permutation betting, comprising: means for receiving from a plurality of traders a plurality of orders specifying a property of an ordering of one or more positions of at least one object in an ordinal ranking of a plurality of objects; means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects; means for collecting an amount for the at least one order of the plurality of orders accepted from at least one trader of the plurality of traders; and means for paying out a winning amount for the at least one winning accepted order.

17. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for determining a quantity of the at least one order of the plurality of orders.

18. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for determining an optimal set of the one or more quantities of orders of the plurality of orders for maximizing a worst-case profit of an auctioneer.

19. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for finding a subset of the plurality of orders providing a nonnegative profit to an auctioneer for possible outcomes of the ordering in the ordinal ranking.

20. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for determining to accept at least one divisible order of the plurality of orders.

1. A computer system for permutation betting, comprising: a permutation betting engine for providing services to support betting on an outcome resulting in an ordinal ranking of the objects, the services using a linear programming model to determine quantities of orders to accept; and a storage operably coupled to the permutation betting engine for storing a plurality of orders, each specifying a property of an ordering of one or more positions of at least one object in the ordinal ranking of the objects.

2. The system of claim 1 further comprising a model generator operably coupled to the permutation betting engine for creating a linear programming model used to determine quantities of orders to accept.

3. The system of claim 2 further comprising a linear programming analysis engine operably coupled to the model generator for determining a set of quantities of orders to accept.

4. A computer-readable medium having computer-executable components comprising the system of claim 1.

5. A computer-implemented method for permutation betting, comprising: receiving from a plurality of traders a plurality of orders specifying a property of an ordering of one or more positions of at least one object in an ordinal ranking of a plurality of objects; determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects; collecting an amount for the at least one order of the plurality of orders accepted from at least one trader of the plurality of traders; identifying at least one winning accepted order; and paying out a winning amount for the at least one winning accepted order.

6. The method of claim 5 wherein determining to accept the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises determining a quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

7. The method of claim 6 further comprising sending a response to at least one trader of the plurality of traders indicating the quantity of the at least one order of the plurality of orders placed by the at least one trader of the plurality of traders.

8. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises creating a linear programming model for determining an optimal set of one or more quantities of orders of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

9. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises solving a linear programming model for determining an optimal set of one or more quantities of orders of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

10. The method of claim 9 wherein solving the linear programming model for determining the optimal set of the one or more quantities of orders of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises solving the linear programming model for determining the optimal set of the one or more quantities of orders of the plurality of orders for maximizing a worst-case profit of an auctioneer.

11. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises creating a system of linear inequalities for finding a subset of the plurality of orders providing a nonnegative profit to an auctioneer for possible outcomes of the ordering in the ordinal ranking.

12. The method of claim 6 wherein determining the quantity of the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises solving a system of linear inequalities for finding a subset of the plurality of orders providing a nonnegative profit to an auctioneer for possible outcomes of the ordering in the ordinal ranking.

13. The method of claim 5 wherein determining to accept the at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises determining to accept at least one divisible order of the plurality of orders.

14. The method of claim 5 wherein specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises using a logical statement to specify the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects.

15. The A computer-readable medium having computer-executable instructions for performing the method of claim 5.

16. A computer system for permutation betting, comprising: means for receiving from a plurality of traders a plurality of orders specifying a property of an ordering of one or more positions of at least one object in an ordinal ranking of a plurality of objects; means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects; means for collecting an amount for the at least one order of the plurality of orders accepted from at least one trader of the plurality of traders; and means for paying out a winning amount for the at least one winning accepted order.

17. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for determining a quantity of the at least one order of the plurality of orders.

18. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for determining an optimal set of the one or more quantities of orders of the plurality of orders for maximizing a worst-case profit of an auctioneer.

19. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for finding a subset of the plurality of orders providing a nonnegative profit to an auctioneer for possible outcomes of the ordering in the ordinal ranking.

20. The computer system of claim 16 wherein means for determining to accept at least one order of the plurality of orders specifying the property of the ordering of the one or more positions of the at least one object in the ordinal ranking of the plurality of objects comprises means for determining to accept at least one divisible order of the plurality of orders.

Description:

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:

FIG. 1 is a block diagram generally representing a computer system into which the present invention may be incorporated;

FIG. 2 is a block diagram generally representing an exemplary architecture of system components for permutation betting, in accordance with an aspect of the present invention;

FIG. 3 is a flowchart generally representing the steps undertaken in one embodiment for permutation betting, in accordance with an aspect of the present invention; and

FIG. 4 is a flowchart generally representing the steps undertaken in an embodiment for applying linear programming to determine the quantities of orders received for permutation betting, in accordance with an aspect of the present invention.

FIG. 1 illustrates suitable components in an exemplary embodiment of a general purpose computing system. The exemplary embodiment is only one example of suitable components and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the configuration of components be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary embodiment of a computer system. The invention may be operational with numerous other general purpose or special purpose computing system environments or configurations.

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 FIG. 1, an exemplary system for implementing the invention may include a general purpose computer system **100**. Components of the computer system **100** may include, but are not limited to, a CPU or central processing unit **102**, a system memory **104**, and a system bus **120** that couples various system components including the system memory **104** to the processing unit **102**. The system bus **120** may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.

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, FIG. 1 illustrates a hard disk drive **122** that reads from or writes to non-removable, nonvolatile magnetic media, and storage device **134** that may be an optical disk drive or a magnetic disk drive that reads from or writes to a removable, a nonvolatile storage medium **144** such as an optical disk or magnetic disk. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary computer system **100** include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive **122** and the storage device **134** may be typically connected to the system bus **120** through an interface such as storage interface **124**.

The drives and their associated computer storage media, discussed above and illustrated in FIG. 1, provide storage of computer-readable instructions, executable code, data structures, program modules and other data for the computer system **100**. In FIG. 1, for example, hard disk drive **122** is illustrated as storing operating system **112**, application programs **114**, other executable code **116** and program data **118**. A user may enter commands and information into the computer system **100** through an input device **140** such as a keyboard and pointing device, commonly referred to as mouse, trackball or touch pad tablet, electronic digitizer, or a microphone. Other input devices may include a joystick, game pad, satellite dish, scanner, and so forth. These and other input devices are often connected to CPU **102** through an input interface **130** that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A display **138** or other type of video device may also be connected to the system bus **120** via an interface, such as a video interface **128**. In addition, an output device **142**, such as speakers or a printer, may be connected to the-system bus **120** through an output interface **132** or the like computers.

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 FIG. 1 may include a local area network (LAN), a wide area network (WAN), or other type of network. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. In a networked environment, executable code and application programs may be stored in the remote computer. By way of example, and not limitation, FIG. 1 illustrates remote executable code **148** as residing on remote computer **146**. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

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 FIG. 2 of the drawings, there is shown a block diagram generally representing an exemplary architecture of system components for permutation betting. Those skilled in the art will appreciate that the functionality implemented within the blocks illustrated in the diagram may be implemented as separate components or the functionality of several or all of the blocks may be implemented within a single component. For example, the functionality of the linear programming analysis engine **208** may be implemented as a separate component from the permutation betting engine **204**. Moreover, those skilled in the art will appreciate that the functionality implemented within the blocks illustrated in the diagram may be executed on a single computer or distributed across a plurality of computers for execution.

In various embodiments, a computer **202**, such as computer system **100** of FIG. 1, may include a permutation betting engine **204** operably coupled to storage **210**. In general, the permutation betting engine **204** may be any type of executable software code such as a kernel component, an application program, a linked library, an object with methods, and so forth. The storage **210** may be any type of computer-readable media and may store orders **212** that may include information such as a bid **214** and a quantity **216**.

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.

FIG. 3 presents a flowchart generally representing the steps undertaken in one embodiment for permutation betting. At step **302**, buy orders for contracts specifying bids for a property of an ordered list of objects may be received. For example, the objects could be horses participating in a race and the buy orders may be for contracts betting on properties of the list of horses in increasing order of their finishing times. A trader may place an order specifying a property 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 general, there may be any logical statement about an ordering of positions of an object in an ordered list.

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.

FIG. 4 presents a flowchart generally representing the steps undertaken in an embodiment for applying linear programming to determine the quantities of orders received for permutation betting. In one embodiment, the permutation betting engine may determine whether trade can occur at no risk to the auctioneer by finding a subset of orders which accepted together may give a nonnegative profit to the auctioneer in every possible outcome. The auctioneer has to carefully choose which orders and what fractions of them to accept so as to be guaranteed a nonnegative profit in any future state. In another embodiment, the permutation betting engine can optimize some criterion in determining the quantity of orders to accept. An auctioneer's objectives may include maximizing the total trading volume in the market or the worst-case profit of the auctioneer.

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 (b_{i},q_{i},φ_{i}), where bi denotes how much the trader is willing to pay for a unit share of security φ_{i }and q_{i }is the number of shares of the security the trader wants to purchase at price b_{i}. 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 b_{i }ε [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 x_{i }to represent the fraction of divisible order i ε O accepted, such that x_{i }ε[0,1]. Furthermore, consider I_{i}(s) to be an indicator variable for whether order i may be winning in state s, that is I_{i}(s)=1 if the order is paid back $1 in state s and I_{i}(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 x_{i }ε [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 x_{i }ε [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.