Trading Game: Difference between revisions

From Seasonal Tokens
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 3: Line 3:
Several players compete to maximize the dollar value of their portfolio consisting of 2 assets: Token and Pol
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.
* The competition takes place at an specified UTC time.


Players watch the same price chart on a website (or Discord/Telegram App)
* The game lasts for half an hour.
Players hear live commentary of the price action.


* 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.


Players buy and sell the token for Pol.


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


Total value = Pol + Tokens*Price
Total value = P + T*Price


Price = Pol in Liquidity Pool / Tokens in LP
Price = Pol / Tokens in the Liquidity Pool.


P and T are the Player's values of Pol and Token respectively.


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.
==Automated Market Making==


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.  
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 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.
The goal of the game is to maximize the portfolio's dollar value.
(a variation can be to maximize the number of tokens)


=Game mechanics=
=Game mechanics=
Line 35: Line 39:
==Initial conditions:==
==Initial conditions:==


LP Has Po Pol, and To Tokens on it, so that initial price = Po/To
At the start the Liquidity Pool Has: P<sub>o</sub> Pol, and T<sub>o</sub> Tokens on it, so that initial price = P<sub>o</sub>/T<sub>o</sub>


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:
All players start with a portfolio of (P<sub>i</sub>,T<sub>i</sub>) initial values of Pol and Token respectively. Therefore the initial total value of the portfolio is:


Total Initial Value = Pi + Ti*(Po/To)
Total Initial Value = P<sub>i</sub> + T<sub>i</sub>*(P<sub>o</sub>/T<sub>o</sub>)


==Players can see:==
==Players can see:==


The number of Token they have.
# The number of Token they have.
The number of Pol they have.
# The number of Pol they have.
The total value of portfolio.
# Total portfolio value.
 
# The token price in the Liquidity Pool.
The token price in the Liquidity Pool.
# A Chart of the token price during the game. (Website or App)
A Chart of the token price during the game interval.
 
 


==Player Actions:==
==Player Actions:==
Line 65: Line 66:
===Buy===
===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)
When player press the Buy button, it buys an amount of X<sub>buy</sub> Pol worth of Tokens: (until you don't have enough balance to buy)


'''The amount of Token received is:'''
'''The amount of Token received is:'''


Tr = Xbuy*(Token)/(Pol+Xbuy) Where Token and Pol are the Liquidity Pool balances.  
Tr = X<sub>buy</sub>*(Token)/(Pol+X<sub>buy</sub>) Where Token and Pol are the Liquidity Pool balances.  


This action causes:
This action causes:
Line 75: Line 76:
'''Player balance is updated:'''
'''Player balance is updated:'''


P = P - Xbuy
P = P - X<sub>buy</sub>


T = T + Tr
T = T + T<sub>r</sub>


'''The Liquidity pool values of Tokens and Pol update:'''
'''The Liquidity pool values of Tokens and Pol update:'''


Token = Token-Tr
Token = Token-T<sub>r</sub>
 
Pol = Pol + Xbuy
 


Pol = Pol + X<sub>buy</sub>


===Sell===
===Sell===


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


'''The number of tokens sold is:'''
'''The number of tokens sold is:'''


Ts=Xsell*(Token)/(Pol+Xsell)
T<sub>s</sub>=X<sub>sell</sub>*(Token)/(Pol+X<sub>sell</sub>)




'''Player Balances are updated:'''
'''Player Balances are updated:'''


P = P + Xsell
P = P + X<sub>sell</sub>


T = T - Ts
T = T - T<sub>s</sub>




'''The Liquidity Pool values are updated:'''
'''The Liquidity Pool values are updated:'''


Token = Token + Ts
Token = Token + T<sub>s</sub>
 
Pol = Pol - X<sub>sell</sub>
 
=Conclusion=
 
At the end of the trading period, the total value of each portfolio is calculated, and the winners are announced.
 
If the game is happening on Discord or Telegram, the Tip bots can be used to give rewards.


Pol = Pol - Xsell
If the game is on a website, users may receive an NFT.
Users can redeem the NFT if they join S.T Discord, and get a token reward in exchange for the NFT.

Latest revision as of 23:18, 10 October 2024

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 Player's values of Pol and Token respectively.


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 portfolio's dollar value.

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. Total portfolio value.
  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

Conclusion

At the end of the trading period, the total value of each portfolio is calculated, and the winners are announced.

If the game is happening on Discord or Telegram, the Tip bots can be used to give rewards.

If the game is on a website, users may receive an NFT. Users can redeem the NFT if they join S.T Discord, and get a token reward in exchange for the NFT.