Automating Buybacks


mmm, wait, how is “once a week” different from “weekly cycle”? I am not sure I understand this sentence correctly.

I like the random element, I am sure it must be somewhere embedded in the price calculation. The price frequency is a good proposal : everybody knows the algorithm, but no-one knows the execution time.

Can we please dig deeper into this?

We need a definition of cycle . Since buybacks are designed to start the cycle at low price and increase it at the end of it, it can be caracterized by : a) a total cycle length b)an initial price c)a final price d)a final time at which orders at not placed e) a pointer to the next cycle being f) price increments in % g)how often increment the price …

At each cycle beginnings we may or maynot randomise all or some of these variables. They should all have a lower and upper bound.

(parenthesis : See? not so straighforward as you guys make it sound . )

if we go with quasi random-length cycles should we replace “Sunday, 23:59 PM UTC,” with , “at some unknown point during the weekend” ?

Let’s, for the sake of convenience that walls are placed mon to thursday (like now)… This means basically that during the weekend the price is free to do whatever it wants (and also be manipulated, like it is being manipulated now?) .

Then you suggest to compute the Initial Price using the “Moving average 12 hours” ? Something is not exact here : 1) if its computed once, it cannot be a moving average, it’s an average. 2) if, it’s an average, do you suggest to make it weighted by volume? How often should volume and price be sampled?


Why do you think it won’t last? Maybe you can say “you don’t know how long it will last” .

Good point

let’s keep this ball rolling please


How about:
ICP is a 72 hour average of Friday through Sunday. Orders are placed the first Monday between 75% and 65% parametrically (the randomness is unneccesary in my opinion. Just do a first come first serve thing.) If every order is eaten on Monday, subtract 5% from the price feed for all of next week. On Thursday, it’ll be 95%-105% based on a 24-hour average. On Friday it should successively put up orders starting at 100% and going up to 150% (you can put some randomness here, maybe make the 150% fuzzy with ±5%). At 150%, cancel all orders and wait till Monday.


Could you please make some example with detailed pricing pre-cycle, during cycle in both scenarios (orders getting and not getting consumed during early days of the cycle) ?


ICP (72 hour average): $1. Funds: $100
$33 at $0.65, $34 at $0.7, $33 at $0.75
Tuesday (24 hour average, assume it’s still $1):
$33 at $0.75, $34 at $0.8, $33 at $0.85
Wednesday ($1):
$33 at $0.85, $34 at $0.9, $33 at $0.95
Thursday ($1):
$33 at $0.95, $34 at $1, $33 at $1.05
Friday ($1):
$10 at $1.00, $1.05, $1.1, etc. until $1.5 (prices fuzzed with ±%1 so you might have $1.06 instead of $1.05). Place them every hour (fuzz by 10 minutes). If an order gets eaten at say $1.1, don’t go to $1.15, do $1.1 again. Then, if the funds run out, end the buybacks and delete all orders.


If people sell all funds on monday, the next week everything will be the same, except all prices are lowered by %5, so the ICP for the next week is $0.95 instead of $1. Then, if they are all bought again, the ICP lowers another 5%.


What if we put up an “opposite” ask order of NSR? Say if buyback places a bid at 70% market price, then there should be an ask order of comparable size at 130%. In the end there should be nearly matching ask and bid orders near 100% market price. If the buy wall isn’t consumed by Friday we do something else, such as lifingt the sell wall do open-market purchase. This way it’s probably easier to buy at the “actual” price that people are willing to sell NSR, resisting upward manipulation that occurs during buyback.


that something powerful on an hypotethical NSR/NBT pair


Fundamentally we don’t know the ‘actual’ price. Setting the buy wall could cause Nu to sell under the ‘actual’ price.