Thought experiment: A naive approach to dynamic SBD interest rates

in #steemtalk9 months ago (edited)

Last week, I posted the article, Thinking out loud: When should the witnesses start paying interest on SBDs in savings?, and I have continued my thoughts on the topic since then. We have this SBD interest parameter sitting out there, and it has potentially wide-ranging effects (as detailed in that article), but during the last few years, everyone seems to be ignoring it.

My question from that article remains, does it ever make sense to start using it, and if so, when?

I'm still not suggesting that anyone should take immediate action, but purely as a thought experiment, let's consider one way that the witnesses might start to make use of it.

Given

  • SBD printing slows down when the SBD supply reaches 9% of the STEEM market cap.
  • SBD printing stops when the SBD supply reaches 10% of the STEEM market cap.

Assumptions

  • We want to issue more interest on SBDs when the SBD supply is a low percent of the STEEM market cap.
  • We want to issue less interest on SBDs (or none) when the SBD supply is a (relatively) high percent of the STEEM market cap.
  • SBD interest rate should not be "set and forget". Rather, it should be a frequently adjusted value, like the STEEM price feed.

A possible approach

  1. Choose min and max interest percentages: For this thought experiment, let's say that our minimum is 0% and our maximum is 100%. i.e. we want to pay 0% when the ratio of SBD supply / STEEM market cap is really high, and 100% when it's really low.
  2. Choose minimum and maximum values for the SBD interest ranges: For this example, lets say that SBD interest will only be paid when the SBD supply is between 0% and 8% of the STEEM market cap.
  3. Set SBD interest rates using those values and a linear curve. i.e. like this:
SBD supply / STEEM capInterest rate
0.00100%
0.0187.5%
0.0275%
0.0362.5%
0.0450%
0.0537.5%
0.0625%
0.0712.5%
0.08+0%

Here's some simple python code to calculate and display the values for the curve above:

#!/usr/bin/python3

MIN_RATIO=0.0
MAX_RATIO=0.08
MIN_INTEREST=0
MAX_INTEREST=1

def payInterest ( currentRatio ):
    if ( currentRatio < MIN_RATIO ):
       return 0
    elif ( currentRatio > MAX_RATIO ):
       return 0
    else:
       return ((MAX_RATIO - currentRatio) / (MAX_RATIO - MIN_RATIO)) * ( MAX_INTEREST - MIN_INTEREST )

for i in range(-1,10):
   currentRatio = i/100
   print ( currentRatio, " ", payInterest ( currentRatio ) )

And here is the sample output:

-0.01   0
0.0   1.0
0.01   0.8750000000000001
0.02   0.75
0.03   0.625
0.04   0.5
0.05   0.375
0.06   0.25000000000000006
0.07   0.12499999999999993
0.08   0.0
0.09   0

Of course, there's an infinity of possible dynamic adjustments that could be considered, so my point here is definitely not to suggest that this particular method should be implemented. Basically, I just want to point out that there is some room to think about possibilities beyond just choosing a static value.

In case you're wondering, the current ratio is 0.0808, so today's interest value would be 0 under the formula above.

Price: $0.3210
STEEM supply: 497655688
SBD supply (cap): 12905042
STEEM Market Cap (calculated): 159747476
SBD supply (cap) / STEEM CAP: 0.0808
SBD print rate: 1 (calculated), 10000 (queried)

Lower threshold: 0.259317
Upper threshold: 0.28813

The main drawback that I see to this particular approach is that it doesn't necessarily solve the possible problem of witness profitability that I alluded to in the previous post. It's conceivable that it might, if begun early enough and if it has a positive impact on STEEM prices, but that's far from guaranteed. (and, of course, that might be a complete non-problem anyway)

Another factor that witnesses might want to consider in dynamic pricing would be the internal and external prices of SBDs. For example, they might want to raise/lower the interest rate if the external market prices are above/below a dollar. (Again, I don't have a strong opinion on whether SBD interest would boost or lower external prices over the long term - I could see it going either way. It all depends on how much saving vs. selling takes place.)

Thoughts?


Thank you for your time and attention.

As a general rule, I up-vote comments that demonstrate "proof of reading".




Steve Palmer is an IT professional with three decades of professional experience in data communications and information systems. He holds a bachelor's degree in mathematics, a master's degree in computer science, and a master's degree in information systems and technology management. He has been awarded 3 US patents.


image.png

Pixabay license, source

Reminder


Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.

Sort:  

Long ago, SBD interest was given. I saw that SBD interest was given in the wallet summaries.

Coin Marketplace

STEEM 0.22
TRX 0.20
JST 0.034
BTC 96036.43
ETH 3297.82
USDT 1.00
SBD 3.10