©2008-2009 Strands, Inc. A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 37 CFR §1.71(d).
This invention pertains to methods and apparatus and computer software for the implementation of distributed prediction markets on the Internet.
Prediction markets (PM) are markets where traders buy and sell “securities”. Think of a security as associated with a proposition having a true/false binary outcome or result. Securities have payoffs and time limits. So in general a PM has one random variable (the proposition) that can be true or false. Participants buy and sell contracts/securities that guarantee a payback if the outcome is what they predict. These contracts are “traded” in the market until the outcome becomes a reality. Players then get payoffs according to their outstanding shares of contracts at the conclusion.
For example, one security could be described as follows: “This security, with unique ID SEC:3491, will pay $1 if and only if AT&T releases 3G networks by 2009”. Propositions in these markets have a “sell by” or maturity date (2009 in our example), becoming invalid after that. Imagine the current price of this security SEC:3491 is $0.20. If a trader strongly believes that AT&T will release 3G before 2009, then s/he has a strong economic incentive to buy this security. Prices, set through trading behavior of market participants, then provide information about the market's belief about the likelihood of the event.
Now we have a proposition (with a true/false value at time of maturation), but also a continuous measure of the likelihood of the proposition. This likelihood metric of the expected outcome, reflected in a unit contract price, can vary over time, from the start of trading in a particular security up to the date/time of maturity. In general, after that time, the outcome will be known. Preferably, prediction markets should be addressed to propositions where the outcome or result of each proposition is objectively verifiable. Preferably, it may be ascertainable soon after the maturity date, but some delay is acceptable as well. Any proposition is permissible, ranging from “will Alice date Bob” (a potential Facebook security), to who will win the next presidential election. The only requirement is that the event which the proposition refers to is publicly and objectively verifiable ex-post. More on who makes that determination later.
There are existing web-based PMs. However, although successful in some domains (e.g. Hollywood exchange, Iowa election markets), the web-based markets have suffered from being “thin,” meaning that they have few active traders. Consequently, the value of information derivable from these sites is quite limited. What is needed is a centralized, scalable platform to implement prediction markets that are distributed over the Internet and more specifically over the blogosphere to increase participation and improve the quantity and quality of information that may be assembled from such systems.
The following is a summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not intended to identify key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
We disclose a scaling strategy through distributing the PM (a Distributed PM, or “DPM”). The hypothesis is that PMs are thin because of high transaction costs of making and participating in markets. Transaction costs include i) search costs, ii) evaluation costs and iii) interaction costs. We want to lower these transaction costs of participation and increase liquidity of market participants. We use the term “market maker” herein to refer to a user who defines or initiates a new PM. One goal is to give bloggers that ability. So that a blogger can easily create a new PM to run through its site. But the blogger does not participate in managing that market, or maintaining a price, or providing liquidity. In this regard we depart from the conventional securities industry meaning of a market-maker. Ours is more like a market-starter or definer.
In some embodiments, the market-maker functionality does not depend on an individual editor or “specialist” (in the securities industry sense). Rather, in some embodiments, we implement the market maker functionality in software to increase both liquidity and scalability.
Any user with Internet access and a web browser or similar application may participate in our distributed prediction markets. In one embodiment, we utilize blogs as an advantageous domain for achieving the scaling goal because the “blogosphere” has many (incentive and information) characteristics that make them a suitable application area for prediction markets. Enabling anyone with an opinion to create a PM on their blog, together with low cost ways of finding, and interconnecting with those PMs by potential participants is expected to create a “thicker” PM market. The invention is not limited, however, to distribution over blogging sites.
In an embodiment, widgets are provided for users to observe and interact with prediction markets. A software widget is a generic type of software application comprising portable code intended for one or more different software platforms. The term often implies that either the application, user interface, or both, are light, meaning relatively simple and easy to use, as exemplified by a desk accessory or applet, as opposed to a more complete software package such as a spreadsheet or word processor.
In various embodiments, aspects of the invention will distribute prediction markets. Rather than requiring users to search out and find stand-alone individual PMs, the content is widely distributed so that many more users can observe and easily participate in PMs of interest to them. For example, the disclosed system enables bloggers or other web sites to easily design and execute PMs on their own sites, with visibility far beyond that specific site. Distribution strategies include widgets, publish-subscribe protocols and notifications to users or potential users.
In another aspect of the invention, PM decision making is widely decentralized (albeit through the use of a central platform in a preferred embodiment). Decisions as to what markets to create, verification of proposition outcomes, and evaluation are distributed well beyond a few specific proprietary markets. The present system enables any user to become a “market maker.” Moreover, the present system helps to incentivize participation, which in turn improves the quantity and thus the quality of future prediction data.
Additional aspects and advantages of this invention will be apparent from the following detailed description of preferred embodiments, which proceeds with reference to the accompanying drawings.
We believe the thinness problem is potentially an information problem, arising because there are few market-makers and often whose existence is only known to few individuals. For instance, I know about the BuzzGame (Yahoo's PM) because I know David Pennock (creator of the game) and Rahul (his colleague) and I follow that area of research. Others who maybe less informed about the securities traded on the BuzzGame are probably not aware of this site. The problem we would like to address is how to create “thick”/scalable prediction markets.
Note a subtle but important difference between a PM and an algorithm as two distinct strategies for indexing and searching. An algorithm is endogenous, meaning the algorithm computes inferences based on the underlying structure of the data. Data mining is a process to partition and induce a structure on a (labeled) data set. A PM on the other is an exogenous mechanism, where it is the network that computes the information. A PM is simply a set of rules of behavior (bids and asks and allocations). How agents behave within these rules (or what is commonly referred to as “mechanism” or “institution” in economic literature) defines the required information. It is interactions, not computation, that produces information.
Information flow in blogs is dynamic, following “chatter” and “burst” modes (see appendix 10.1 for a Wikipedia description of blogs). Information in blogs are often used as sources of information, even before the event is picked up in the mainstream media. Tools exist (such as linktrack, Permalink, blogroll etc, that help bloggers coordinate and blogging search engines (such as Technorati) to index. These technologies have helped to show that blogosphere has clear structure, because bloggers (preferentially) interconnect with other bloggers (using “blogroll” technology—see wiki's entry on blogroll) based on location, age and topic (see paper by kumar ACM).
Bloggers also often have strong opinions and expertise on subject matters, and given interconnections with other related blogs, may have strong incentives to participate in prediction markets. Note, another subtle point. The type of inferences information from current tracking technologies supports are second-order and cannot capture the diverse set of time frequency complexities of information in blogosphere. Furthermore, blog indexers are architected the same as their web counterparts, counting (and weighting) structural information (links), not the content of the information. The rules of the PM provide a compact representation of content; the security and the associated prices induce a natural index on that content. The index is generated exogenously, by the market.
One aspect of the present invention is a platform or system to assemble the dynamic “future information” that is user-generated throughout the blogosphere and other regions of the web. We disclose a platform that provides the following services to different market participants. While such a platform may be centralized in a hardware sense, it operates to coordinate distributed prediction markets. In a preferred embodiment:
Blog owner: The platform preferably gives individual blog owners the ability to become “market makers,” having the freedom to specify, provision and execute a PM on their blog, and on a topic of their choosing (most likely the content of their blog).
Blog reader: Blogs are often already interconnected (“BlogHood”) through various mechanisms (such as Blogroll and/or several online communities, such as BlogCatalog and MyBlogLog), that connect people to blogs and bloggers to other bloggers. Our platform preferably also provides additional interconnection mechanisms for others in the blogosphere (or general Internet) to find and participate in any number of ongoing PMs of interest to them.
Third party: The activity and outcomes of the distributed PMs can then be queried by other interested third parties (such as marketers, sales, VCs, etc). At least three types of information can be provided by the platform:
Glossary. As used herein, and in the appended claims, except where otherwise specified, the following terms are defined as follows:
Proposition—a statement with a binary outcome, i.e. true or false.
Market-Maker—entity that creates/specifies a proposition.
Security (or contract) is a contractual obligation associated with an underlying proposition. There are two species of securities for each proposition: a true outcome security, and a false outcome security.
Market—all of the traders participating in buying and selling the (two) securities associated with a given proposition. Traders are also called participants, bidders or players.
Prediction Market or PM—see Market.
Cost Function c=b*log(ê(q1/b)+ê(q2/b)) where b is a liquidity factor; q1 is the number of currently outstanding shares of the true outcome security; q2 is the number of currently outstanding shares of the false outcome security.
The trading behavior of the traders would then provide the instantaneous belief of the traders on the proposition. The platform shown at the center of the drawing acts as the coordinator, providing initial and ongoing budget allocation and accounting needs of the traders, as well as the front-end (setup and advertising of markets) and backend infrastructures (clearing price computation, budget constraints, etc) as further explained below.
The platform in a preferred embodiment holds state on a live running feed of price statistics of each proposition and the associated participants. For infrastructure scalability or search service rationales, this raw DB of proposition-price tuples can be further structured using information about the structure of propositions, where related propositions (markets) are grouped together in the DB (clustering). We envisage at least three potential types of structures to information:
Membership information: which propositions belong to the same category (for example through a clustering algorithm).
Relational information: Relationship between different propositions. For example, a AT&T market is related to a iPhone market. The strategy to provision for such a structural information that encodes the relationships between markets (and ultimately the underlying propositions themselves) could be model-based (endogenous) or alternatively exogenous, provided, for example, by either the market-maker or the participants. For instance, in an embodiment the platform can provide a market-maker with a list lt of all current and previous markets at time t. Market-makers can then select other markets that are “related” to the market they are in the process of setting up. lt may be unstructured (or manually structured) at first, but evolve a structure over time as market-makers self-organize the list in to a graph.
An example of a relationship graph is shown in
Complex sentences: Propositions may be conjuncted to create complex sentences (“will AT&T release 3G by 2009 and will iPhone open its SDK?”).
This information architecture is provided by way of illustration and not limitation. Still, benefits of this information structuring may include the following:
(a) Computational and scalability: relational information enables partitioning strategies and distributed implementation of the platform, according to proposition class.
(b) Referral and thickening service: the relational information can be used to provide recommendation service to market participants on the blog, about other markets on other blogs that are related to this market (compare to Blogroll). This referral mechanism, if correctly accounted for, can lay the foundation for a revenue model.
(c) Additional context information (embedded and derived from the blogging environment, such as geography or demographics), in addition to this proposition-price information, maybe used for scalability as well as mining and supporting additional inferences and query answering.
In one embodiment, the architecture of the DPM mechanism to allocate propositions and quantify their probabilistic information may be described as middleware, because the mechanism derives its data from the underlying blogging platform and in turn may provide data services to other web applications, such as search. However, the present application is not limited to use on blogging platforms. For example, in one embodiment, a PM widget can be placed on any web site, and any user with access may participate as a trader.
Referring now to
We refer to the above as middleware M. A system consistent with the present invention may include two web applications. M, is one web application (with its associated layers shown in
As mentioned above, the best outcome is to permit any participant on the general internet to participate on the PMs—an open platform. A preferred embodiment will implement a standard currency for trading on the PMs, that is also not real money (for legal reasons). We therefore assume a single currency for now. As mentioned below, a currency exchange may be provided that could exchange heterogenous currencies to and from an internal one (“SP$”). For the present description, we will assume use of a single standardized currency.
Identities, initial endowment allocations and inflation. Traders will need to have some initial allocation of SP$ endowment. If allocations are determined by uniqueness of IDs then that might create incentives for traders to strategically create many identities so as to increase their budget. Such a situation may lead to an inflation. This may however not be a problem because prices over securities should reflect ordinal, not cardinal, rankings. But if it is a problem, because of some unforeseen strategic consequence (for example, having more money can create an incentive to manipulate bids in different markets so as to influence their outcomes), then two possible solutions may be: a) allocate initial allocations to every unique identity, but the platform periodically readjusts the rates of SP$ or b) continue to allocate a fixed initial endowments in SP$ to unique IDs but make traders internalize some cost of ID creation. For instance, condition the participation on the state of the ID (how long it has been in existence, trading activity—a reputation state). Under such a rule participation is however closed to only those who have managed their IDs, shutting down the market to others (rich get richer). Leveraging the trust relationship between traders maybe one solutions to open up the PMs—long term traders can participate in PMs only if referred through by more persistent traders.
An illustrative architecture of a mechanism to allocate propositions and quantify their probabilistic information is described in more detail below. This mechanism defines the set of interactions that generate time evolving expectation data. As noted above, we refer to the mechanism as a middleware “M” because, in some embodiments, the mechanism derives its data from the underlying blogging platform and in turn provides data services to other web applications, such as search.
The goal of M is to generate, through a market application logic (and associated interaction logic, markups and presentations) data which includes (optionally compound) propositions and probabilities and graphs of propositions. The system architecture for M is illustrated in
We group the application logic flow in a preferred embodiment into the following classes of functionalities:
Below we describe these in terms of stub function calls. We prefix function calls with the namespace of the modules they belong to, followed by the function name. We specify following namespaces:
As shown above Namespaces may be embedded to any number of levels. For instance, namespace DashBoard can be further portioned with provisioning (DashBoard::Provisioning), to modularize the set of dashboard variables that are used to track the state of the provisioning stage of the market. Likewise, DashBoard::Provisioning::SetDashBoardVars refers to subset of variables named SetDashBoardsVars within the dashboard namespace during the provisioning stage.
From the user perspective, there are two ways a user (a market maker “MM” or a Bidder “B”) interacts with the DPM system:
Application logic in an embodiment in the case of direct interactions is as follows. Referring now to
302. Accounting::GetArrivingState( ): Function for M to record IP address (IP). May be used to infer ZIP. Function returns value which will be used to update source-IP and Inferred-ZIP attributes of l[k] data structure (see below).
304. Presentation::Tour( ): Provide a market simulation page, preferably as video 322.
306. Presentation::TrackMeme( ): Message, in form of a button, to Bloggers to be market makers.
308. Presentation::ContributeToMeme( ): Message, in form of button, to potential bidders to choose to participate.
310. DashBoard::Count( ): Function to build cumulative distribution information of user choice types. GetArrivingState( ) 302 provides us with where the users came from. This function provides us with top level dashboard information about where they went to in the system.
320. Controller::Congestion::AdmissionControl(QoS): Admission controller to moderate load levels to satisfy a predetermined QoS level.
330. Presentation::AppLogic::MarketMaker( ): Take market-maker to market-construction resource; described below.
340. Presentation::AppLogic::Bidder( ): Takes bidder to AppLogic::Input::Bid flow for inputting bids; See
Market Makers widget interactions preferably are restricted to its download onto their blog or other web site. In the case of bidders, the application logic may proceed as follows. Bidder sees the market widget, for example in an iframe on a blog. The last bid may have an up and down arrow superimposed on it. In one embodiment, they can then place bids by clicking on one of these arrows. This event then produces a popup dialogue box where the user can input their bid and the total volume of securities they wish to purchase. Below this bid entry may be some additional information that the system can compute for the user. This information includes:
Registration is discussed next. Registration is necessary for market accounting purposes. However, this requirement is in tension with current web trends where registration process is being minimized. Today users can participate in voting/polling mechanisms quickly and freely without having to register. We therefore want to reduce the transaction costs of Market Makers (MM) and Bidders so as to maximize the total number of interactions in the system.
However, anonymity of the MMs may not be achievable for accounting reasons. Firstly, in the case of a placed widget we cannot easily support unregistered MM interactions for accounting purposes. However, this may not be a problem because most bloggers are accustomed to registration process for widget downloads. Because no interaction is required between the platform M and MMs, MMs can obtain full anonymity if their market is provisioned to be executed on DPM's landing page. On the other hand M would need to know the identity of MM because they are the only entity that can verify the true or false status of the matured security. For these two reasons perfect anonymity of MM may not be implementable in either widget or landing page mode.
Bidders on the other hand can interact anonymously. The strategy in an embodiment is to create a multi-tier market where bidders can trade in four different name spaces:
Transactions in the AUID are anonymous and bidders do not have to register. However, their bids and comments preferably will be partitioned from and not affect the bids of registered participants. DPMUID transactions on the other hand are ones where the market participant has registered with the platform and has been assigned a unique ID. LUID is the local namespace of each individual market.
Finally, we use the mixed DPMUID-AUID as a “holding tank” namespace for registered bidders who have overspent their budget but whom we may want to allow to continue to participate in the market. In one embodiment, we allow this participation only in the AUID namespace. However, like AUID, their bids does do not influence the registered bids, but the platform in a preferred embodiment does hold state to monitor the success of the bidder. If successful, then a new budget may be allocated. See the discussion of budget allocations.
Symmetric anonymity (where both bloggers and bidders are anonymous) is achievable only if all interactions occur on the DPM landing page and the platform does all the accounting. However, in one embodiment, we propose to display dynamic content on the web pages of a blogger. In that scenario, then full and continual anonymity of MMs may be difficult to implement because of market accounting needs. Bidders on the other hand may participate in full anonymity in either landing page or blog widget interactions.
Therefore, a MM who requests a market widget must provide some information so as to enable the platform to provide call-backs so as to update the presentation state of the widget on the blog. The choice of which information to request is a matter of design choice. Two likely candidates are email and blog URL. An email can be used to send the blogger an administration URL. A URL would provide more information because we can harvest much more information about the blog through it.
Registered participants enable budget accounting. Registration is the process of creating an account on the platform (M). Registration may involve visiting a URI. Registration of bidders may occur before or after market execution. Ex-ante is when all bidders register before markets commence. Ex-post registration occurs proactively when markets are running and unregistered bidders would like to join in.
Blogger/Market-Maker Registration Flow. Referring now to
This flow would be invoked in one embodiment from AppLogic::Input::Bid flow. Incoming bids, either indirectly from a widget or directly via the landing page are then checked for membership in either AUID or DPMUID namespaces. Referring now to
If a user selects “Track Meme” choice (306), then they become a market-maker and set off the following sequence of events. Formally what is being defined is a contract. We can have 3 different types of contracts in DPM:
Contracts in a presently preferred embodiment of DPM are binary. This contract links payoffs to occurrence of a specific event. A binary contract is also referred to as a “winner-take-all” contract. Prices of binary contracts represents the market expectation of the probability that an event (corresponding to a proposition) will occur (assuming risk neutrality).
In an alternative embodiment, an index contract payoffs vary in a continuous way based on a number that rises or falls (e.g. “contract l[k] pays $1 for every percentage point of the popularity vote won by Obama”). Prices of such contracts represent a mean value that the market assigns to the outcome.
Below are the set of functions that capture the application logic flow in one embodiment from the perspective of a MM during presentation, market provisioning, execution and accounting. We represent important information about the market instance in the following vector data structure (represented in BNF format):
l[k]::=<p,Price[0],T,Tag,{C}>
where k is the index of the market instance and l, the input to M, is the set of following information:
Following management meta-information may be additional (system generated) attributes of l:
In an embodiment, we represent this data structure in the Accounting::DB::DPMUID namespace. Various representations for this data may be used. Desirable or mandatory characteristics may include scalability and read-write speeds. One possibility is to implement l[k] in memory as a class with initialization methods.
Market Provisioning
In one embodiment, market provisioning logic proceeds generally as follows. Referring again to
At this juncture, a new market l[k] has been defined. Referring again to
Next at block 612 is the function called MarketCode::GenCode(l[k]): generate widget or landing page code for l[k] market instance. Representative detail is shown at
At this juncture, code generation (Gencode(l[k])) 612 is completed, and the market provisioning logic flow of
Continuing with reference once again to
The logic continues at block 624, Controller::RunMarket(l[k]): further discussed below. And finally, the logic moves to 628, Controller::CloseMarket(l[k]): Changes state of l[k] from “open” to “closed”.
At the bottom of
The term “graph” here preferably refers to a data structure. A graph may be developed to determine, store and leverage relationships among markets, for example to make recommendations to users, as further discussed below.
Referring now to
In some cases, some markets may naturally converge very quickly to a consensus viewpoint (Will Bush be impeached?) and then stay that way for a long time (till January 2009), but still be “alive” in the sense that it can't be closed, and everyone who bet in it wants it to stay alive. But there may be no new bets for some time. Various classifiers may be developed that can discriminate between truly abandoned vs. quickly converged markets. That said, a market that converges very quickly is also of little information interest because it converges to what everyone agrees to very quickly. So in a way, although not “abandoned” these markets are of low information value.
More detail of this function 930 is shown in
Returning now to
If budget actually is replenished then choices of actions are:
First two choices maybe too cognitively costly for some users. Exclusion may in fact be the right strategy if market has scaled because we don't want people to be consistently bad at predicting in the system. In one alternative strategy the system may switch a user to the anonymous pool of bidders but keep state on their bidding. If they do well in that pool then we can give them a budget. The simplest action to take if user is out of budget maybe simply to exclude the user. Prior to that we would limit a bid to the max that a player has uncommitted at a given point in time.
Another option is to create an economy for market-makers who get paid in some value accounting system. Not only will that give bloggers incentives to procure points for creating markets, but we can give bidders who have shot through their budget an opportunity to amass “money” in other ways in the system. Preferably, we would require the presentation layer to proactively inform bidders of the expected effect of their bids on their current budget.
In an embodiment, a minimum budget floor is selected. If a bidder has reached this level (say 10 c), then they can only bid 10 c on any proposition. If they win, they win only 10 c and if they lose they lose nothing (i.e. there is only upside if at 10 c).
Referring now to
Referring again to
Remaining functions briefly include the following:
AppLogic::VerifyPresentation::Output::Verify(l[k]): Verify whether proposition l[k] was true or false at time of maturation. Recall, one dimension of transaction cost minimization was evaluation costs. The solution we propose is to allocate this cost to MM who created the markets in the first place, giving them, rather than the platform, the monopoly rights over evaluation. This not only reduces platform transaction costs but also reduces strategic possibilities by coalition of players. Therefore we message the MM who created l[k]. Updates the outcome variable of Accounting::DB::DPMUID table.
AppLogic::Payoffs(l[k]): Compute for each registered bidder their payoffs, which may be the total volume of their security holdings over l[k] multiplied by the payoff price advertized on the face of security.
AppLogic::ComputeNewBudget(l[k]): Compute for each registered bidder their new budgets given their payoffs. That is cash holdings are adjusted according to security holdings payoffs.
AppLogic::Rankings: In one embodiment, Player A has n dollars before placing a bid, this is the score that they have in the rankings. They then place m dollars on a proposition, so they have n−m dollars and m dollars worth of some proposition. Now if their proposition does well (more bids on it) and their m dollars worth of proposition becomes worth M dollars. They have (n−m)+M score in the ranking and presumably a higher position.
We next describe the Market Scoring Rule (MSR) algorithm in a preferred embodiment. We access data using the “.” notation to signify OO object methods. We specify unique IDs for each registered bidder by DPMUID. We then define two quantities as follows:
The overall budget of a player j is (DPMUID.budget). A proposition (e.g. “Helmets will be the height of fashion by 2010”) can be either true or false at 2010. We define true and false outcome as O1 and O2, respectively. Security 1 is described as, “pays $1 if O1”. Security 2 is described as, “pays $1 if O2”. There are discrete quantities of security1 and security2. Total numbers of security1 and security2 are called total number of outstanding shares. We refer to them as q1 and q2 respectively. An individual user can have some proportion of q1, q2. The current security holdings of outcome O1 of a player j (DPMUID.holdings.O1)
We also define the following Market Message Interfaces:
A Cost Function c=b*log(ê(q1/b)+ê(q2/b)) where b is a liquidity factor; q1 is the total number of currently outstanding shares of the true outcome security; q2 is the total number of currently outstanding shares of the false outcome security.
Standard price function price=(ê(q1/b))/(̂(q1/b)+̂(q2/b)).
Distribution means there will be two problems to deal with:
There are three points in the MSR execution where these problems will arise:
Potential solutions to this problem include the following. Refer to
In this example, registered bidders only are permitted, binary securities, no tag, no short selling, and the user specifies probabilities rather than quantities of securities. The user interface is further discussed below. A preferred sequence of order entry (line 5 onwards) is the following. Bidder first sees the time series market data for only O1 (not O2) on a MarketView page. The bidder clicks either an up or down arrow on last previous bid and is taken to a new page called BidEntry page. First we present only probability logic, not quantities.
In this example, the features include the following: 1) registered bidders only, 2) open (no constraints), 3) binary securities, 4) no tag, 5) no short selling, 6) user specifies probabilities and not quantities, and 7) no ex-ante min-max computation (b/c of potential price changes).
A preferred sequence of order entry (line 5 onwards) is the following:
O1 = l[k].verb /* get verb describing outcome 1 of market instance k (e.g. wins) */
Referring now to
The above DBs can then be used to represent the summary of each position of each participant. The B-position refers to the bidding positions a participant is currently subscribed to. And the subscription mode is how the bidder would like the form (category) and frequency of update information in each market it has subscribed to. Referring again to
It will be obvious to those having skill in the art that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present invention should, therefore, be determined only by the following claims.
This application claims priority to U.S. Provisional Application No. 61/049,401 filed Apr. 30, 2008 and incorporated herein by this reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61049401 | Apr 2008 | US |