В прошлой статье писал про идею бота для ребалансировки крипто-портфеля. Уже добавил поддержку бирж Binance и Bybit, добавил кастомные доли по монетам (чтобы было что-то поинтереснее равномерного распределения), создал
канал в Telegram с информацией о проекте (подпишись, чтобы следить за разработкой с нуля).
По итогу получается система для динамического управления структурой портфеля.
Следующий вопрос, который возник при доработке этого бота, это на основе чего проводить расчет долей монет в портфеле? Кажется, что стратегия «задал 1 раз вручную и забыл» — не очень-то эффективна. Надо привязать доли к каким-то параметрам.
Один из подписчиков канала порекомендовал проводить расчет корреляции монет к Биткоину. Я решил, идея отличная, надо попробовать. Помню как на 2-ом курсе универа проходили мат.статистику и делали расчет коэффициента Пирсона, тут он подойдет идеально. Тем более с одного из прошлых заказов на торговых ботов у меня остался алгоритм расчета этого коэффициента.
Коэффициент Пирсона — занимательная штука, математический инструмент, чтобы выяснить, насколько 1 ряд данных коррелирует, связан с другим рядом данных. В данном случае будем считать его для данных о ценах монет.
Вот такая мудреная формула, в которой черт ногу сломит.
По итогу расчета, всё очень просто: получаем значение в интервале [-1; 1].
Если значение будет 1, значит ряд данных полностью повторяет другой ряд данных, если значение -1, то как бы тот же график, только перевернутый. А значение по середине — вот тут-то и будет степень взаимосвязи одного с другим.
(когда попросил ИИ показать, как бы художник изобразил корреляцию)
Следующий шаг — просто начать записывать цены по необходимым монетам. В первую очередь по Биткоину, а затем по разным альткоинам. В идеале, необходимы данные по всем торговым парам, но их не мало… Порядка 2000.
Значит, необходим белый список монет. Допустим, ограничусь своим классическим белым списком, который использую для
сеточных торговых ботов:
«FET», «RENDER», «ZEC», «XVG», «FTT», «CRV», «XRP», «BTC», «SOL», «ETH», «LTC», «TRX», «TON», «AAVE», «ADA», «BCH», «NEAR», «MNT», «OP», «MANTA», «BEAMX», «ICP», «STORJ», «ETC», «LINK», «DGB», «DOGE», «UNI», «DOT», «AVAX», «FIL», «EVER», «SUSHI», «ZRX», «MATIC», «XLM», «ATOM», «SAND», «MANA», «DASH», «BNB», «CAKE», «EOS», «BAT».
В следующей статье я расскажу как получилось сделать сервис сбора цен по монетам, насколько прожорливой по ресурсам получилась система и какие монеты коррелируют с Биткоином, а какие нет.
Подпишись на канал бота-ребалансировщика, чтобы быть в курсе realtime разработки.