Trading Game

From Seasonal Tokens
Jump to navigation Jump to search

Game Description

Several players compete to maximize the dollar value of their portfolio consisting of 2 assets: Token and Pol

  • The competition takes place at an specified UTC time.
  • The game lasts for half an hour.
  • Players watch the same price chart on a website (or Discord/Telegram App)
  • Players hear live commentary of the price action.
  • Players buy and sell Fixed amounts of Pol on each action.


At the end of the trading period, the players with a larger Total value win.

Total value = P + T*Price

Price = Pol / Tokens in the Liquidity Pool.

P and T are the values of Pol and Token of the player.


Automated Market Making

An Automated Player doing Random buy/sell transactions is added into the game to create a background volatility to stir things up in case no other player acts.

The actions of the random player may produce 3 game scenarios:

  • Price remains constant.
  • Price drops (Bear Market)
  • Price rises (Bull Market)

The goal of the game is to maximize the dollar value of the portfolio.

Game mechanics

Initial conditions:

At the start the Liquidity Pool Has: Po Pol, and To Tokens on it, so that initial price = Po/To

All players start with a portfolio of (Pi,Ti) initial values of Pol and Token respectively. Therefore the initial total value of the portfolio is:

Total Initial Value = Pi + Ti*(Po/To)

Players can see:

  1. The number of Token they have.
  2. The number of Pol they have.
  3. The total value of portfolio.
  4. The token price in the Liquidity Pool.
  5. A Chart of the token price during the game. (Website or App)

Player Actions:

Players can buy or sell Token. To avoid having to decide the exact number of your trades, buy and sell are done in quantized amounts.

If you want to buy more, press the buy button more times. If you want to sell more, press the sell button more times.

The amount of Pol used to Buy and Sell is the independent variable. The number of Tokens received (or given to the Pool) depends of this given value.

Buy

When player press the Buy button, it buys an amount of Xbuy Pol worth of Tokens: (until you don't have enough balance to buy)

The amount of Token received is:

Tr = Xbuy*(Token)/(Pol+Xbuy) Where Token and Pol are the Liquidity Pool balances.

This action causes:

Player balance is updated:

P = P - Xbuy

T = T + Tr

The Liquidity pool values of Tokens and Pol update:

Token = Token-Tr

Pol = Pol + Xbuy


Sell

When player press the sell button, it sells Xsell Pol worth of tokens. (until you don't have enough to sell)

The number of tokens sold is:

Ts=Xsell*(Token)/(Pol+Xsell)


Player Balances are updated:

P = P + Xsell

T = T - Ts


The Liquidity Pool values are updated:

Token = Token + Ts

Pol = Pol - Xsell