520 likes | 631 Views
David Pennock. Market Madness: Implementing a 9.2 quintillion outcome prediction market . A (2-outcome) prediction market. A random variable, e.g. Turned into a financial instrument payoff = realized value of variable. 2010 the warmest year on record? (Y/N). I am entitled to:.
E N D
David Pennock Market Madness: Implementing a 9.2 quintillion outcome prediction market
A (2-outcome) prediction market • A random variable, e.g. • Turned into a financial instrument payoff = realized value of variable 2010 the warmest year on record?(Y/N) I am entitled to: 2010 thewarmest not thewarmest $1 if $0 if
http://intrade.com 2010
call30=max[0,s-30] call40=max[0,s-40] call20=max[0,s-20] Another example: Options • Options prices (partially) encode a probability distribution over their underlying stocks payoff 10 20 30 40 50 stock price s MP1-4
+ call40 call20 Another example: Options • Options prices (partially) encode a probability distribution over their underlying stocks “butterfly spread” payoff 10 20 30 40 50 stock price s - 2*call30 MP1-5
+ call50 call30 Another example: Options • Options prices (partially) encode a probability distribution over their underlying stocks payoff 10 20 30 40 50 stock price s - 2*call40 MP1-6
Another example: Options call10 - 2 call20 + call30 = $2.13 relative call30 - 2 call30 + call40 = $5.73 likelihood of falling call30 - 2 call40 + call50 = $3.54 near center payoff $2.13 $5.73 $3.54 10 20 30 40 50 stock price s MP1-7
Reinventing the wheel • Put prices:CDF (PDF) of stock price • Butterfly spreads:discrete approx of PDF • PDF of stocks are ~lognormal
lognormal(u=3.67, =.205) Bid,ask,mid of butterfly spreads Put pricesBest fit lognormal Reinventing the wheel
The outrage • What about call prices?ENTIRELY REDUNDANT! • I know that, you say: put-call parity • From an information standpoint, they are useless • From a trading standpoint, they might be useful, but only because markets are poorly designed
“butterfly spread” payoff 10 20 30 40 50 stock price s - 2*call30 + call40 call20 The outrage II Range bets require four trades • Four commisions, four bid-ask spreads • Execution risk
Example: Options payoff 10 20 30 40 50 YHOOstock price s MP1-12
Example: Options payoff 10 20 30 40 50 YHOOstock price s MP1-13
Example: Options MP1-14
The thesis • In a well designed (derivative) marketinformation is everythinginformation is the only thing • Contrapositive:redundancy = poor design
Continuous double auctionUber-hammer of the financial world • Used everywhere • Stocks, options, futures, derivatives • Gambling: BetFair, InTrade • Related bets? Just use two CDAs • Max[YHOO-10], Max[YHOO-20] • Horse wins, Horse finishes 1st or 2nd • “Power set” instruments: Mutual funds, ETFs, butterfly spreads, “Western Conference wins” • Treats everything like apples and oranges, even ‘fish’ and ‘fish and chips’
Continuous double auctionUber-hammer of the financial world • CDA was invented when auctioneers were people • Had to be dead simple • Today, auctioneers are computers... • ...Yet CDA remains the standard
Example: Y! Predictalot 9.2 quintillion outcomes
The pitch (to gamers) • Predict any property2263 possible in theory [gogol,gogolplex] • Duke wins >3 games • Duke wins more than UNC, less than NCST • Sum (seeds of ACC teams in final8) is prime • We’ll instantly quote odds for any of them • Effects related predictions automatically • Predict Duke wins tournamentOdds Duke wins rnd 1 goes up
The pitch (to economists) • Information is everything • Traders (people) focus on informationProvide it in whatever form they like • Mechanism (computer) handles logical & Bayesian propagation - what it’s good at • No redundancy, no exec risk, everything is 1 trade
LMSR market maker • Robin Hanson: Logarithmic market scoring rule market makerEvent = E = e.g. Duke wins > 3Outcome = o = complete unfolding of tournoEeqo/b oTRUEeqo/b Price of E =
LMSR market maker • oEeqo/b oTRUEeqo/b • Impossible: Store 263 numbers • Complex: Sum over 263 numbers • Doable: Approx sum over 263 nums*tricks required to do it well/fast
Main loop Input: event E for 1 to NUM_SAMPLESsample oforeach bet (F,qF) qo+=qF if oFnumer += eqo/b/p(o) if oEdenom += eqo/b/p(o) return numer/denom
Other market maker functions • Point price is all we need! • From price we can compute • Total cost of any number of shares qE • Number of shares purchasable for any dollar amount (inverse cost) • New price after purchasing qE shares
Sampling • Sampling is accurate when outcomes are chosen proportional to eq/b • Can’t be done (#P-hard) • Can sample proportion to q, if size of event is known • For now, we sample according to seed-based prior fit to historical data • Next: Metropolis-Hastings
Sampling • No guarantees • Erratic convergencee10 dwarfs e8 • Linear scan of all bets in inner loop! • Now getting serious about improving sampling: 1) fast, 2) stable, 3) accurate
Eval • If E is a snippet of code, then testingoE requires an ‘eval’ of the code • Slow in interpreted languages + can be gamed + serious security risk • Proceeded in phases: 1) Mathematica, 2) PHP, 3) Now implemented a mini language parser in Java: much faster
Demo • With Mani Abrol, Janet George, Tom Gulik, Mridul Muralidharan, Sudar Muthu, Navneet Nair, Abe Othman, David Pennock, Daniel Reeves, and Pras Sarkar • Yahoo! Application Platform • Takes care of login/auth, friends, sharing • Easy to create; good sample code;Google open social • Small view on my.yahoo, yahoo.com (330M) • Activity stream can appear across Y!(e.g., mail, sports, finance, profiles)
The modal dialog opens with a screen to select a prediction type Example: Y! Predictalot
On selecting the template for prediction type the other controls are displayed progressively Example: Y! Predictalot
Here the user then sets the prediction parameters, but note that the ‘make prediction’ button is disabled till all parameters are set Example: Y! Predictalot
Odds are calculated only after the user finalizes on the prediction Example: Y! Predictalot
Finally once investments are placed the ‘Make prediction’ button gets enabled. Example: Y! Predictalot
What’s next • Road to March: Built it, now we hope you come! (+ promo from Y!Sports) • Road to June: World CupThen IPL, NFL?, Oscars?, Politics? • Sampling tricks: art and science • MM to revenue positive: proof of concept • Flexible market maker: Abe Othman • Other price functions; dynamic parimutuel • Open puzzles: integrating limit and market orders, interval bets on real line
More What is (and what good is) a combinatorial prediction market? http://blog.oddhead.com/2008/12/22/what-is-and-what-good-is-a-combinatorial-prediction-market/
A research agenda:Chance Tech • Technology to • Manage chance: prediction, finance • Mitigate chance: insurance • Manufacture chance: gambling • In: Wisdom of crowds, prediction markets, stock picking, money management, online betting exchanges, computer poker, custom insurance, adversarial ML • Out: Roulette, human poker, chess
A research methodology HSX Design Build Analyze NF TS WSEX FX PS
Prediction markets Dynamic parimutuel Combinatorial bids Combinatorial outcomes Shared scoring rules Linear programming backbone Ad auctions Spam incentives Examples Design Build Analyze • Predictalot • Yoopick • Y!/O Buzz • Centmail • Pictcha • Yootles • Computational complexity • Does money matter? • Equilibrium analysis • Wisdom of crowds: Combining experts • Practical lessons
The evolution of markets • Phase 0: Invention, manual execution Advertising Auctions FinanceWALL STREET bookstores, banks, grocery stores, ...
The evolution of markets • Phase 1: Computers mimic it (Cheaper, faster) Advertising Auctions FinanceECN Amazon, ATMs, auto checkout, ...
The evolution of markets • Phase 2: Computers improve it (Cheaper, faster, better) Advertising Auctions Expressive auctions for chemicals,packaging, ingredients, technology,services, medical, transport, materials, ... Finance Source: Sandholm, T. “Expressive Commerce andIts Application to Sourcing: How We Conducted$35 Billion of Generalized Combinatorial Auctions.”AI Magazine, 28(3): 45-58, 2007 custom Amazon, e-banking, RFID, ...
Phase 0 Mechanism(Rules) e.g. Auction,Exchange, ...
Phase 1 Mechanism(Rules) e.g. Auction,Exchange, ...
Stats/ML/OptEngine Stats/ML/OptEngine Stats/ML/OptEngine Stats/ML/OptEngine Phase 1.5 Mechanism(Rules) e.g. Auction,Exchange, ...