3
Подписаться
1444
Подписчики

Поздний обмен, высокочастотный робот Bitcoin, который зарабатывал 5% в день в 2014 году, стал общедоступным

Создано: 2017-11-30 14:15:27, Обновлено: 2024-12-26 21:36:00
comments   28
hits   38119

Поздний обмен, высокочастотный робот Bitcoin, который зарабатывал 5% в день в 2014 году, стал общедоступным

Введение в стратегию

Адрес для обмена стратегией: https://www.fmz.com/strategy/1088 Эта стратегия была моей основной стратегией с тех пор, как я начал торговать виртуальными валютами. Она стала намного сложнее после постоянного улучшения и модификации, но основная идея не изменилась. Версия, которой я делюсь, является первоначальной версией без очевидных ошибок. Она самая простая и самая ясная версия без управления позициями. Каждая транзакция с полной позицией, без заморозки или перезапуска и т.п., но этого достаточно, чтобы проиллюстрировать проблему. Стратегия действовала с августа 2014 года до начала взимания комиссий в начале этого года. В этот период дела шли довольно хорошо, с очень небольшими потерями. Сумма увеличилась с первоначальных 200 юаней до 80 биткоинов. Конкретный процесс можно увидетьБлог Sina от XiaocaoвнутриПуть к автоматизированной торговле криптовалютойСерия статей. Следующий рисунок - это кривая прибыли платформы OKcoin, которую я специально подсчитал. Начальный капитал составляет 1000 юаней. Вы можете видеть, что начальные деньги неуклонно росли. Прямая линия посередине - это момент, когда моя стратегия остановилась. Позже, потому что Стратегия была изменена на стратегию заработка монет, прибыль была выражена в RMB. Доходность резко колеблется. Конкретный процессДвухлетний обзор стратегической торговлиОписание есть в статье. Поздний обмен, высокочастотный робот Bitcoin, который зарабатывал 5% в день в 2014 году, стал общедоступным На следующем рисунке представлена ​​кривая совокупных активов, конвертированных в валюту: Поздний обмен, высокочастотный робот Bitcoin, который зарабатывал 5% в день в 2014 году, стал общедоступным

Зачем делиться этой стратегией?

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

Принципы стратегии

Принцип этой стратегии чрезвычайно прост и может быть понят как квази-высокочастотная стратегия создания рынка. После прочтения этого, вы, возможно, захотите ударить кого-нибудь, потому что это может приносить деньги, и почти любой мог написать это в то время время. Я не ожидал, что это будет так эффективно поначалу. Это показывает, что если у вас есть идея, вы должны быстро воплощать ее в жизнь, и вы можете получить неожиданные сюрпризы. В 2014 году, когда впервые появились биткойн-роботы, писать прибыльные стратегии было слишком легко. Как и все высокочастотные стратегии, эта стратегия также основана на книге ордеров. На следующем рисунке показано распределение ордеров типичной биржи Bitcoin. Поздний обмен, высокочастотный робот Bitcoin, который зарабатывал 5% в день в 2014 году, стал общедоступным Вы можете видеть, что слева находятся ордера на покупку, показывающие количество отложенных ордеров по разным ценам, а справа — ордера на продажу. Вполне возможно, что если человек хочет купить биткоин, если он не хочет размещать заказ и ждать, он может только принять заказ. Если у него много заказов, это вызовет большое количество заказов на продажу быть исполнено, вызывая влияние на цену, но это влияние, как правило, не будет длиться вечно. Если это продолжится, и все еще будут люди, которые захотят принять заказ и продать, цена, вероятно, восстановится в очень короткое время. И наоборот , то же самое происходит, если кто-то хочет продать валюту. Возьмем отложенный ордер на рисунке в качестве примера. Если вы хотите купить 5 монет напрямую, цена достигнет 10377. В это время, если кто-то хочет продать 5 монет напрямую, цена достигнет 10348. Это пространство является прибылью пространство. Стратегия будет: Разместить ордер по цене немного ниже 10377, например 10376.99, и купить по цене немного выше 10348, например 10348.01. Если ситуация только что произойдет, вы, очевидно, заработаете разницу. Хотя не каждый раз все будет идеально, из-за эффекта вероятности шансы заработать деньги на самом деле на удивление высоки. Давайте объясним конкретные операции с параметрами текущей стратегии. Конечно, этот параметр больше не может использоваться, это просто пояснение. Он будет искать цену с кумулятивным ордером на продажу 8 монет, который здесь равен 10377. Цена продажи в это время равна этой цене минус 0,01 (сумма минуса может быть случайной). Аналогично, он будет искать цену с Совокупный ордер на покупку 8 монет, здесь 10348, тогда цена продажи на данный момент 10348,01, а разница между ценой покупки и продажи составляет 10376,99-10348,01=28,98, что больше разницы в 1,5, заданной стратегией. Затем размещаем заказ по этим двум ценам и ждем транзакцию. Если разница в цене меньше 1,5, мы также найдем цену для размещения заказа, например, рыночную цену плюс-минус 10, ждем утечки (было бы более целесообразно продолжить поиск более глубокого исследования). Также обратите внимание, что эта стратегия связана только с текущей глубиной отложенных ордеров и не заботится об исторических рыночных условиях и собственных исторических транзакциях. Стратегия также не имеет понятия единичного проигрыша. Фактически, единичный процент выигрышей очень высок.

Дальнейшее объяснение

  1. Что делать, если у вас нет денег или монет? Такая ситуация очень распространена, когда у меня мало денег и большую часть времени я размещаю заказ только одной стороны, но это не большая проблема. На самом деле, логика баланса валюты и денег может быть добавлена, но потери неизбежны в процессе балансировки. В конце концов, каждая транзакция благоприятствует вероятности. Я выбираю продолжать ждать транзакцию с одной стороны. Конечно, это также теряется возможность транзакции на другой стороне.
  2. Как осуществляется управление позициями? В начале все транзакции были в режиме полной купли-продажи. Позже они были разделены на разные группы по разным параметрам, и транзакции не завершались за один раз.
  3. Нет стоп-лосса? Стратегия имеет полную логику для ордеров на покупку и продажу. Я не думаю, что есть необходимость в стоп-лоссах (можно обсудить). Также, вероятность имеет значение. Сделка — это возможность, поэтому было бы жаль стоп-лосс.
  4. Как скорректировать стратегию, чтобы заработать монеты? Параметры в это время симметричны, то есть кумулятивные ордера на продажу 8 монет вверх и кумулятивные ордера на покупку 8 монет вниз. Если они немного не сбалансированы, например, кумулятивные ордера на продажу 15 монет вверх делают шанс продавайте монеты реже. Есть больше шансов, что вы получите его обратно по более низкой цене, что принесет вам монеты, и в свою очередь принесет деньги. На самом деле ранние стратегии были настолько эффективны, что количество монет и денег увеличивалось.
  5. Как бороться с плавающими убытками? Конечно, единичная транзакция приведет к убыткам. Например, если цена валюты растет после продажи и падает после покупки, такие плавающие убытки не нужно обрабатывать, потому что транзакции очень часты, и это нормально имеют тысячи транзакций в день. Плавающие убытки нормальны, пока вероятность прибыли выше.
  6. Как предотвратить появление черных лебедей? В биткоине много событий черного лебедя. Иногда он просто продолжает падать без возможности продажи. В этом случае не нужно слишком беспокоиться, потому что события черного лебедя часто приносят высокую волатильность, и это та часть, которую стратегия зарабатывает деньги. Потерянные деньги можно быстро вернуть.

Пояснение кода

Для полного кода вы можете посмотреть мою стратегию, которой я поделился на www.fmz.com. Здесь я объясню только основные логические функции. Без каких-либо изменений диск симуляции, который идет с botvs, на самом деле работает совершенно нормально. Это стратегия более 3 лет назад, и платформа до сих пор ее поддерживает. Это так трогательно. Во-первых, нам нужно использовать GetPrice(), чтобы получить цену спроса и предложения. Нам нужно получить информацию о глубине ордера. Обратите внимание, что длина информации о глубине ордера на разных платформах различна, и даже если все ордера будут пройдены, все еще есть нет необходимого количества (на более поздней стадии множество ордеров сетки размером 0,01 приведет к такой ситуации), вызов GetPrice(‘Buy’) для получения цены покупки.

function GetPrice(Type) {
   //_C()是平台的容错函数
    var depth=_C(exchange.GetDepth);
    var amountBids=0;
    var amountAsks=0;
    //计算买价,获取累计深度达到预设的价格
    if(Type=="Buy"){
       for(var i=0;i<20;i++){
           amountBids+=depth.Bids[i].Amount;
           //参数floatamountbuy是预设的累计深度
           if (amountBids>floatamountbuy){
               //稍微加0.01,使得订单排在前面
              return depth.Bids[i].Price+0.01;}
        }
    }
    //同理计算卖价
    if(Type=="Sell"){
       for(var j=0; j<20; j++){
    	   amountAsks+=depth.Asks[j].Amount;
            if (amountAsks>floatamountsell){
            return depth.Asks[j].Price-0.01;}
        }
    }
    //遍历了全部深度仍未满足需求,就返回一个价格,以免出现bug
    return depth.Asks[0].Price
}

Основная функция каждого цикла — onTick(). Время цикла установлено на 3,5 с. Каждый цикл отменяет исходный заказ и размещает новый заказ. Чем он проще, тем меньше вероятность возникновения ошибок.

function onTick() {
    var buyPrice = GetPrice("Buy");
    var sellPrice= GetPrice("Sell");
    //diffprice是预设差价,买卖价差如果小于预设差价,就会挂一个相对更深的价格
    if ((sellPrice - buyPrice) <= diffprice){
            buyPrice-=10;
            sellPrice+=10;}
    //把原有的单子全部撤销,实际上经常出现新的价格和已挂单价格相同的情况,此时不需要撤销
    CancelPendingOrders() 
    //获取账户信息,确定目前账户存在多少钱和多少币
    var account=_C(exchange.GetAccount);
    //可买的比特币量,_N()是平台的精度函数
    var amountBuy = _N((account.Balance / buyPrice-0.1),2); 
    //可卖的比特币量,注意到没有仓位的限制,有多少就买卖多少,因为我当时的钱很少
    var amountSell = _N((account.Stocks),2); 
    if (amountSell > 0.02) {
        exchange.Sell(sellPrice,amountSell);}
    if (amountBuy > 0.02) {
        exchange.Buy(buyPrice, amountBuy);}
    //休眠,进入下一轮循环
    Sleep(sleeptime);
}

Хвост

Вся программа состоит всего лишь из 40 строк и выглядит очень простой, но на ее завершение у меня ушло больше недели, и это на платформе botvs. Самое большое преимущество в том, что я начал рано. В 2014 году на рынке доминировал арбитраж, и не было большого количества высокочастотных сеток и захватных позиций, что делало стратегию как утка в воде. Позже конкуренция неизбежно стала больше и все более напряженным, а моих денег становится все больше и больше. Появляется все больше и больше проблем, и нам время от времени приходится вносить серьезные изменения, чтобы с ними справиться, но в целом все идет гладко. Когда торговая платформа не взимает комиссию за обработку, это рай для программной торговли. Розничные инвесторы склонны работать, потому что они не взимают комиссию за обработку, что дает пространство для высокой частоты и арбитража. Все это в основном достигается с 0.1 -0,2% Двусторонние комиссии за транзакции подошли к концу. Речь идет не только о взимании, но и о снижении общей активности рынка. Однако все еще остается много возможностей для количественных стратегий, не требующих высоких частот.