И так господа приветствую. Изначально данную тему я задумывал так, чтобы избавить автоматического маркетмейкера от непостоянной потери, однако, это в силу фундаментальных причин оказалось невозможно.
Тем не менее факт остается фактом, такие обменники с автоматическим маркетмейкером торгуют себе в убыток. Это происходит из за того, что ценообразование происходит в пассивном режиме.
Посмотрите на картинку, это обычный велосипедный механический счетчик расстояния:
Он работает, только когда к боковой звездочке прикладывается усилие и проворачивает её в определенном направлении. Без кручения этой боковой звездочки расстояние не считается.
Также и у нас, есть некий обменник с таким же механическим принципом, пока обмен криптовалюты не совершился – цена не изменяется. Фактически такой обменник, как в темноте нащупывает цену.
Однако, если мы пойдем с вами в любой банк, то увидим там обменник не с одной, а с двумя ценами, тоже самое есть и на бирже.
Разница между этими ценами и называется спред. Спред выполняет важную функцию, он не только помогает обменнику зарабатывать, ведь обменник продает нам по более дорогой цене ASK, а покупает у нас по более дешевой BID, но и показывает состояние рынка.
Если спред узкий, то рынок ведет себя спокойно и там нет неопределенности в цене, такая цена устраивает, как покупателей, так и продавцов.
Но вот, появляется какое-то неожиданное и важное событие или новость и цена либо резко пошла вверх, либо вниз.
У любого банковского обменника вверх или вниз резко пойдет одна цена, спред расшириться и тем самым показывая, что на рынке сейчас появилась неопределенность и не совсем понятно по какой цене считать.
У обменника типа Uniswap только одна цена и она пойдет вверх или вниз. И именно в условиях неопределенности такие обменники и теряют деньги на обменах.
Просто представьте, что кто-то по ошибке загрузил большую сумму крипты на продажу в обменник типа Uniswap, цена скажем просела с 1000 до 500. В то время, как у остальных этого не было и цена где-то в пределах 900-1000. Вот тут и появляются арбитражеры, которые видят, что могут у этого обменника купить дешевле по 500 и продать другим уже за 1000.
Именно из за отсутствия спреда инвесторы пулов ликвидности и теряют деньги на таких обменах, давая заработать хорошо арбитражерам.
Вот именно эту проблему и решает мой тип автоматического маркетмейкера с плавающим спредом.
Давайте сразу перейдем к скриншоту и я буду всё объяснять с расчетами:
В нашем обменнике применяется также классическое ценообразование с коэффициентом:
k=ETH*USDC=1,000*1,000,000=1,000,000,000
В отличие от комиссии на обмен у Uniswap 0.03% мы применяем более меньшую комиссию в 0.01%, плюс минимальный спред также в 0.01% (посмотрите на начальные цены BID=1000 и ASK=1010).
Как вы видите из расчетов у нас в обменнике было 1,000.00 эфира ETH и вот кто-то решил продать для нашего обменика эфира ETH равную всему нашему запасу. Давайте теперь подсчитаем курс по которому мы купим этот эфир у него:
- для начала подсчитаем сколько у нас всего будет эфира, после покупки:
1,000+1,000=2,000.00 ETH;
- подсчитаем сколько всего должно получиться стейблкоинов с таким новым количеством эфира:
USDC=k/ETH=1,000,000,000/2,000=500,000.00 USDC;
- теперь подсчитаем сколько денег у нас пойдет на покупку 1,000 ETH:
1,000,000-500,000=500,000.00 USDC;
- теперь подсчитаем курс по которому пройдет данная сделка, а это количество стейблкоинов, которые мы хотим потратить на покупку эфира, разделить на количество покупаемого эфира:
500,000/1,000=500.00.
Теперь посмотрите наш скриншот , строка с зеленой 1,000.00. Зеленый цвет означает покупку 1,000.00 эфира ETH, далее столбец в этой строке USDC означает сколько денег у нас должно остаться, а именно 500,000.00, чуть вправо число 500,000.00 это разница между первоначальным значением USDC и текущим, а фактически означающим сколько денег и идет на покупки этих эфиров.
Теперь обратите внимание в этой строке на столбец BID, там значение 500.00 это и есть наш вычисленный курс.
Таким образом до текущего момента всё это работало одинаково, как и у обменников типа Uniswap.
Однако Вы видите в этой строке и столбец с ценой ASK. Первоначально он был равен 1010.00, а теперь стал 757.50.
Цена ASK – это цена по которой вам обменник продает эфиры. После резкого падения цены, курс BID – покупки эфиров этим обменником рухнул на 50%, а вот уже курс продажи эфиров ASK этим обменником рухнул только на 25%.
Такая ситуация со спредом дает нам следующее: если мы будет опять покупать эфиры, то будем вести отчет от цены BID, а вот если мы будем продавать эфиры, то будем вести отчет от цены BID, но продавать по цене ASK.
Чтобы было наглядно и понятно, предлагаю обратить внимание на следующую строку вниз от зеленой, там вы видите уже значение 500 красным, что означает, что мы теперь продаем 500 эфира от имеющихся у нас 2000 эфиров.
Давайте теперь подсчитаем данные по продаже этих 500 эфиров:
- для начала подсчитаем сколько у нас всего будет эфира, после продажи:
2,000-500=1,500.00 ETH;
- подсчитаем сколько всего должно получиться стейблкоинов с таким новым количеством эфира:
USDC=k/ETH=1,000,000,000/1,500=666,666.67 USDC;
- теперь подсчитаем сколько денег у нас пойдет на продажу 500 ETH:
666,666.67-500,000=166,666.67 USDC;
- теперь подсчитаем курс по которому пройдет данная сделка, а это количество стейблкоинов, которые мы хотим потратить на покупку эфира разделить на количество покупаемого эфира:
166,666.67/500=333.33.
И так мы видим, что курс продажи эфира намного меньше, чем наш курс покупки эфира, поэтому цену BID не меняем, а оставляем прежней 500, а вот продаем мы по цене ASK и именно по этой цене и видит человек продажу ему эфиров и пока скажем так внутренний расчетный курс не перебьет цену ASK по ней и продаем.
В этой строке прошу обратить внимание впрво, на красное выделенное число 378,750.00 это именно столько денег нам принесет продажа по цене ASK.
Теперь сравните, продажа эфира, как у Uniswap, нам принесла бы только 166,666.67 USDC в то же время продажа по нашей модели по цене ASK принесет 378,750.00 USDC.
Теперь, чтобы наши расчеты не сбивались, то мы считаем, что наш обменник продал только на сумму 166,666.67 USDC, а остальная сумма (крайняя справа выделенная красным) 212,083.33 уйдет на дивиденды.
Продажа второй партии 500 эфиров, пройдет аналогичным образом. Обратите внимание, что спред изменился, наша цена продажи ASK не изменилась, а вот цена BID подтянулась до значения 666.67. Излишки денег опять ушли на дивиденды.
Теперь обратите внимание на продажу следующей партии 500 эфиров, здесь уже внутренний курс перебил цену ASK и стал 2,000, тогда мы подтянули цену ASK к цене BID добавили 0.01% и получили новую цену ASK, по которой и продали эти 500 эфиров. Излишки денег опять отправили на дивиденды.
Также хочу пояснить одну вещь, в модели этого обменника важен порядок прохождения заявок. Условно прошла заявка на продажу нам большой суммы эфиров, курсы стали BID=500 и ASK=757,50. Если проходит ещё одна заявка на продажу нам эфиров, то есть получается 2 заявки подряд на продажу нам эфира, то спред схлопывается до своего минимального значения допустим уже становиться после 500 и последующей еще продажи, следующим BID=450.00 и ASK=450.05. В данном случае важен принцип: лучше лишний раз схлопнуть спред до минимального, чем потерять на обороте. Так как если цены станут не выгодны, обмен прекратиться и надо будет ждать момента, когда цены выйдут из диапазона и они существенно изменится, чтобы наши цены были снова выгодны или хотя бы адекватны рынку.
Теперь предлагаю сравнить различные обменики по прибыльности, для инвесторов взаимных пулов.
Напомню, что комиссия берется всегда в том, в какой валюте вы отсылаете. При нашем обмене, комиссия будет браться при продаже эфира обменнику в эфирах, а при покупке эфиров у обменника в стейблкоинах USDC.
В скриншоте приведены 3 модели:
- Обменник с комиссией 0.1% от суммы обмена;
- Обменник с комиссией 0.3% от суммы обмена, пример Uniswap;
- Обменник с комиссией 0.1% от суммы обмена плюс плавающий спред;
Вот результаты и подсчет при курсе расчета ETH/USDC=2000:
- Обменник с комиссией 0.1% от суммы обмена принес 3,767.50 USDC;
- Обменник с комиссией 0.3% от суммы обмена, пример Uniswap,принес 10,500.00 USDC;
- Обменник с комиссией 0.1% от суммы обмена плюс плавающий спред, принес 271,267.50 USDC;
Вот и сравните сами результаты, но самое главное не это. Данный обменик, как бы диверсифицирует наш доход, он позволяет комиссией зарабатывать на объеме, а вот спредом уже зарабатывать на разнице цен при больших раздвижках.