U.S. patent application number 11/716217 was filed with the patent office on 2008-09-11 for system and method for permutation betting.
This patent application is currently assigned to Yahoo! Inc.. Invention is credited to Yiling Chen, Evdokia Velinova Nikolova, David Myer Pennock.
Application Number | 20080220855 11/716217 |
Document ID | / |
Family ID | 39742179 |
Filed Date | 2008-09-11 |
United States Patent
Application |
20080220855 |
Kind Code |
A1 |
Chen; Yiling ; et
al. |
September 11, 2008 |
System and method for permutation betting
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) ; Nikolova; Evdokia Velinova; (Somerville,
MA) ; Pennock; David Myer; (Monroe Township,
NJ) |
Correspondence
Address: |
Law Office of Robert O. Bolan
P.O. Box 36
Bellevue
WA
98009
US
|
Assignee: |
Yahoo! Inc.
Sunnyvale
CA
|
Family ID: |
39742179 |
Appl. No.: |
11/716217 |
Filed: |
March 9, 2007 |
Current U.S.
Class: |
463/25 |
Current CPC
Class: |
G07F 17/32 20130101 |
Class at
Publication: |
463/25 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
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
FIELD OF THE INVENTION
[0001] The invention relates generally to computer systems, and
more particularly to an improved system and method for permutation
betting.
BACKGROUND OF THE INVENTION
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
SUMMARY OF THE INVENTION
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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:
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 is a block diagram generally representing a computer
system into which the present invention may be incorporated;
[0013] 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;
[0014] 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
[0015] 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.
DETAILED DESCRIPTION
Exemplary Operating Environment
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
Permutation Betting
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] Consider orders which traders may submit to an auctioneer to
be represented by an index set of bets or orders O. Each order i
.epsilon. O may be represented by a triple
(b.sub.i,q.sub.i,.phi..sub.i), where bi denotes how much the trader
is willing to pay for a unit share of security .phi..sub.i and
q.sub.i is the number of shares of the security the trader wants to
purchase at price b.sub.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.sub.i .epsilon. [0,1] such that a unit of the security pays off
at most $1 when the event may be realized.
[0038] The auctioneer can accept the entire order, accept a
divisible order (fraction of the order), or reject each order.
Consider x.sub.i to represent the fraction of divisible order i
.epsilon. O accepted, such that x.sub.i .epsilon.[0,1].
Furthermore, consider I.sub.i(s) to be an indicator variable for
whether order i may be winning in state s, that is I.sub.i(s)=1 if
the order is paid back $1 in state s and I.sub.i(s)=0
otherwise.
[0039] 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:
i ( b i - I i ( s ) ) q i x i .gtoreq. 0 , ##EQU00001##
.A-inverted.S .epsilon. S, where there may exist a set of x.sub.i
.epsilon. [0,1] for i .epsilon. 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.
[0040] 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:
max x i , c c s . t . i ( b i - I i ( s ) ) q i x i .gtoreq. c ,
.A-inverted. s .di-elect cons. S 0 .ltoreq. x i .ltoreq. 1 ,
.A-inverted. i .di-elect cons. O , ##EQU00002##
where there may exist an optimal set of x.sub.i .epsilon. [0,1] for
i .epsilon. 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.
[0041] 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.
[0042] 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.
[0043] 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.
* * * * *