Market Maker Momentum - Development Log #538

The language this post was written in (Englisch) differs from the one you have currently selected (Deutsch) as we do not have a translation available at this time.

In this week's devlog Michi talks about implementation details of the dynamic market makers.

Avatar Michi

Michi (molp)

In devlog #535 I announced that we are looking into implementing dynamic market makers. Today I want to show you what we have so far.

So, to recap, the status quo is that we have around ten static market makers that have both an ask and a bid order placed. I tend to call them MMs with closed brackets. The commodities are basic consumables, basic prefabs, fuels and mineral construction granulate. Since these commodities are essential for all players and especially for new players these market makers have two goals: provide unlimited sell orders, so new players will always be able to buy these commodities at any given time. On the other hand they also provide unlimited buy orders so that new players actually can find a buyer for the items they produce.

Then there are the what I call open bracket market makers. There are 56 of them and they all just have the unlimited buy order. They can be found in many material categories, from basic stuff like ores and agricultural products to high-end categories like drones, energy and electronic systems. Their purpose is two-fold: for one, they provide means for new players to sell their products and be able to make money, just like the closed bracket MMs. Secondly, the MMs for high-end products provide a money faucet where new money is introduced into the economy and also encourage some players to build the necessary production chains and run the logistics to build these items.

Since the economy is inflationary for the most part, it happens every once in a while that the upper bracket of a market maker is reached. Usually that means that no one is producing the commodities anymore, because the margins get razor thin. There is no more room to increase the prices to cover production costs. In the past we adjusted these MMs manually. Note that these adjustments are global, for all MMs of this type, no matter the faction/currency.

Now we want to switch to a system that is more dynamic, both in terms of automatically changing the orders as well as only changing the orders in the currency where the limits are actually reached.

In our opinion the best closed bracket MM is one that players never need. Ideally, they should sit at the edges of the order book and their orders should not get matched on a regular basis. So, with the dynamic we introduce we take the average price of the last 10 days and the average between the upper and the lower bracket. The difference between these two values is how much "pressure" the market maker is subjected to. If the 10-day average price sits close to one of the brackets, the pressure is high; if it sits right in the middle, the pressure is low. We do this comparison every day and depending on how large the pressure is, multiply the upper and lower bracket by a factor. If there is pressure on the upper bracket, this will widen the bracket and also increase it, giving the average price new room. We'll do this until the average price sits back in the middle between the two brackets. To prevent too drastic swings the daily change is limited to 2%.

These changes are already live on the test server, but given the low CX activity, not much is visible yet.

As always, we'd love to hear what you think: join us on Discord or the forums!

Happy trading!