An agent-based model of the Havven stablecoin system. This model includes the basic market functionality of Havven, an exchange, and a place for the market agents to live and interact.
The aim is to stabilise the nomin price, but we would also like to measure other quantities including liquidity, volatility, wealth concentration, velocity of money and so on.
Currently the model’s only sources of havven liquidity are Randomizers and MarketMakers, while Bankers are the only ones who want to purchase it (other than short term trades by arbitrageurs). As such, if there are too many Randomizers, without enough Bankers, the price of havvens will tank, taking the havven/nomin price with it.
If the bankers have more backing than the randomizers, the price will shoot up, until the randomizers run out of havvens, or the bankers run out of fiat, which then causes the price to dip as the supply of havvens dries up. At this point the only reason the price goes up is due to arbitrage opportunities arising from nomin shorters, when the nomin price dips below their nomin buy threshold, or rises above their nomin sell threshold.
After this the only real action happening is with the Merchant/buyers, who trade solely in fiat/nomins. Who after a significant while, break the wall created by the nomin shorters, causing the nomin price to tank. The only reason they build enough bank to break the wall is due to the buyers being the only actors in the whole system who have an accumulating wealth.
All market behaviours are accelerated/slowed by increasing/decreasing the number of actors.
For performance, these settings are determined by the selected dataset. In the future, when the source is made available, settings will be dynamically configurable locally.
Reset the simulation after changing settings for them to take effect.