3
Seguir
1444
Seguidores

El robot de alta frecuencia de Bitcoin que ganó un 5% por día en 2014 ya está disponible públicamente

Creado el: 2017-11-30 14:15:27, Actualizado el: 2024-12-26 21:36:00
comments   28
hits   38119

El robot de alta frecuencia de Bitcoin que ganó un 5% por día en 2014 ya está disponible públicamente

Introducción a la estrategia

Dirección para compartir estrategias: https://www.fmz.com/strategy/1088 Esta estrategia ha sido mi estrategia principal desde que comencé a operar con monedas virtuales. Se ha vuelto mucho más complicada después de la mejora y modificación continuas, pero la idea principal no ha cambiado. La versión que comparto es la versión inicial sin errores obvios. Es la más simple. Y la versión más clara sin gestión de posiciones. Cada transacción se realiza con una posición completa, sin congelamiento ni reinicio, etc., pero es suficiente para ilustrar el problema. La estrategia se desarrolló desde agosto de 2014 hasta que el exchange comenzó a cobrar tarifas a principios de este año. Funcionó bastante bien durante ese período, con muy pocas pérdidas. Los fondos aumentaron de los 200 yuanes iniciales a 80 bitcoins. El proceso específico se puede verEl blog de Sina de XiaocaoadentroEl camino hacia el comercio automatizado de criptomonedasSerie de artículos. La siguiente figura es la curva de ganancias de la plataforma OKcoin que he contado específicamente. El capital inicial es de 1.000 yuanes. Puedes ver que el dinero inicial ha aumentado de manera constante. La línea recta en el medio es cuando mi estrategia se detuvo. Más tarde, debido a que el La estrategia se cambió a una estrategia de obtención de monedas, denominadas en RMB. Los rendimientos fluctúan drásticamente. El proceso específico esResumen de dos años de trading estratégicoHay una descripción en el artículo. El robot de alta frecuencia de Bitcoin que ganó un 5% por día en 2014 ya está disponible públicamente La siguiente figura es la curva de activos totales convertidos a moneda: El robot de alta frecuencia de Bitcoin que ganó un 5% por día en 2014 ya está disponible públicamente

¿Por qué compartir esta estrategia?

  1. Después de que el exchange empezó a cobrar comisiones por transacción, prácticamente acabó con todas las estrategias de alta frecuencia, incluida la mía. Pero quizá todavía pueda funcionar si se modifica la estrategia, puedes estudiarla.
  2. Hace tiempo que no comparto nada y hace tiempo que quería escribir este artículo.
  3. Comunicarse y aprender con todos.

Principios de la estrategia

El principio de esta estrategia es extremadamente simple y puede entenderse como una estrategia de creación de mercado de alta frecuencia. Después de leer esto, es posible que desee atacar a alguien, porque esto puede generar dinero y casi cualquier persona podría haberlo escrito en ese momento. tiempo. Al principio no esperaba que fuera tan efectivo. Demuestra que si tienes una idea en mente, debes ponerla en práctica rápidamente y puedes encontrarte con sorpresas inesperadas. En 2014, cuando surgieron los primeros robots de Bitcoin, era demasiado fácil escribir estrategias rentables. Como todas las estrategias de alta frecuencia, esta estrategia también se basa en la cartera de órdenes. La siguiente figura muestra la distribución de órdenes de una bolsa de Bitcoin típica. El robot de alta frecuencia de Bitcoin que ganó un 5% por día en 2014 ya está disponible públicamente Puede ver que a la izquierda están las órdenes de compra, mostrando el número de órdenes pendientes a diferentes precios, y a la derecha están las órdenes de venta. Es concebible que si una persona quiere comprar Bitcoin, si no quiere hacer un pedido y esperar, solo puede optar por aceptar el pedido. Si tiene muchos pedidos, provocará una gran cantidad de pedidos de venta. que se ejecute, lo que provocará un impacto en el precio, pero este impacto generalmente no durará para siempre. Si continúa, y todavía hay personas que quieren tomar la orden y vender, el precio probablemente se recuperará en muy poco tiempo. Por el contrario, Es similar si alguien quiere vender la moneda. Tomemos como ejemplo la orden pendiente de la figura. Si desea comprar 5 monedas directamente, el precio alcanzará 10377. En este momento, si alguien desea vender 5 monedas directamente, el precio alcanzará 10348. Este espacio es el de ganancias. Espacio. La estrategia será colocar una orden a un precio ligeramente inferior a 10377, como 10376,99, y comprar a un precio ligeramente superior a 10348, como 10348,01. Si se da la situación actual, obviamente ganarás la diferencia. Aunque no siempre será perfecto, debido al efecto de la probabilidad, las posibilidades de ganar dinero son en realidad sorprendentemente altas. Vamos a explicar las operaciones específicas con los parámetros de la estrategia actual. Por supuesto, este parámetro ya no se puede utilizar, es solo una explicación. Buscará el precio con una orden de venta acumulada de 8 monedas, que aquí es 10377. El precio de venta en este momento es este precio menos 0,01 (la cantidad negativa puede ser aleatoria). De manera similar, buscará el precio con una orden de venta acumulada de 8 monedas, que aquí es 10377. orden de compra acumulada de 8 monedas, aquí es 10348, entonces el precio de venta en este momento es 10348.01, y la diferencia entre los precios de compra y venta es 10376.99-10348.01=28.98, que es mayor que la diferencia de 1.5 preestablecida por la estrategia. Luego, haga un pedido a estos dos precios y espere la transacción. Si la diferencia de precio es menor a 1,5, también buscaremos un precio para hacer un pedido, como el precio de mercado más o menos 10, esperando una fuga. (sería más apropiado seguir buscando más profundidad). Tenga en cuenta también que esta estrategia solo está relacionada con la profundidad actual de las órdenes pendientes y no se preocupa por las condiciones históricas del mercado ni por sus propias transacciones históricas. La estrategia tampoco tiene el concepto de una sola pérdida. De hecho, la tasa de ganancia única es muy alto

Explicación adicional

  1. ¿Qué hacer si no tienes dinero o monedas? Esta situación es muy común cuando tengo menos dinero y la mayoría de las veces solo hago pedidos de un lado, pero no es un gran problema. De hecho, se puede sumar la lógica del equilibrio monetario y monetario, pero las pérdidas son inevitables en el proceso de equilibrio. Después de todo, cada transacción se ve favorecida por la probabilidad. Elijo seguir esperando la transacción de un lado. Por supuesto, esto También desperdicia la oportunidad de transacción en el otro lado.
  2. ¿Cómo se gestionan las posiciones? Al principio, todas las transacciones se hacían en modo de compra y venta. Más tarde, se dividían en diferentes grupos según diferentes parámetros y las transacciones no se completaban de una sola vez.
  3. ¿Sin stop loss? La estrategia tiene una lógica completa para las órdenes de compra y venta. No creo que sea necesario aplicar un stop loss (se puede discutir). Además, la probabilidad es importante. Una transacción es una oportunidad, por lo que sería una pena aplicar un stop loss.
  4. ¿Cómo ajustar la estrategia para ganar monedas? Los parámetros en este momento son simétricos, es decir, las órdenes de venta acumuladas de 8 monedas hacia arriba y las órdenes de compra acumuladas de 8 monedas hacia abajo. Si están ligeramente desequilibrados, por ejemplo, las órdenes de venta acumuladas de 15 monedas hacia arriba hacen que la oportunidad de Vende monedas más raras. Hay más posibilidades de que las recuperes a un precio más bajo, lo que te permitirá ganar monedas y, a su vez, dinero. De hecho, las primeras estrategias fueron tan efectivas que tanto las monedas como el dinero aumentaron.
  5. ¿Cómo afrontar las pérdidas flotantes? Por supuesto, una sola transacción resultará en una pérdida. Por ejemplo, si el precio de la moneda sube después de la venta y baja después de la compra, no es necesario procesar esas pérdidas flotantes, porque las transacciones son muy frecuentes y es normal que Realizan miles de transacciones al día. Las pérdidas flotantes son normales siempre que la probabilidad de obtener ganancias sea mayor.
  6. ¿Cómo prevenir los cisnes negros? Hay muchos eventos de cisne negro en Bitcoin. A veces, simplemente sigue cayendo sin ninguna posibilidad de venta. En este caso, no hay necesidad de preocuparse demasiado, porque los eventos de cisne negro a menudo traen alta volatilidad, y esta es la parte que la estrategia Gana dinero con ello. El dinero perdido se puede recuperar rápidamente.

Explicación del código

Para ver el código completo, puedes consultar mi estrategia compartida en www.fmz.com. Aquí solo explicaré las funciones lógicas básicas. Sin ningún cambio, el disco de simulación que viene con los botvs funciona con total normalidad. Esta es una estrategia de hace más de 3 años y la plataforma todavía la admite hasta ahora. Es muy conmovedor. Primero, necesitamos usar GetPrice() para obtener el precio de oferta y demanda. Necesitamos obtener la información de profundidad de la orden. Tenga en cuenta que las longitudes de la información de profundidad de la orden de las diferentes plataformas son diferentes, e incluso si se recorren todas las órdenes, aún hay no se requiere cantidad (en la etapa posterior, se generarán muchos pedidos de cuadrícula 0.01), lo que conduce a esta situación; la llamada es GetPrice(‘Buy’) para obtener el precio de compra.

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
}

La función principal de cada bucle es onTick(). El tiempo del bucle se establece en 3,5 s. Cada bucle cancelará el pedido original y realizará un nuevo pedido. Cuanto más simple sea, menos probabilidades habrá de que se produzcan errores.

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);
}

Cola

El programa completo tiene solo unas 40 líneas y parece muy simple, pero me llevó más de una semana completarlo, y eso fue en la plataforma botvs. La mayor ventaja es que empecé pronto. En 2014, el mercado estaba dominado por el arbitraje y no había muchas redes de alta frecuencia ni posiciones de captura, lo que hizo que la estrategia fuera como un pato en el agua. Más tarde, la competencia inevitablemente se hizo cada vez mayor. Cada vez hay más desafíos por delante y tenemos que hacer cambios importantes de vez en cuando para afrontarlos, pero en general todo va bien. Cuando la plataforma de negociación no cobra comisiones de gestión, es un paraíso para el comercio programático. Los inversores minoristas se inclinan a operar porque no cobran comisiones de gestión, lo que proporciona espacio para la alta frecuencia y el arbitraje. Todo esto se consigue básicamente con el 0,1 -0,2% Las comisiones por transacciones bidireccionales han llegado a su fin. No se trata solo de una cuestión de cobro, sino también de una disminución de la actividad general del mercado. Sin embargo, todavía hay mucho espacio para estrategias cuantitativas que no requieren altas frecuencias.