Skip to content

Simulation of the LMSR market maker in (Othman, 2013)

Notifications You must be signed in to change notification settings

gvashishtha/cs136_project

Repository files navigation

CS136 Final Project: Simulating a Profitable LMSR

Running the simulation

python simulation.py [options] PeerClass1[,cnt] PeerClass2[,cnt] ...

Simulation options

  • --loglevel Set the logging level: 'debug' or 'info'; default is set to info
  • --num_rounds Decide how many times agents get to bid i.e. --num_rounds=100; default is set to 10
  • --budget Set agents' budget i.e. --budget=5.
  • --seed Seed for random numbers i.e. --seed=2; default is None
  • --sigma Sigma = alpha + beta for agent priors; type is int; default is None
  • --noise At noise = 0, agents always correctly interpret their signal
  • --alpha_lmsr For Profitable LMSR; see page 14:10, section 3.5 in Othman et al. 2013; The higher the alpha, the more we charge. For alpha >1. no trades will go through
  • ---beta_lmsr The beta for normal LMSR; The higher the beta the more liquidity; With a higher beta the market becomes less sensitive to each trade and prices converge to 1/m where m is the number of outcomes
  • --mkt_type Choose either LMSR or LMSRProfit; LMSRProfit is the modified version
  • --num_trials Decide how many times to run the market i.e. --num_trials=100; default is set to 10
  • --initial_state How many shares already sold? Default is 0.01,0.01; At 0.,0. the LMSRProfit will break so run with value >0.
  • -v Store the output value
  • -q Don't store output value; default is -q

Some interesting trials to run

PA means prediction accuracy

  • PA/profit vs market composition play around with the populations of agents (Truthful, BuyOne, ZeroI)
  • PA/profit vs beta (LMSR only) vary populations
  • PA vs alpha for LMSRProfit only; alpha in (0.,1.] (will fail at 1 probably, meaning no trades will occur)
  • profit vs alpha for LMSRProfit only; alpha in (0.,1.]
  • PA vs noise both for LMSR and LMSRProfit; noise in [0.,1.]
  • profit vs noise both for LMSR and LMSRProfit; noise in [0.,1.]
  • PA/profit vs various alpha and noise for different agent populations see the above.
  • PA with most profitable alpha vs noise in [0, 1] for LMSRProfit
  • PA with most accurate alpha vs noise in [0, 1] for LMSRProfit
  • profit with most profitable alpha vs noise in [0, 1] for LMSRProfit
  • profit with most accurate alpha vs noise in [0, 1] for LMSRProfit
  • PA with most profitable noise vs alpha in [0, 1] for LMSRProfit
  • profit with most profitable noise vs alpha in [0, 1] for LMSRProfit
  • PA/profit vs initial conditions both LMSR and LMSRProfit; initial conditions in (0.,100.],(0.,100.]; vary each condition individually and then both of them at the same time.
  • market probability over time (use upper/lower bound); Do we converge to the true probability? Line graph with two lines.
  • PA/profit vs budget (keep population homogeneous)
  • PA vs revenue (write down the revenue/prediction accuracy as it happens)

About

Simulation of the LMSR market maker in (Othman, 2013)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages