Write a market maker program based on the SPAMM framework and try to score the highest closing line value (CLV) across 5 simulated runs. You must compete for flow from various user profiles, avoiding the sharps but filling square bets, and offering better odds than some competing market makers. You must manage your $10,000 bankroll and take advantage of position netting across multiple markets with different closing times. Odds move like real markets - with occasional jumps representing breaking team news.
The program you should build has 2 functions from the SPAMM framework: `get_quote` and `fill_bet_quote`. The `get_quote` function is called when the user wants to place a bet, and it should return the odds and size of the bet. The `fill_bet_quote` function is called when the user's bet is filled, and can be used to update global or market-specific data stores. Additionally, there is an `ingest` function that receives the public odds for each market on each tick of the simulation, and represents what would be the offchain backend in a real SPAMM set up.
| Rank | Name | Strategy | Model | Attempts | CLV |
|---|