Разумный биткойн-майнер, часть 2

В отсутствие широких экспериментальных исследовательских работ в области майнинга мы можем обратиться к моделированию. Вместе с иными формами анализа моделирование в состоянии сделать майнинг поддающимся классификации и осознанию, невзирая на всю непрозрачность и капиталоемкость данной отрасли. Опыт по созданию майнингового компании — драгоценное наслаждение. Существенно дешевле его смоделировать.

«Хоть какой, кто пробует генерировать случайные числа детерминистическими способами, естественно, живет во грехе»,

 — Джон фон Нейман.

В первой статье данной серии мы выстроили модель Монте-Карло для аппроксимации справедливой цены майнингового оборудования и чувствительности данной справедливой цены к разным рыночным характеристикам. Мы проявили, что рыночная стоимость хеш-мощности нередко отклоняется от ее теоретической справедливой цены, частично из-за неликвидности инструмента.

Также в предшествующей статье мы смоделировали будущую ценовую линию движения при помощи модели диффузионных скачков и употребляли линейную функцию, чтоб измерить реакцию глобальной хеш-мощности на конфигурации цены. Но, как уже упоминалось в прошлых статьях, динамика связи меж хешрейтом и ценой выходит за рамки обычный линейной зависимости. Чтоб повысить репрезентативность представленной системы анализа, необходимо выйти за рамки характеризации глобальной хеш-мощности как единицы и заместо этого смоделировать ее снизу ввысь.

В данной статье мы классифицируем майнеров на несколько архетипов исходя из типа применяемых машин, общих операционных издержек и предпочитаемой стратегии майнинга. Любой архетип майнера имеет разную норму прибыли и причины риска. Прибыльность майнинга меняется с течением времени, и любой майнер получает прибыль или убыток, что, в свою очередь, описывает его решения о увеличении либо сокращении количества работающих машин.

В данной системе изменение хешрейта сети является функцией не попросту конфигурации цены, но совокупы общих результатов всех майнеров, владеющих разными экономическими профилями и профилями риска.

Кодовая база нашей модели вполне открыта и доступна тут.

Вы сможете поменять использованные нами допущения на собственные и поглядеть, как в результирующих критериях будет работать моделируемое майнинговое предприятие. В данной статье я тщательно расскажу о данной модели, обрисую на примерах ее внедрение и представлю некие достойные внимания выводы, изготовленные из анализа 5 разных сценариев.

Игра «Жизнь» Джона Конвея

Наш подход к моделированию хешрейта сети как суммы результатов, получаемых отдельными майнерами, основан на способе, именуемом агентным моделированием. Этот способ вырос из ранешней работы Джона фон Неймана о клеточных автоматах, размещенной в 1950-х гг., и был популяризован Джоном Конвеем в игре «Жизнь».

(: Teb’s Lab)

Это пошаговое моделирование, происходящее на двумерной сетке ячеек. Задаются предопределенные детерминистические правила, регулирующие взаимодействия меж примыкающими ячейками. С каждым ходом статус ячеек изменяется зависимо от статуса примыкающих с ней ячеек: клеточки оживают, если у их есть ровно три {живых} соседа, остаются {живыми}, если у их есть два либо три {живых} соседа, в неприятном случае клеточки отмирают.

Игра «Жизнь» — это простой пример агентного моделирования, типа симуляции, в каком решения принимаются разными акторами, разделяющими некоторое глобальное состояние. В игре «Жизнь» агенты — это клеточки, и принимаемые ими решения сводятся к тому, жить им либо умереть. Итог зависит только от исходного состояния доски и изменяться это состояние может контринтуитивно.

Сейчас агентное моделирование продвинулось далековато за границы конвеевской игры и обширно употребляется в экологии, экономике, денежной арифметике (PDF, англ.) и анализе смарт-контрактов (PDF, англ.). 

Прибыльность биткойн-майнинга зависит от цены биткойна, общего хешрейта сети и, в наименьшей (пока) степени, от комиссий за транзакции. 2-ой компонент в этом расчете рентабельности, хешрейт сети, зависит от решений остальных майнеров о запуске либо выключении собственных машин. Как итог, прогнозы прибыльности майнинга должны быть итеративными, и эта задачка отлично подступает для агентного моделирования.

Если допустить, что стоимость биткойна совсем не зависит от хешрейта сети, то ее можно смоделировать стоимость как автономное геометрическое броуновское движение. В аналогичном ключе мы моделируем каждодневные комиссии как независящие и логарифмически нормально распределенные исходя из неизменного интервала меж блоками, равного 10 минуткам.

Любой денек во временном ряду мы рассматриваем как один ход; сначала всякого хода стоимость актива, размер комиссии и общий хешрейт сети передаются агентам майнеров как входные данные для принятия решений.

Исходя из получаемой незапятанной прибыли, любой майнер масштабирует свое предприятие, увеличивая либо сокращая количество присоединенных к сети машин, и публикует получаемый на выходе хешрейт. Сумма хешрейтов всех майнеров в свою очередь записывается как новое значение общего хешрейта сети:

Майнеры как агенты

Моделирование майнеров как агентов является, на самом деле, параметризацией входных характеристик в экономике майнинга. В «Алхимии хеш-мощности» мы ввели понятие рефлексивности хеш-мощности: каждое майнинговое предприятие очень зависит как от физических критерий, так и от личного восприятия рынка его оператором.

Все причины принятия решений охватить нереально, но в качестве главных детерминант поведения майнеров мы выделяем тип применяемых машин, базис себестоимости и используемую майнером стратегию. Мы формализуем эти причины в виде характеристик классов майнеров.

Тип машин:

В настоящем мире майнинговое предприятие обычно оперирует машинками разных типов. Для простоты мы приписали любому архетипу майнера внедрение 1-го типа машин в течение всего моделируемого периода. В данной версии моделирования мы поддерживаем последующую вселенную машин:

Базис себестоимости:

  • Общая стоимость электроэнергии
  • Энергопотребление
  • Любому майнеру на присваивается средняя общая стоимость электроэнергии на весь срок моделирования. Энергопотребление майнера рассчитывается так:

    Количество машин * Энергопотребление машинки этого типа.

    Любой денек работы майнер несет операционные расходы, равные:

    Энергопотребление / 1000 * Общую стоимость электроэнергии * 24.

    Также при инициализации модели мы задаем распределение тарифов на электроэнергию, которое описывает количество машин для всякого архетипа майнера.

    В данной версии по дефлоту мы предоставляем последующую стратификацию. Этот параметр можно настроить по собственному усмотрению перед пуском моделирования.

    (По нашей оценке) Стратегия:

  • Лонг по BTC
  • Каждодневная продажа
  • При инициализации модели любому майнеру приписывается стратегия. На практике майнеры могут применять широкий диапазон стратегий и переключаться меж ними каждый раз, когда изменяется их восприятие рыночных критерий.

    Для простоты в нашей модели любой майнер следует одной стратегии в протяжении всего моделируемого периода. Мы представили эти две стратегии и оценили их прибыльность в разных рыночных циклах в предшествующей статье.

    Лонг по BTC значит, что майнер реализует ровно столько биткойнов, чтоб покрыть операционные расходы, а остальную часть собственного дохода держит в BTC.

    Каждодневная продажа значит, что майнер сходу же меняет все заработанные биткойны на баксы. 

    Стратегией майнера определяется его позиции по BTC и баксу. При расчете прибыли для майнеров, использующих стратегию лонга по BTC, нужно учесть также нереализованную прибыль: позиция по BTC * стоимость BTC

    Основываясь на композициях этих 3-х переменных, мы разделили вселенную майнеров по признаку 11 типов машин, 7 диапазонов цены электроэнергии и 2 стратегий, что в общей трудности отдало 154 архетипа.

    При инициализации модели мы задаем стратификацию машин на рынке и цены на базе данных от Hashrate Index, General Mining Research и нескольких остальных источников. Эти характеристики можно настраивать по собственному усмотрению перед пуском моделирования.

    (Данные о ценах: Hashrate Index, General Mining Research. Процентная толика в хешрейте: наша оценка на базе данных из разных источников)

    Распределение тарифов на электроэнергию и стратификация машин представляют собой входные данные для расчета количества машин всякого майнера. Это количество единиц оборудования, находящихся под управлением майнера. Принципиально увидеть, что на практике эти два распределения не являются статистически независящими, как в нашей модели, — к примеру, старенькые машинки, такие как S9s, с большенный вероятностью будут употребляться майнерами с доступом к наиболее дешевенькой электроэнергии. 

    Сначала моделирования общий показатель Количество машин * Хешрейт для всех майнеров масштабируется до приблизительно равного текущему уровню хешрейта сети по данным Coin Metrics.

    Чтоб выслеживать прибыльность майнера, мы добавили в класс майнеров обычный калькулятор баланса счета и исторической прибыли.

    Баланс счета: 

    • позиция по USD;
    • позиция по BTC;
    • позиция по хеш-мощности.

    Исходная позиция по хеш-мощности — это количество машин * хешрейт машин соответственного типа.

    Рентабельность: 

    • Profit_Daily — прибыль за день;
    • Profit_Last_30_Day — прибыль за крайние 30 дней;
    • Profit_All — прибыль суммарная.

    Рентабельность описывает поведение майнера по мере развития рыночной ситуации. Мы разглядим этот механизм в последующем разделе. Profit_30_Days и Profit_All — демонстрируют текущую прибыль на соответственный момент времени. 

    Ниже приведены все элементы данных для класса майнеров. Код для класса майнеров находится в файле agents.py.

    Функция полезности майнера

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

    По сути существует ряд экзогенных причин, влияющих на решение майнера о том, чтоб докупить либо, напротив, отключить машинки, — такие как доступность наружного финансирования и свойство сна. Для простоты в нашей модели за главный фактор принятия решений мы принимаем историческую рентабельность майнера.

    Процесс принятия решений воспринимает на вход значение Profit_Last_30_Day и рассчитывает итог, на базе которого делается действие. Процесс вычисления результата смотрится последующим образом: 

  • Если значение Profit_Last_30_Day ≤0, майнер уменьшает количество машин на x до заслуги безубыточности. Расчет x прост:
    убыток (Profit_Last_30_Day) делится на стоимость электроэнергии, используемой на единицу оборудования. 
  • Если значение переменной Profit_Last_30_Day положительное и превосходит определенный порог, майнер прирастит количество машин.
        2a) Пороговое значение: Profit_Last_30_Day > суммы всех издержек.
        2b) Повышение парка машин рассчитывается так:
        (Profit_Last_30_Day — сумма всех издержек) / Стоимость ед. оборудования * Фактор роста ед. оборудования.
  • Стоимость машинки динамически меняется в процессе моделирования и определяется последующим образом:
    Исходная стоимость машинки * (Текущая стоимость BTC * Исходный хешрейт сети) / (Исходная стоимость BTC * Текущий хешрейт сети).
  • Цены на майнинговое оборудование адаптивны и реагируют на конфигурации цены актива и хешрейта сети. Любой тип машин также имеет собственный темп роста, отражающий относительную скорость роста его цены. Машинки старших поколений имеют наименьшую скорость роста из-за нежелания производителей продолжать их создание. Мы учитываем также задержку, возникающую при добавлении новейших машин. На изготовка и доставку заказа покупателю нередко требуется некое время.

    В нашей модели это значит, что опосля роста x — значения, запускающего корректировку количества оборудования, — машинки не будут добавлены на счет майнера немедля.

    Мы обусловили перечень констант, определяющих задержку для всякого типа машин. Задержка реакции представляет собой статическое приближение и обязана временами обновляться, чтоб отражать конфигурации в пропускной возможности цепочки поставок.

    (По нашей оценке)

    В итоге триггерная функция выдает количество машин, которое майнер покупает либо реализует. 

    Юзеры могут поменять фактор роста и время и время реакции по дефлоту на любые константы по собственному усмотрению. Код для опции можно отыскать в файле Simulator.py.

    Настройка модели

    Как и в первой части, мы используем стохастический процесс для проецирования цены биткойна и каждодневного дохода от комиссий на весь моделируемый период. Базисные характеристики модели геометрического броуновского движения для цены и логнормального распределения для комиссий получены из исторических данных о стоимости (источник: Coin Metrics).

    Связывая все вышеупомянутое вкупе, мы используем для иллюстрации процесса последующий граф:

    Анализ сценариев

    Чтоб протестировать модель, мы смоделировали разные рыночные условия и проанализировали результирующее поведение майнеров. Мы оценивали рентабельность майнера с исходным капиталом на покупку оборудования в $1 млн и лишенного способности в предстоящем масштабировать свое предприятие. Моделирование проводилось на период 100 дней и были взяты средние результаты 25 испытаний.

    Рентабельность определяли при нескольких разных издержек на электроэнергию в нашей вселенной типов машин. Главные моменты показаны ниже.

    Применяемые характеристики ни при каких обстоятельствах не являются окончательными, и юзеры могут свободно провести свой анализ, основываясь на всех остальных допущениях. Код для анализа сценариев находится в файле main.py.

    Сценарий 1: бычий рынок

    Наш 1-ый тест имитирует условия бычьего рынка. С учетом продолжающегося на момент написания статьи бычьего рынка, мы просто подогнали модель геометрического броуновского движения к историческим данным. По сиим условиям стоимость BTC равномерно возрастает до наиболее чем $100 тыс., претерпевая на собственном пути несколько коррекций.

    Смоделированная стоимость BTC (25 прогонов, исторические характеристики)

    Хешрейт сети неприклонно вырастает, претерпевая некие незначимые корректировки, возникающие с неким запаздыванием опосля эпизодов понижения цены.

    Смоделированный хешрейт сети (25 прогонов, исторические характеристики)

    В этих критериях намного прибыльнее просто задерживать позицию по биткойну, заместо того чтоб раз в день продавать добываемые BTC, даже при высочайшем тарифе на электроэнергию. Это имеет смысл, беря во внимание резвый рост цены BTC.

    Стоимость позиции Antminer S9 зависимо от стратегии (25 прогонов, исторические характеристики, 7 ¢/кВт-ч)

    При электроэнергии по 4 ¢/кВт-ч лишь майнеры, использующие S9s и сохраняющие позицию в BTC, выходят на безубыточность в течение 100-дневного периода моделирования.

    Смоделированная стоимость позиции (25 прогонов, исторические характеристики, стратегия лонга по BTC, 4 ¢/кВт-ч) Сценарий 2: волатильный рынок

    Для второго сценария мы моделируем неуравновешенный рынок, увеличивая показатель волатильности в исторически пригодной модели геометрического броуновского движения на 25% и устанавливая значение дрифта на ноль. Стоимость поначалу вырастает до практически $80 тыс., а потом резко падает до чуток наиболее $40 тыс.

    Смоделированная стоимость BTC (25 прогонов, характеристики волатильного рынка)

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

    Смоделированный хешрейт сети (25 прогонов, характеристики волатильного рынка)

    Сначала обе стратегии работают сравнимо: стратегия лонга по BTC только мало опережает в прибыльности каждодневную продажу. Когда стоимость биткойна падает, майнеры с экспозицией по BTC наказываются за доп риск, который они на себя взяли, понижением рыночной цены их активов.

    Цены позиции с Antminer S9 зависимо от стратегии (25 прогонов, характеристики волатильного рынка, 7¢/кВт-ч) Сценарий 3: медвежий рынок 

    В третьей симуляции мы моделируем медвежий рынок, подгоняя модель геометрического броуновского движения к историческим данным и меняя символ показателя дрифта. Стоимость резко падает от текущего уровня и фактически добивается $30 тыс.

    Смоделированная стоимость BTC (25 прогонов, характеристики медвежьего рынка)

    Реагируя на падение цены, хешрейт также вступает в корректировку опосля начального роста. Это переход от фазы избавления от припасов [оборудования] к фазе вытряхивания с рынка, пользуясь терминологией из «Алхимии хеш-мощности».

    Смоделированный хешрейт сети (25 прогонов, характеристики медвежьего рынка)

    На медвежьем рынке мучаются все, но больше всего он затрагивает лонги по биткойну: при таковой стратегии и электроэнергии по 4 ¢/кВт-ч даже самые действенные майнеры в течение моделируемого периода не могут окупить и половины собственных начальных инвестиций.

    Смоделированная стоимость позиции (25 прогонов, характеристики медвежьего рынка, стратегия лонга по BTC, 4 ¢/кВт-ч)

    Стратегия каждодневной реализации указывает намного наилучший итог, но, так как доходы майнеров как и раньше зависят от цены BTC, ее прибыльность тоже оказывается значительно ниже, чем на бычьем рынке.

    Смоделированная стоимость позиции (25 прогонов, характеристики медвежьего рынка, стратегия каждодневной реализации, 4 ¢/кВт-ч) Сценарий 4: с какими машинками прибыльнее работать на бычьем рынке — старенькыми либо новенькими?

    В четвертом сценарии мы употребляли те же исторические характеристики, что и в первом, чтоб сопоставить эффективность майнеров, работающих со старенькым и с новеньким оборудованием при конкурентоспособной цены электроэнергии.

    Сейчас стоимость BTC взмывает до $140 тыс., ускоряясь в процессе. Хешрейт также стремительно вырастает.

    Сценарий 1 Сценарий 4

    С таковой интенсивностью бычьего рынка даже майнерам со стратегией каждодневной реализации удается выйти в безубыток в течение 100-дневного моделируемого периода, при условии, что они работают на S9s. Рентабельность майнеров с S19 оказывается существенно ниже, но все таки стратегия каждодневной реализации дозволяет им возвратить огромную часть начальных инвестиций.

    Смоделированная стоимость позиций (25 прогонов, исторические характеристики, стратегия каждодневной реализации, 3 ¢/кВт-ч)

    Майнеры, удерживающие лонг по BTC, в этих критериях неописуемо выгодны. Майнеры с S9s за моделируемый период фактически удвоили начальные инвестиции. Майнерам с S19 также удалось получить значительную прибыль.

    Смоделированная стоимость позиций (25 прогонов, исторические характеристики, стратегия лонга по BTC, 3 ¢/кВт-ч) Сценарий 5: на медвежьем рынке как важную роль играет понижение операционных расходов?

    В пятой и крайней симуляции мы опять конструировали условия медвежьего рынка, сейчас чтоб проанализировать роль издержек на электроэнергию в общей рентабельности. Для этого мы оценили эффективность майнеров, работающих с S9 и S19 в критериях медвежьего рынка при цены электроэнергии в 3, 4 и 5 центов за кВт-ч.

    Рыночная ситуация подобна сценарию #3: стоимость BTC резко падает, а хешрейт претерпевает неглубокую, но продолжительную корректировку.

    Сценарий 3 Сценарий 5

    Для майнеров с S9 стоимость электроэнергии имеет существенное значение. Хотя при любом уровне издержек на электроэнергию эффективность майнинга в этих критериях оставляет желать наилучшего, майнеры, удерживающие лонг по BTC, с электричеством по 3 ¢/кВт-ч отбивают практически 40% от начальных инвестиций, в то время как их коллеги с электричеством по 5 ¢/кВт-ч возвращают только чуток наименее 32%.

    Смоделированная стоимость позиций (25 прогонов, характеристики медвежьего рынка, Antminer S9, стратегия лонга по BTC)

    Таковая чувствительность к цены электроэнергии разъясняет, почему майнеры с S9 обычно работают в периферийных регионах с наиболее дешевеньким электричеством.

    Для майнеров с S19 эта разница не так выражена. Естественно, стоимость электроэнергии в любом случае влияет на прибыльность майнинга, но при использовании S19 это воздействие намного наименее выражено.

    Смоделированная стоимость позиций (25 прогонов, характеристики медвежьего рынка, Antminer S19, стратегия лонга по BTC) Заключение

    Многомерность — неприятель статистики, и моделирование биткойн-майнинга — задачка сложная. Даже наша модель, при всех ее упрощающих допущениях, в итоге оказалась существенно наиболее сложной, чем мы подразумевали вначале. Как и со всеми инструментами на базе Монте-Карло, ее прогностические возможности принципно ограничены предубеждениями юзера, которые, через начальные вводные условия, отражаются на всех получаемых результатах.

    Наша модель очевидным образом подразумевает, что связь меж ценой и хешрейтом является однонаправленной. Неявным образом она подразумевает, отсутствие зависимости меж, возможно, коррелирующими меж собой распределением моделей оборудования и издержек на электроэнергию. В сути, все модели некорректны, но некие из их полезны.

    Эта модель, по нашему воззрению, полезна и обязана отыскать собственный путь в инструментарий разумного биткойн-майнера.

     

    Подписывайтесь на BitNovosti в Telegram!
    Делитесь вашим воззрением о данной статье в комментах ниже.

    Author: Anonim