Author

Topic: BitShare Simulation Game Discussion (theory / economics in old thread) (Read 2017 times)

newbie
Activity: 42
Merit: 0
I like this game a lot
hero member
Activity: 770
Merit: 568
fractally
I will be honest I haven't done the math to analyze your posts yet... (I'll get to it) but I did discover the coving of a short position "issue" in my work on the theory behind this.

If I mortgage 10 BS  for 5 cUSD  then it is only profitable for me to cover my position if I can buy 5 cUSD for less than 10 BS.

If the exchange rate goes the other way... and it now costs 100 BS to buy 5 cUSD then I will never be able to close my short position at a profit.  In fact my 'losses' could be infinite!

Fortunately, there is a HUGE difference between shorting in my system and traditional banks.  All losses are merely OPPORTUNITY LOSSES and not DEBTS.   This does not represent a problem for the network because the short position is still providing backing / insurance against the price moving back the other way.

An analogy to this is that you sold 1 BTC at $0.05. .. and now you have the option to buy BTC with $0.05 but because the market price is now $130 you "lost money" by being short.   You were never in debt, yet it was still a 'dumb' move.
hero member
Activity: 714
Merit: 500

I have one question: Isn't there a problem to implement the closing of a short position in the blockchain? Let's look at our simulation so far and hypothetically continue it in a way that you want to redeem your short position:

1) Bytemaster minted 10 cUSD with 5.5 MortgagedBS for cUSD @ .55 BS
2) greBit minted 20 cUSD with 10.2 MortgagedBS for cUSD @ .51 BS
3) Bytemaster sold 10 cUSD to nomailing
4) Bytemaster buys 10 cUSD from greBit
5) Bytemaster redeems his short-position (minted 10 cUSD @ .55 BS) with the bought 10 cUSD from greBit (minted 10 cUSD @ .51 BS).

As I understand so far you would have to implement #5 somehow like this:
In the blockchain you would have to annotate the tx-out of your newly bought 10 cUSD as now having the native currency unit BS again. But the underlying value of the tx-out is 10x0.51 BS in comparison to the 10x0.55 BS, which you would like to receive. So you have to redistribute all tx-outs, which are annotated in cUSD, in the blockchain. Only if the blockchain somehow redistributes the tx-outs you can redeem your 5.5 MortgagedBS by reminting the bought cUSD to BS. Otherwise you would only get 5.1 BS back, because you bought cUSD which were minted at a different rate.

I am not familiar enough with all bitcoin internals to know if this is easy to implement... But, is my reasoning in the example above correct? Is this redistribution of MBS neccessary when you want to close your short position?

Does it not work in the other way ... so in 5) Bytemaster redeems his cUSD(minted @ .55 BS) with cUSD(minted @ .51 BS) giving him a loss.

So on minting cUSD, Bytemaster is really hoping that in the future he will be able to buy back cUSD at a lower cost (i.e. the value of BS decreases against cUSD)

Whereas the holders of BS are doing the opposite, hoping that BS will increase against dollar


Edit: im talking bollocks
full member
Activity: 126
Merit: 100
I am starting to think that to keep these things 'straight' we need a computer to track all of the orders and display in real time what all prices/interest rates are.

I am making too many math errors by hand to accurately play the market.

So I tell you all what, give me a day or 2 and I will get a simple web-app up that will allow us to experiment with the result.

I am thinking when you 'login' you get an account with 100 sUSD.
It allows you to place all of the orders and tracks all interest rates.

It will then automate the 'interest' process and you can watch your balances update.

We can then track each of our 'networths' in real time to see who is getting ahead and who is falling behind..


Yeah this is a much better idea.

I know you won't want to spend weeks developing the app but it would be nice if ....

  • enough data be kept so we have the option of seeing a 'replay' of the game - so as to examine the behaviour of different players - and how it affects the market
  • an API could be exposed so I could create a simple bot to try and win the game!

Also how do you plan on simulating the BS / USD market price ? It would be nice to see how the currency works in times of crazy volatility.

If you want a hand with development, I have some time available...



I could also help with development if needed (depending on which language you use).
Now I am really curious about the simulation and the resulting data. Hopefully it will help us to better understand the concept and maybe improve it if there are some weaknesses/flaws.

I have one question: Isn't there a problem to implement the closing of a short position in the blockchain? Let's look at our simulation so far and hypothetically continue it in a way that you want to redeem your short position:

1) Bytemaster minted 10 cUSD with 5.5 MortgagedBS for cUSD @ .55 BS
2) greBit minted 20 cUSD with 10.2 MortgagedBS for cUSD @ .51 BS
3) Bytemaster sold 10 cUSD to nomailing
4) Bytemaster buys 10 cUSD from greBit
5) Bytemaster redeems his short-position (minted 10 cUSD @ .55 BS) with the bought 10 cUSD from greBit (minted 10 cUSD @ .51 BS).

As I understand so far you would have to implement #5 somehow like this:
In the blockchain you would have to annotate the tx-out of your newly bought 10 cUSD as now having the native currency unit BS again. But the underlying value of the tx-out is 10x0.51 BS in comparison to the 10x0.55 BS, which you would like to receive. So you have to redistribute all tx-outs, which are annotated in cUSD, in the blockchain. Only if the blockchain somehow redistributes the tx-outs you can redeem your 5.5 MortgagedBS by reminting the bought cUSD to BS. Otherwise you would only get 5.1 BS back, because you bought cUSD which were minted at a different rate.

I am not familiar enough with all bitcoin internals to know if this is easy to implement... But, is my reasoning in the example above correct? Is this redistribution of MBS neccessary when you want to close your short position?
hero member
Activity: 714
Merit: 500
I am starting to think that to keep these things 'straight' we need a computer to track all of the orders and display in real time what all prices/interest rates are.

I am making too many math errors by hand to accurately play the market.

So I tell you all what, give me a day or 2 and I will get a simple web-app up that will allow us to experiment with the result.

I am thinking when you 'login' you get an account with 100 sUSD.
It allows you to place all of the orders and tracks all interest rates.

It will then automate the 'interest' process and you can watch your balances update.

We can then track each of our 'networths' in real time to see who is getting ahead and who is falling behind..


Yeah this is a much better idea.

I know you won't want to spend weeks developing the app but it would be nice if ....

  • enough data be kept so we have the option of seeing a 'replay' of the game - so as to examine the behaviour of different players - and how it affects the market
  • an API could be exposed so I could create a simple bot to try and win the game!

Also how do you plan on simulating the BS / USD market price ? It would be nice to see how the currency works in times of crazy volatility.

If you want a hand with development, I have some time available...

hero member
Activity: 770
Merit: 568
fractally
Without accurate accounting I do not know that any of us can trust the outcome of this simulation.
hero member
Activity: 770
Merit: 568
fractally
And most importantly, it will track the price of BS vs sUSD  vs cUSD
hero member
Activity: 770
Merit: 568
fractally
I am starting to think that to keep these things 'straight' we need a computer to track all of the orders and display in real time what all prices/interest rates are.

I am making too many math errors by hand to accurately play the market.

So I tell you all what, give me a day or 2 and I will get a simple web-app up that will allow us to experiment with the result.

I am thinking when you 'login' you get an account with 100 sUSD.
It allows you to place all of the orders and tracks all interest rates.

It will then automate the 'interest' process and you can watch your balances update.

We can then track each of our 'networths' in real time to see who is getting ahead and who is falling behind..
hero member
Activity: 770
Merit: 568
fractally
If you own 1 BS you get .1 BS / year or 10% return on investment.
If you own 1 cUSD you get  .052 BS / year which when converted at the last exchange rate .51 to cUSD err... I was wrong you are earning 10.1%... crap, that means I need to buy some cUSD!  *edit.. fixed math*
full member
Activity: 126
Merit: 100
greBit and nomailing both 'lost' money (opportunity cost) on their cUSD holdings because they minted at an interest rate lower than the interest rate paid by holding BS and didn't sell their cUSD to anyone for real dollars....

why did a 'lost' money? In my opinion I get interest for my cUSD, which you issued to me @.55BS which is more than the current exchange rate. So I should have made a profit, or am I wrong?

in other words, I anticipated the rise of cUSD value...
hero member
Activity: 770
Merit: 568
fractally
I didn't actually apply that interest to the shares... though I think what we need to do is have a regular interest application... because interest is what drives this whole idea.   So, I will give you all time to make any last transactions you want to make before the next interest payment is issued.
hero member
Activity: 770
Merit: 568
fractally
So here is what happens next... another round of dividends comes around...

greBit and nomailing both 'lost' money (opportunity cost) on their cUSD holdings because they minted at an interest rate lower than the interest rate paid by holding BS and didn't sell their cUSD to anyone for real dollars....

meanwhile, bytemaster is still earning 10% on his sUSD and his BS.  
full member
Activity: 126
Merit: 100
Buy 20 @ 0.51 BS  (nomailing)
Mint 20 cUSD (backed by max 0.51 mBS)
hero member
Activity: 770
Merit: 568
fractally
Ok... the problem with getting into the numbers is that it makes your head spin.... I am trying to resolve nomailing desire to sell 10 cUSD for 1 BS  with your desire to Buy 20 @ .51..

So the real question is what happens now when someone wants to cash out.
hero member
Activity: 770
Merit: 568
fractally
Transaction log updated, please double check that I updated all balances accurately.

As a result of your new issuance, you just caused cUSD to pay a lower interest rate... 
hero member
Activity: 770
Merit: 568
fractally
greBit placed a buy order for 20 cUSD at 0.51BS
Then he decides to mint 20 crypto-USD at that price.
No one with cUSD is willing to sell at 0.51BS... so his mint order goes through.
hero member
Activity: 770
Merit: 568
fractally
Ok, I will add that to the books and think it over.
hero member
Activity: 714
Merit: 500
I would like to try and do a self-issue of cUSD.

So firstly I will make a buy order a little bit bigger than the maximum one,

Buy 20 @ 0.51 BS  (greBit)

Then a block later,

I want to mint 20 crypto-USD in response to the highest bid


full member
Activity: 126
Merit: 100
Ok, because at the moment there are no sell order, I will try to make a profit by setting some high price:

Sell 10 cUSD @ 1 BS
hero member
Activity: 770
Merit: 568
fractally
So lets try to play some game theory here... go ahead and tell me your strategy for getting cUSD to be different than sUSD.

Perhaps we can attempt to do some 'rapid' transactions that make sense for all parties and will move the price.
full member
Activity: 126
Merit: 100
Guys, I am open to advice on how to clean up the transaction thread... to make it easier to understand the market...

I would suggest to format the mortgage as MBS instead of mBS so that there is no confusion with milliBS. *EDIT* or some other letter.
hero member
Activity: 770
Merit: 568
fractally
So what we have going on here is everyone wants to buy cUSD at a bargain... and no one is willing to sell their cUSD at a loss.
hero member
Activity: 770
Merit: 568
fractally
Thanks for the correction, the balance is updated.

Well, what you really want to do is buy cUSD so you need to place a bid.    

So, let me place that bid in the chain for you.   Buy 20 cUSD @ .25 BS
full member
Activity: 126
Merit: 100
Still not quite sure how I should formulate it, if I want to mint some cUSD to myself. I will try it like this:

I want to purchase 20 cUSD for 5 BS.
I want to mint 20 cUSD (backed by 5 BS) in response to the highest bid.
*EDIT* is it possible to add a limit to my second order?


So I will back 1 cUSD with 0.25 mBS, right?
(btw, please correct my balance: subtract the 10 sUSD that I paid to you for the 10 cUSD)
hero member
Activity: 770
Merit: 568
fractally
Guys, I am open to advice on how to clean up the transaction thread... to make it easier to understand the market...

Lets quote all prices in terms of BS.   So say you want to Buy 20 cUSD at 0.4 BS.  THat way we don't all have to re-normalize our orders.

So my analysis of the market is that no one is currently looking to buy crypto-USD because all offers to buy cUSD are below market value. 

So what are the bids do we have for sUSD to buy or sell? So what is going on with sUSD... anyone want more BS or perhaps to sell the BS you have and start earning 10% interest on your USD outside the chain?   Currently the interest rate being paid on cryptoUSD is .055 / .6 = 9% / year... so you could sell your cUSD now and start making more money the next dividend period.
hero member
Activity: 770
Merit: 568
fractally
Your bid has been posted in the block chain and it cost you .1 BS transaction fee.
hero member
Activity: 714
Merit: 500
I want to purchase 20 cUSD for 8 BS
hero member
Activity: 770
Merit: 568
fractally
Bytemaster is looking to get back into crypto-USD, so makes an offer IN THE BLOCKCHAIN to buy  10 cUSD for   5 BS   and pay a 0.1BS transaction fee.


(Note your goal in all of these trades is to cause sUSD / cUSD to diverge from 1.0 and not recover)
hero member
Activity: 770
Merit: 568
fractally
THis is a learning experience for me as well, so I hope you can bear with me.  A more natural way for me to express my offer is to say I will offer you 1 crypto-USD, lets just use cUSD for short in exchange for 1 sUSD earning 0.055 BS / year interest.   
full member
Activity: 126
Merit: 100
nomailing:  thanks for joining.  As both of your offers involve sUSD they cannot go into the blockchain, so we will pretend they were posted on craigslist.

What you are really saying is that you want to buy crypto-USD provided its value is near par with sUSD.    The last trade established sUSD to be worth 0.6 BS, therefore a crypto-USD could be issued for 0.6 BS and have parity.   If you would like to purchase some crypto-USD, I will gladly mint some for you at 0.55 BS.



ahh Ok, thanks.
I will accept that. So I pay you 10sUSD for 10 cryptoUSD (minted at 0.55 BS).
hero member
Activity: 770
Merit: 568
fractally
I have updated the transaction table for the game.  

Bytemaster has an open offer to mint up to 10 crypto-USD earning interest equal to the dividends from  0.6 BS per crypto-USD and I will sell them for 65 sUSD.

hero member
Activity: 770
Merit: 568
fractally
nomailing:  thanks for joining.  As both of your offers involve sUSD they cannot go into the blockchain, so we will pretend they were posted on craigslist.

What you are really saying is that you want to buy crypto-USD provided its value is near par with sUSD.    The last trade established sUSD to be worth 0.6 BS, therefore a crypto-USD could be issued for 0.6 BS and have parity.   If you would like to purchase some crypto-USD, I will gladly mint some for you at 0.55 BS.

full member
Activity: 126
Merit: 100
nice. I also want to participate. I hope your concept will work out although everyone is quite skeptical about it Smiley

I want to purchase 100 BitShares for 60 simulated USD, send BitShares to address nomailing1.
I want to purchase 10 Crypto-USD for 10 simulated USD if on average 1 Crypto-USD is backed by at least 0.9 BitShare. send CryptoUSD to address nomailing1.

I assume I can add this condition in my second order to be sure that the crypto-USD is backed by enough bitshares, right?
hero member
Activity: 770
Merit: 568
fractally
Just for the sake of getting this game going, we will disconnect the relationship between between BS and sUSD and let the simulation market handle derive the price.   So I will accept your offer.  This will establish the exchange rate between BS and sUSD to bd 100 BS to 60 USD and thus we have our starting price.
hero member
Activity: 714
Merit: 500
I want to purchase 100 BitShares for 60 simulated USD, send BitShares to address BS_GREBIT
hero member
Activity: 770
Merit: 568
fractally
This game is supposed to be exploratory in nature, so lets just get going and we will clarify the rules as we go.   The KEY thing bing that what ever the rules end up being reflect actual economics *and* are implementable on a blockchain.  No rules that could not be introduced into a blockchain code will be allowed.
hero member
Activity: 714
Merit: 500
Cool, sign me up to play this game.
hero member
Activity: 770
Merit: 568
fractally
This thread will be used to discuss transaction in the BitShare Simulation thread.  Questions about the rules, how they apply what transactions are valid can be asked here.

I recently updated the rules to add an additional transaction type for 'minting' the crypto-USD.

THis came will only use one sub-currency, crypto-USD.
Jump to: