Битката на ботовете: как маркетмейкърите се борят с нея на крипто борсите

В месеците между декември 2017 г. и март 2018 г. създадох бот, който изпълни около 50 милиона долара сделки за търговия с криптовалути. Това е историята на това как попаднах на пазара, теорията за алгоритмите на бота и конкуренцията, която се разрастваше между производителите на пазара.

FOMO

Ноември 2017 г. - Цената на биткойн бързо се увеличава към 10 000 долара. Експоненциалното му покачване на цените го тласка все повече в масовото съзнание всяка седмица, привличайки още повече инвеститори, тласкайки цената още повече.

През това време съм на почивка с двама приятели. И двамата бяха инвестирали незначителни суми от собствените си пари в биткойн и печелеха от нарастващата цена. Като единственият от тримата, който дори не е мислил да инвестира преди, чувствам, че пропускам.

Когато се прибера вкъщи от пътуване, едно от първите неща, които правя, е да намеря онлайн борса за криптовалута и да депозирам $ 500 в сметка. Искам да яхна вълната, моят план е прост: купете биткойн на стойност 500 долара и увеличете инвестицията си, ако видя възвръщаемост.

Спредовете

Преди да дръпна спусъка на инвестицията си от 500 долара, забелязвам нещо странно; борсата, на която търгувах, има голям „спред“. За да разберем какво е разпространението и защо това е значително, трябва да разгледаме някои основи за това как работи борсата.

Обикновено, когато мислим за борсово търгуван актив, като за акция, ние мислим за него като за фиксирана цена, на която можем да го купим или продадем. Например, можем да помислим за акция на Apple (AAPL) с цена от 100 долара. В действителност, въпреки че няма една единствена цена, а по-скоро има две различни цени:

  • Офертната цена. Това е максималната сума, която всеки на борсата е готов да плати за актив.
  • Цената за запитване. Това е минималната сума, за която всеки на борсата е готов да продаде актива.

Повечето купувачи са готови да платят по-малко, отколкото продавачите са готови да продават и затова офертната цена на актив винаги ще бъде под цената на запитване.

В случая с акциите на Apple, тези две цени вероятно ще са много близо. Офертата може да бъде $ 99,99, а цената на запитване $ 100,01. Разликата между тези две числа ($ 0,02) е това, което наричаме спред.

Разпространението е малко на популярна, стабилна акция като Apple. Това е така, защото винаги има много хора, желаещи да закупят акциите, което води до покачване на цената на офертата и много желаещи да продадат, което натиска надолу цената на заявка. Конкуренцията между купувачи и продавачи тласка офертата и изисква цени, близки една до друга.

Когато за пръв път започнах да разглеждам борсите за биткойн, спредовете бяха много по-големи, често до 100 долара. Биткойн се търгуваше за около 10 000 долара през това време, което означава, че разпространението му може да бъде до 1% от общата му стойност (в сравнение с едва 0,02% в примера на Apple.

Размерът на разпространението на биткойн беше следствие от пазарния хаос, който се появи през декември 2017 г. На пазара навлезеха инвеститори на дребно - вие, аз, обикновеният човек на улицата. Цените бяха толкова променливи в резултат, че спредовете никога не можеха да се стабилизират.

Големите спредове може да звучат като лошо нещо и до известна степен са, но също така представляват възможност за печалба.

Нека да кажем, че Bitcoin има офертна цена от 9 900 долара и цена на запитване от 10 000 долара, което му дава спред от 100 долара. Ако имате възможност да закупите 1 биткойн за 9 900 долара и след това да го продадете веднага след това на 10 000 долара, току-що направихте печалба от 100 долара.

Създатели и предприемачи

Ако мислите, че това звучи твърде добре, за да е истина, значи сте прави. Една от причините да сте скептични към горното идва от въпроса: какво ще кажете за таксите за обмен? За да видим как таксите се вписват в това, трябва да предприемем още едно леко заобикаляне на начина, по който работят борсите.

Да речем, че искате да купите биткойни, които се търгуват с офертна цена от 9 900 долара и цена от 10 000 долара. Като цяло има два начина за това:

Първо можете да изпратите поръчка на производител. Това е мястото, където посочвате цена навсякъде до цената на запитване - така че между 0 и 10 000 долара - и количество, което желаете да закупите. Поръчката ви седи на борсата, докато някой не дойде и не реши да ви поеме по тази поръчка. Това може да се случи милисекунди или дни по-късно, в зависимост от това колко висока е цената ви и обема на борсата.

Освен това можете да изпратите поръчка за такер. Това е точно обратното на поръчката на производител и ще ви позволи да закупите биткойн незабавно. Уловката обаче е, че поръчката ви за вземане е съпоставена с най-ниската цена от всички поръчки на производител на продажба. Естествено, това ще бъде на цената на запитване, защото това е най-ниското, за което всеки е готов да продаде.

Преди да продължим напред, има няколко важни неща, които трябва да отбележите относно поръчките на производители и предприемачи:

  1. Всеки път, когато биткойн бъде продаден или закупен, ще има един производител и една поръчка за вземане. Не можете да търгувате с двама производители или двама.
  2. Ако решите да извървите маршрута на производителя, ще трябва да предложите цена, равна или по-висока от офертната цена, за да имате добър шанс продавача да приеме вашата поръчка.
  3. И накрая, производителите поръчки добавят това, което наричаме ликвидност, на пазар; те предоставят повече възможности за други на борсата да купуват и продават. Името им идва от факта, че правят ликвидност. За разлика от това поръчките за вземане отнемат ликвидност от пазара, тъй като те премахват поръчките на производителите от борсата.

Последната точка е от решаващо значение, тъй като помага да се обясни структурата на таксите, която повечето борси имат. Тъй като борсите искат да увеличат ликвидността, те обикновено таксуват по-високи такси при поръчки на такси, отколкото при поръчки на производители. Някои борси, включително тази, която използвах, таксуват само такси за таксуване: има 0% такси при поръчки на производители.

Назад към нашия по-ранен пример. Ако можем да закупим биткойн за 9 900 долара и да продадем за 10 000 долара само чрез поръчки на производители, тогава имаме 100 долара чиста печалба за всеки биткойн, който извършваме.

Необходимостта от използване на поръчки на производители не е само за избягване на такси, но идва и от факта, че ако купихме с поръчка на такер, ще трябва да платим цената на запитване - 10 000 долара. Ако след това сме продали чрез поръчка на такер, ще трябва да продадем на офертната цена - 9 900 долара - да ни загуби 100 долара.

Така че, използвайки поръчки на производители, можем почти да гарантираме печалби, като купуваме на офертната цена и продаваме на цената на запитване. Има обаче един последен проблем, който представлява най-голямото предизвикателство да се направи алгоритъм, който може да направи това програмно.

Както докоснахме по-рано, поръчка на производител се нуждае от поръчка на такер, за да дойде и да я „вземе“, преди да може да се случи търговия. Поръчките на поръчките винаги ще вземат най-добрата цена. Ако искате да купите биткойни чрез поръчка на производител, тогава, за да може поръчките на такер да съответстват на вашата поръчка, ще трябва да наддадете малко над цената на офертата. Колкото над офертната цена, която предлагате, няма значение, тя може да бъде с сума, малка колкото един цент, напр. $ 9,900.01.

Ето защо първата стъпка за създаване на пазарен бот е да можете да пускате поръчки за купуване (производител) малко над текущата цена на офертата. Това изисква една заявка за API за проверка на офертната цена и друга за изпращане на вашата поръчка.

На теория е добре да предложите само един цент над офертната цена. На практика обаче, във времето между проверка на офертната цена и подаване на вашата поръчка, цената на офертата често ще се променя. За да сте сигурни, че вашата поръчка седи по-високо от всички останали поръчки за покупка и така задава новата офертна цена, често е препоръчително да наддавате на 5-10 ¢ над текущата офертна цена.

Това гарантира, че ако влезе поръчка за продажба (такер), тя ще бъде съпоставена с нашата поръчка за покупка (производител) и ние ще купим колкото се може повече биткойн, без да губим нищо от таксите.

Тогава можем да направим точно обратното на това, което току-що направихме, от страна на продажбата. Проверяваме текущата заявена цена и наддаваме няколко цента под тази. Това гарантира, че ако влезе (поръчка за покупка) поръчка за покупка, тя ще бъде съпоставена с нашата (производител) поръчка за продажба.

Току-що щяхме да направим подредена печалба, приблизително равна на спред (разликата между цените за предлагане и предлагане), умножена по колко биткойни успяхме да търгуваме.

конкуренция

Ако все още мислите, че това е твърде лесно, за да е истина, значи все още сте правилни. Винаги, когато има очевидна възможност за печалба, търговците се трупат и това създава конкуренция. Най-очевидният пример за това може да се види, ако разгледаме конкуренцията, създадена от създателите на пазара, които се блъскат помежду си за определяне на офертната цена. (Не забравяйте, че трябва да имате поръчка за покупка на офертната цена, за да можете да извършите сделка, следващия път, когато поръчката на продавача ще вземе поръчка)

През декември 2017 г. конкуренцията беше толкова силна, че цената на офертата обикновено се променя многократно в секунда. Често той би се увеличил само с един или два цента, тъй като търговците се бориха помежду си, за да увеличат максимално времето, което определят офертната цена, като същевременно искат да предложат възможно най-ниска цена.

Първоначално моят бот се опита да провери офертната цена и да наддаде с 1 ¢ по-висока. Както изглеждаше първоначално, установих, че до момента, в който поръчката ми премина, често ще съм с няколко цента под (постоянно променящата се) цена на оферта.

За да заобиколя това и да гарантирам, че колкото се може повече от моите поръчки биха победили текущата офертна цена, аз направих измервания на това, колко обикновено цената се променя на всеки 100 минути. Това позволи на моя бот да предложи достатъчно висока цена от офертната цена (~ 5 ¢ по-висока), така че други търговци да не бият моята цена, докато поръчката ми се обработваше.

Аз също започнах да обмислям как размерът на спред ще се отрази на това колко съм готов да предложа над сегашната цена на предлагане. Както видяхме по-рано, печалбата от всяка търговия е пряко пропорционална на размера на спред. Това направи още по-важно да се победи цената на офертата, когато спредът беше голям. Поради това написах формула, която варира колко по-висока от офертната цена, която бих предложила, въз основа на размера на спреда.

Досега говорих предимно за аспекта на пазаруване на пазарно производство, но продажбата работи точно по същия начин. Веднага щом сте закупили своя Bitcoin, трябва да го разтоварите на (по-високата) цена на заявка. Няма да има конкуренция за цената на запитване, точно както беше цената на офертата, така че трябва да подбиете конкурентите си, като предлагате продажна цена с няколко цента по-ниска от текущата цена на заявка.

В края на 2017 г. / началото на 2018 г. обаче обикновено имаше много по-малка конкуренция за цената на запитване. Тогава предположих, че това е така, защото има повече търсене, отколкото предлагане на биткойн, обяснявайки защо има повече конкуренция сред купувачите, отколкото продавачите.

Пазарна манипулация

Пазарната манипулация се отнася до различни злонамерени тактики, които търговците използват на пазарите, за да получат несправедливо предимство. Като нерегулиран пазар борсите с криптовалути бяха (и все още са) узрели с пазарна манипулация. Най-честата форма на манипулация беше това, което се нарича измама, актът на подаване на поръчки, просто да се промени външния вид на пазарните условия.

За да дадете пример как става това, помислете за примера от по-ранна цена с 9 900 долара оферта и 10 000 долара. Разпространението ни тук е 100 долара, което представлява добра възможност за пазарни продажби. Ако някой идва заедно и пусне поръчка за покупка с цена от 9 999,99 долара, тогава спредът се свива до едва 1 ¢. При толкова малък размах изглежда невъзможно да спечелите от пазарни пазари и цялата активност се спира.

Купувач, който направи поръчка на производител с 1 ¢ под цената на запитване, сам по себе си не е пазарна манипулация. Всъщност, ако вашата борса не начислява такси на производителите, това е бърз и ефективен начин за закупуване на биткойн. Проблемът обаче беше, че когато се появят тези поръчки за покупка, те обикновено са за възможно най-малката сума; 0,00001 Bitcoin, струва приблизително 10 ¢.

Причината друг производител на пазара да направи такава малка поръчка за покупка, точно под цената на заявка, е гениална. Ако друг производител на пазара току-що е успял да закупи биткойн на офертната цена, той има стимул да го продаде на цената на запитване възможно най-скоро. Колкото по-дълго време им е необходимо да продадат своите биткойни, толкова по-голям е рискът от цената на заявката (и по този начин спредът) да се движи и от печалбата им да варира.

Разбира се, може да кажете, че има толкова голям шанс за покачване на цената в този период, колкото е и спадът. Маркетинговият производител не се интересува от това; тяхната работа не е да спекулират с цената, а да влизат и излизат възможно най-бързо.

За да спре падането на цената и да спре конкуренцията на страната на продажбата от натискане на цената на запитване надолу, производителят на пазара поставя поръчката си за продажба точно под цената на заявка и вмъква поръчка за покупка („измамен“) точно под новата попитайте цена. Тази последна поръчка ще има възможно най-малък размер на поръчката (0,00001 Bitcoin).

Това има два ефекта:

  1. Никой друг продавач не може да победи цената на заявка на продавача. Ако отидете с 1 ¢ под цената на заявка, вие сте на офертната цена и борсите не позволяват на продавачите да правят поръчки на производители на или под офертната цена.
  2. Намалява намаза само до 1 ¢. Когато пазарът за създаване на пазара забележи толкова малък спред, той вероятно ще се изключи временно, тъй като няма печалба да бъде направена.

Тази втора точка е от решаващо значение, тъй като обяснява защо практически всички пазарни производители се изключват, когато поръчаната поръчка за покупка отива малко под цената на заявка. В действителност, въпреки че изглежда, че спредът е само 1 ¢, все още има възможност.

Да речем, че поръчката на следващия продавач идва за 1 биткойн. Първите биткойни 0,00001 ще бъдат продадени на производителя на пазара със поръчаната поръчка, като тази поръчка се извади от борсата. Следващите 0.99999 биткойни ще бъдат продадени към поръчката по новата офертна цена, най-високата цена под поръсената поръчка.

Едно от най-големите подобрения, които направих на моя бот, беше да му позволя да игнорира подправени поръчки при изчисляване на спред. Въпреки че цената на запитване може да е само с 1 ¢ по-висока от цената на офертата, моят бот щеше да погледне минали поръчкови поръчки, за да открие какъв ще бъде спредът, ако не за подправените поръчки (които все още биха могли да бъдат 50 - 100 долара). Ако този спред беше достатъчно голям, за да представи възможност, той би се конкурирал за поставяне на поръчка за покупка с най-висока цена след всяка измамена поръчка. Когато влязоха поръчките на продавачите, това означаваше, че няколко цента биткойн на стойност ще бъдат продадени на мотоциклетите, а след това останалото на мен.

2018

Първите няколко месеца на 2018 г. бяха бурни. След покачването на Bitcoin до 20 000 долара през декември, колелата започнаха да слизат и цената бързо падаше.

Макар и лошо за инвеститорите, това предостави огромна възможност за създателите на пазара. Високите нива на обем както от страна на покупката, така и от продажбата (което означаваше, че ще влизат повече поръчки за купувачи) масово увеличаваха количествата сделки на ден, които един ефективен пазарен производител може да извърши.

Този период на възможности обаче беше сравнително краткотраен. След яростта на януари и февруари, обемите започнаха да изсъхват, което означава по-малко възможности за печалба. Въпреки намаляващите обеми на търговията, броят на създателите на пазара продължи да се увеличава, тъй като нови борси навлизат на борсата.

Повече пазарни производители на борси доведоха до по-голяма конкуренция при цените на офертите и търсенето, от своя страна стесняване на спредовете. Допълнителните конкуренти също означаваха, че поръчките обикновено ще бъдат на офертната цена за по-кратък период от време, тъй като имаше повече конкуренти, готови да ви надминат веднага след като вашата поръчка беше изпратена.

Поради засилената конкуренция и по-малкото възможности за печалба, аз махнах всичките си ботове до март и не съм ги върнал оттогава. Повишените такси на производителите на много борси ме възпираха да се върна в играта за създаване на пазара, но има все още възможност за всеки, който е достатъчно умен да избере моментите си.

Като цяло, аз търгувах около 50 милиона долара биткойн на стойност между декември 2017 г. и март 2018 г. с ROI от 20,2.