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 time for 1/2 an hour. (To get people together and have live commentary on the price action)


Players buy and sell the token for Pol.

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

Total value = Pol + Tokens*Price

Price = Pol in Liquidity Pool / Tokens in LP


The game is a simulation of trading with a DEX Liquidity Pool containing two assets, say Token and Pol for example. So that the initial Token price is given by the initial amount of Pol divided by the initial amount of Token.

The game happens at an specified time and it last 1/2 an hour.

Players log into the game platform and are given an initial amount of Token and Pol to use it in trading. 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 or price rises.

The goal of the game is to maximize the dollar value of the portfolio. (a variation can be to maximize the number of tokens)

Game mechanics

Initial conditions:

LP 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:

The number of Token they have. The number of Pol they have. The total value of portfolio.

The token price in the Liquidity Pool. A Chart of the token price during the game interval.


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.

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*(Tokenn)/(Poln+Xbuy) Tokenn is the number of tokens "now" and Poln the number of Pol "now"

This action causes:

Player balance is updated:

P = P - Xbuy

T = T + Tr

The Liquidity pool values of Tokens and Pol update:

Token = Tokenn-Tr Pol = Poln + Xbuy

The Token Price in the Liquidity Pool is now: (Token)/(Pol)

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)


The amount of Pol received is:(Less than the Xsell originally intended)

Pr = Ts*(Pol-Xsell)/(Token)


Pr = Xsell*(Pol-Xsell)/(Pol) = Xsell*(1-Xsell/Pol)

Player Balances are updated:

P = P + Pr

T = T - Ts


The Liquidity Pool values are updated:

Token = Token + Ts Pol = Pol - Pr