Trading Game: Difference between revisions
(→Sell) |
|||
(18 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 | * 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. | At the end of the trading period, the players with a larger Total value win. | ||
Total value = | Total value = P + T*Price | ||
Price = Pol in Liquidity Pool | 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. | 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 | 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 | The goal of the game is to maximize the portfolio's dollar value. | ||
=Game mechanics= | =Game mechanics= | ||
Line 33: | Line 39: | ||
==Initial conditions:== | ==Initial conditions:== | ||
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 ( | 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 = | 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. | ||
# 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 | |||
==Player Actions:== | ==Player Actions:== | ||
Line 59: | Line 62: | ||
The amount of Pol used to Buy and Sell is the independent variable. | The amount of Pol used to Buy and Sell is the independent variable. | ||
The number of Tokens received depends of this given value. | The number of Tokens received (or given to the Pool) depends of this given value. | ||
===Buy=== | ===Buy=== | ||
When player press the Buy button, it buys an amount of | 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 = | 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 73: | Line 76: | ||
'''Player balance is updated:''' | '''Player balance is updated:''' | ||
P = P - | P = P - X<sub>buy</sub> | ||
T = T + | 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 = Token-T<sub>r</sub> | ||
Pol = | Pol = Pol + X<sub>buy</sub> | ||
===Sell=== | ===Sell=== | ||
When player press the sell button, it sells | 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:''' | ||
T<sub>s</sub>=X<sub>sell</sub>*(Token)/(Pol+X<sub>sell</sub>) | |||
''' | '''Player Balances are updated:''' | ||
P = P + X<sub>sell</sub> | |||
T = T - T<sub>s</sub> | |||
''' | '''The Liquidity Pool values are updated:''' | ||
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. | |||
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:
- The number of Token they have.
- The number of Pol they have.
- Total portfolio value.
- The token price in the Liquidity Pool.
- 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.