avatar of 发明者量化-小小梦 发明者量化-小小梦
Seguir Mensajes Privados
4
Seguir
1119
Seguidores

Si eres un principiante en el trading cuantitativo en el ámbito de las criptomonedas, echa un vistazo a este artículo: te acercamos al trading cuantitativo en el ámbito de las criptomonedas (parte 1)

Creado el: 2021-04-12 10:17:12, Actualizado el: 2024-12-04 21:22:42
comments   9
hits   5106

Si eres un principiante en el trading cuantitativo en el ámbito de las criptomonedas, echa un vistazo a este artículo: te acercamos al trading cuantitativo en el ámbito de las criptomonedas (parte 1)

Si eres un principiante en el trading cuantitativo en el ámbito de las criptomonedas, echa un vistazo a este artículo: te acercamos al trading cuantitativo en el ámbito de las criptomonedas (parte 1)

Con el desarrollo del comercio cuantitativo de activos blockchain, cada vez más comerciantes de activos blockchain se han dado cuenta de la herramienta del comercio cuantitativo. Sin embargo, como nuevo miembro de este círculo, estoy confundido acerca de muchos conceptos. Estoy confundido por todos los términos, software, información, etc. Este artículo le ayudará a comprender y familiarizarse con conceptos comunes y aprender sobre diversa información útil en el comercio cuantitativo de activos blockchain desde múltiples aspectos. Este artículo primero resume los conceptos básicos y luego brinda ejemplos correspondientes a estos conceptos básicos en la plataforma de comercio cuantitativo FMZ.

  • ### Intercambios

En primer lugar, debemos comprender el concepto de intercambio. Necesitamos intercambiar los activos de blockchain que tenemos en nuestras manos para especular, invertir, etc. en el intercambio. En la actualidad existen muchas bolsas de valores, algunas establecidas, algunas emergentes, algunas grandes y otras pequeñas. En cuanto a en qué bolsa realizar operaciones programadas y cuantitativas, debe seleccionarla usted mismo basándose en todo tipo de información.

  • Cuenta de cambio Una cuenta de intercambio es una cuenta registrada y abierta en este intercambio. Los activos de blockchain se pueden almacenar en esta cuenta para realizar transacciones. Algunos intercambios pueden crear y configurar una cuenta maestraSubcuentasEs conveniente separar los activos para el comercio y la especulación. La creación de la aplicación de subcuenta, el mecanismo y el uso de cada intercambio son diferentes, por lo que debe ir al sitio web del intercambio para verificar esta información. O consulte con el servicio de atención al cliente de cambio.

    Después de iniciar sesión con una cuenta en el sitio web de intercambio, generalmente puede ver que los lugares donde se pueden almacenar los activos de blockchain están divididos en múltiples “cuentas” (estas son cuentas lógicas, no cuentas de intercambio). Generalmente se divide enCuenta de billeteraCuenta de operaciones de moneda a monedaCuentas financierasCuenta de operaciones por contrato esperar. Los detalles pueden variar de un cambio a otro. Por lo general, después de que se cargan los activos de blockchain (monedas), estos quedan en una cuenta determinada (puede ser en una cuenta de billetera o directamente en una cuenta de comercio de moneda a moneda). Por lo tanto, después de recargar, debes verificar dónde están los activos y transferirlos cuando sea necesario (por ejemplo, al operar con futuros).

  • Interfaz API del sistema de intercambio Muchos estudiantes que no han utilizado esta función de intercambio pueden preguntarse: “¿Qué es la interfaz API?” La interfaz API es la interfaz proporcionada por el sistema de intercambio que permite las operaciones del programa. En pocas palabras, el intercambio proporciona un canal para permitir que los programas (de script real) coloquen órdenes, cancelen órdenes, verifiquen órdenes y verifiquen cuentas en el sistema de intercambio (un determinado par comercial en el sitio web del intercambio, puede imaginarlo usted mismo) Activos, comprobar posiciones y otras operaciones. Las API de Exchange se dividen en varios tipos de interfaces, generalmenteRESTInterfaz de protocolo,WebSocketInterfaz de protocolo. Algunos intercambios también ofrecenFIXInterfaz de protocolo. Estos son solo para comprensión, los más utilizados sonRESTLa interfaz del protocolo. Estos documentos de interfaz suelen estar disponibles en la parte inferior del sitio web oficial del exchange.APIEncontrado en el enlace. A veces, cuando desea consultar información sobre errores de interfaz, aún necesita consultar estos documentos. Los sistemas API de cada exchange son diferentes y varían mucho. Para problemas específicos, debes consultar la documentación. Si no eres un desarrollador de estrategias, este contenido puede usarse únicamente como referencia.

  • CLAVE API de tu cuenta Debes comprender cuidadosamente la CLAVE API de la cuenta, porque está relacionada con la seguridad de los activos de blockchain almacenados en tu intercambio. Como se mencionó anteriormente, la interfaz API es un canal, por lo que la CLAVE API puede entenderse como el canal.Aprobar. Debido a que existe un canal de acceso, no se puede permitir el acceso a todos los programas, ya que eso sería muy peligroso. Por lo tanto, se requiere verificación y se utiliza API KEY para verificar la identidad. Por lo tanto, API KEY está relacionada con la seguridad de sus activos y debe conservarse adecuadamente. Por lo general, la CLAVE API de un intercambio se crea en la página de administración de cuentas en la esquina superior derecha de la página del intercambio (algunos intercambios pueden colocarla en otro lugar de la página web, busque un enlace con la palabra clave “API” y haga clic en él para Encuéntralo). API KEY consta de dos cadenas. La primera cadena suele llamarseaccess key, la segunda cadena generalmente se llamasecret key. También existen exchanges con API KEY que tienen otra información, como por ejemplo las interfaces OKEX V5 y V3 tienen unaPassPhrase, que también es una cadena (una cadena que debe configurar usted mismo para reforzar la verificación de seguridad). Al configurar la API KEY, normalmente también es necesario configurar los permisos de esta API KEY, que generalmente incluyen permisos como “comercio” y “retirar monedas”. Debe configurarlos de acuerdo con el propósito de la API KEY. El retiro El permiso debe utilizarse con precaución. Además de los permisos, API KEY también puede establecer una lista blanca de direcciones IP. Si usa una IP fuera de la lista blanca de direcciones IP (si no comprende el concepto de direcciones IP, puede buscar en Baidu) para acceder a la interfaz, acceda Se denegará (es decir, IP fuera de la lista blanca de IP). La red no puede acceder ni operar su cuenta).

  • Objeto de intercambio El concepto de objeto de intercambio es un concepto en la plataforma de comercio cuantitativo del inventor (FMZ.COM). En pocas palabras, se refiere a un objeto formado al encapsular la interfaz de intercambio. Este objeto es un intercambio en el código de estrategia de FMZ. Al llamar a la función exchange.GetTicker, se llama a la interfaz para acceder a los datos del mercado de divisas. Para obtener más detalles, consulte la documentación de la API de FMZ: https://www.fmz.com/api#exchange Una bolsa puede tener una sección de futuros y una sección al contado. Dado que los objetos de intercambio de futuros y los objetos de intercambio al contado definidos en FMZ son tipos diferentes de objetos de intercambio, se distinguen (los objetos de intercambio de futuros tienen varias funciones más que los objetos de intercambio al contado, como la función de configuración de apalancamiento y la función de consulta de posición). etc., consulte la documentación para obtener más detalles). Por ejemplo, cuando configuras Binance Exchange en FMZ, es posible que veas lo siguiente: Si eres un principiante en el trading cuantitativo en el ámbito de las criptomonedas, echa un vistazo a este artículo: te acercamos al trading cuantitativo en el ámbito de las criptomonedas (parte 1) Huobi también tiene 2. Si eres un principiante en el trading cuantitativo en el ámbito de las criptomonedas, echa un vistazo a este artículo: te acercamos al trading cuantitativo en el ámbito de las criptomonedas (parte 1)

    Si la estrategia es operar sobre objetos de bolsa de futuros, agregar futuros; si es operar sobre contado, agregar contado. La razón de este diseño es que las interfaces de futuros y spot del intercambio pueden ser completamente diferentes, e incluso las direcciones base de la interfaz pueden ser diferentes, por lo que se encapsulan por separado.

    En la plataforma FMZ, un intercambio es un objeto de intercambio que representa una cuenta de intercambio. Para obtener más información, consulte: https://www.fmz.com/api#exchanges

  • Mercado de Comercio

El mercado comercial mencionado aquí se refiere a la superficie comercial específica (imagine una página comercial determinada) y, normalmente, el intercambio tiene varias secciones. Por ejemplo:Comercio de moneda a monedaComercio apalancado de moneda a monedaComercio por contratoesperar.

  • Pares comerciales Lo que habitualmente llamamos “pares comerciales” se puede entender simplemente como las cosas que compramos y vendemos, como cuando vamos al mercado a comprar repollo. Entonces “Dinero de repollo” Es una transacción que es correcta (subraye _ para separar) el comprador paga y recibe repollo, y el vendedor paga y recibe dinero. Vaya al intercambio para obtener pares comerciales específicos, por ejemplo:BTC_USDTCuando compramos en este par comercial, nos referimos a pagar USDT para obtener BTC. La operación de venta es pagar BTC y recibir USDT. porBTC_USDTPor ejemplo, normalmente llamamos a BTC la moneda comercial y a USDT la moneda de fijación de precios.

    • Moneda de transacción, BaseCurrency.
    • La moneda de fijación de precios, QuoteCurrency.
  • Bienes al contado Comercio de moneda a monedaComercio apalancado de moneda a moneda, clasificado como comercio al contado. El comercio al contado solo requiere claridadPares comercialesPuede describir en qué mercado se lleva a cabo la transacción.
    Tomando la plataforma de comercio cuantitativo FMZ como ejemplo, si desea realizar un intercambio de pares BTC a USDT. La moneda de transacción es BTC y la moneda de liquidación es USDT. Utilizamos la función de la plataforma FMZexchange.SetCurrency("BTC_USDT")Cambiar el par comercial actual a:BTC_USDT. paraSetCurrencySi no lo entiendes, puedes leer: https://www.fmz.com/api#exchange.setcurrency... paraexchangeSi no lo entiendes, puedes leer: https://www.fmz.com/api#exchange

  • Contratos (futuros, opciones) El comercio por contrato es bastante diferente del comercio al contado. Actualmente, los contratos de intercambio se dividen en币本位合约USDT本位合约Para el trading programado y el trading cuantitativo, es necesario no solo determinar el par comercial sino también el contrato. Por ejemplo, si desea operar con BTC, existen muchos contratos de BTC, incluidos los contratos trimestrales (que vencen y se entregan cada trimestre), los contratos semanales (que vencen y se entregan todos los viernes) y los contratos perpetuos (sin entrega). Espere. Entonces, si solo utilizamos un identificador de par comercial, ¿qué tipo de contrato deberíamos utilizar? Por lo tanto, se necesita un código de contrato específico para describirlo y confirmarlo. De esta manera, cuando describimos en qué mercado de contratos estamos operando, debemos describir qué moneda (par comercial) y qué contrato (código de contrato) es.

    • Contratos basados ​​en divisas Para los contratos que utilizan monedas como margen (como los contratos basados ​​en monedas BTC, que utilizan BTC como margen y los ingresos también son BTC), los ingresos también son en monedas. Generalmente, la moneda denominada de los pares comerciales de contratos de margen de moneda se expresa en USD (no es necesario entrar en detalles, la mayoría de los intercambios utilizan esta expresión). Entonces, el par comercial es BTC_USD y el contrato es un contrato trimestral. Esto significa que el mercado comercial del que estamos hablando esBTC的币本位季度合约mercado. En la plataforma de negociación cuantitativa FMZ,exchange.SetCurrency("BTC_USD")Establezca el par comercial y luegoexchange.SetContractType("quarter")Establecer contratos trimestrales. Entonces, el tipo de comercio actual esBTC的币本位季度合约.

    • Contratos con margen en USDT Para los contratos que utilizan USDT como margen (como el contrato con margen USDT de BTC, que utiliza USDT como margen y el ingreso también es USDT), el ingreso también es USDT. Generalmente, la moneda denominada del par comercial de contratos con margen en USDT se expresa en USDT. Entonces, el par comercial es BTC_USDT y el contrato es un contrato perpetuo. Esto significa que el mercado comercial del que estamos hablando esBTC的USDT本位永续合约mercado. En la plataforma de negociación cuantitativa FMZ,exchange.SetCurrency("BTC_USDT")Establezca el par comercial y luegoexchange.SetContractType("swap")Establecer un contrato perpetuo. Entonces, el tipo de comercio actual esBTC的USDT本位永续合约.

  • Orden ¿A qué se refiere exactamente una orden? Una orden es la lista que enviamos al exchange cuando compramos o vendemos en el exchange. Las órdenes se dividen en órdenes de mercado, órdenes limitadas, órdenes condicionales, etc. Los atributos más básicos de una orden son: el objeto de la orden (en pocas palabras, qué comprar o vender), la cantidad de la orden (cuánto comprar o vender) y el precio de la orden (a qué precio comprar o vender). Si la siguiente orden no se preocupa por la cantidad de dinero, sino que solo determina la cantidad de compra y venta y qué comprar y vender, entonces dicha orden se denomina orden de mercado. Por supuesto, también existen órdenes condicionales (órdenes de stop loss, órdenes iceberg, etc.) que están relacionadas con los exchanges específicos. Algunos exchanges las ofrecen y otros no. Puede consultar los documentos de la API de exchange para obtener más detalles.

    • Bienes al contado Las órdenes de compra en el mercado al contado suelen requerir atención. La cantidad de órdenes de compra en el mercado al contado no es la cantidad de monedas, sino la cantidad. Debido a que la orden de mercado no determina el precio, el monto de compra solo puede determinarse por el monto. La cantidad de una orden de venta en el mercado es la cantidad de monedas, porque incluso si el precio es incierto, la cantidad de monedas a vender es segura.

    • contrato La cantidad de pedidos de un contrato es bastante especial, generalmente el número de contratos. La interfaz de pedidos de contratos del exchange es básicamente el número de contratos, y no hay ninguna interfaz que utilice el número de monedas como cantidad de pedidos. El contrato perpetuo de BTC basado en USDT de Binance puede realizar un pedido de contrato perpetuo de BTC por un monto de 0,01, pero no es la cantidad de monedas, sino la cantidad de contratos, excepto que un contrato resulta ser un BTC. En términos generales, independientemente de si se trata de una orden de mercado o una orden limitada, la cantidad de la orden es el número de contratos.

    • ¿Qué son las órdenes de tomador y de fabricante? Una orden de toma es una orden que proporciona liquidez. En términos simples, el precio de compra actual es 10 y el precio de venta es 11. En este momento, coloco una orden de compra con un precio de compra de 9, o coloco una orden de venta con un precio de compra de 11. Precio de venta de Una orden de venta de 12. En este momento, doy una orden a la profundidad del tablero. Mi orden es la creadora. En este ejemplo, si coloco una orden de compra a un precio de 11, mi orden se negociará con la orden de venta a un precio de 11. En este momento, tomo una orden del mercado. La orden de compra que coloqué a ese precio El tiempo era una orden tomada.

    Por ejemplo, la función de orden encapsulada en la Plataforma de Comercio Cuantitativo de Inventorexchange.Sellexchange.BuyEncapsula interfaces comunes de órdenes límite y órdenes de mercado. Al realizar un pedido, si la orden se clasifica como tomador o creador depende del precio de la orden y del precio del mercado en ese momento, y de si nuestra orden proporciona liquidez o la reduce. En la plataforma de negociación cuantitativa Inventor, si el precio se pasa como -1, significa que se está colocando una orden de mercado. Tenga en cuenta que la cantidad de la orden de mercado al contado es el monto, por lo que la orden de mercado definitivamente reducirá la liquidez y es definitivamente una orden del tomador.

    • Orden condicional de cambio Muchos intercambios también admiten órdenes condicionales.比如冰山委托止损单, 止盈单, post_only:只做maker单fok:全部成交或立即取消ioc:立即成交并取消剩余esperar. Estas órdenes se pueden utilizar en la plataforma de comercio cuantitativo de Inventorexchange.IOLa función accede directamente a la interfaz de orden de intercambio para especificar los parámetros que se deben configurar (especificar qué orden condicional colocar) para realizar una orden. paraexchange.IOPara el uso de la función, consulte la documentación de la API de FMZ: https://www.fmz.com/api#exchange.io...
  • Plataforma de comercio cuantitativo

Una plataforma de comercio cuantitativo puede considerarse una herramienta de comercio cuantitativo, que puede ser un sistema de software en línea, un sitio web, un programa ejecutable local o incluso un proyecto de código abierto en GITHUB. En pocas palabras, puedes considerarlo como una herramienta para el comercio cuantitativo.

  • Plataforma de negociación cuantitativa FMZ La plataforma de negociación cuantitativa Inventor es un sistema distribuido en línea. Para obtener una introducción a la plataforma y tutoriales, consulte: https://www.fmz.com/bbs-topic/4145

  • Sistema de backtesting de plataforma de trading cuantitativo ¿Qué es un sistema de backtesting? En pocas palabras, el sistema de backtesting reproduce los datos históricos de un determinado producto comercial, le aplica una determinada estrategia y obtiene el rendimiento comercial de esta estrategia al simular la reproducción de datos históricos. Por lo tanto, el sistema de backtesting es simplemente un entorno de pruebas (piense en el montón de arena con el que juegan los niños, donde puede crear todo tipo de cosas, pero son solo modelos y no tienen nada que ver con cosas reales). Por lo tanto, es imposible que el Sistema de backtesting para tener transacciones reales. Cualquier función.

    Sistema de backtesting de la plataforma de comercio cuantitativo Inventor:

    Nombre Tipo Descripción
    Bitfinex Objeto de intercambio al contado Admite pares comerciales limitados como: BTC_USD, ETH_USD, LTC_USD, etc. Tenga en cuenta que el par comercial está denominado en USD.
    Binance Objeto de intercambio al contado Admite pares comerciales limitados como: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC, etc.
    OKEX Objeto de intercambio al contado Admite pares comerciales limitados como: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC, etc.
    Huobi Objeto de intercambio al contado Admite pares comerciales limitados como: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC, etc.
    Objeto de intercambio de futuros de OKEX Admite pares comerciales limitados como BTC_USD, ETH_USD, etc. El par comercial está denominado en USD. Después de configurar el código de contrato específico (consulte la función exchange.SetContractType), el contrato es un contrato basado en moneda
    HuobiDM Objeto de intercambio de futuros HuobiDM es Huobi Futures (Huobi Contract), que admite pares comerciales limitados como BTC_USD, ETH_USD, etc. El par comercial está denominado en USD. Establezca el código de contrato específico (consulte la función exchange.SetContractType) Después que el contrato es un contrato basado en moneda
    BitMEX Objeto de bolsa de futuros El par de negociación es: XBT_USD. Después de configurar el código de contrato específico (consulte la función exchange.SetContractType), el contrato es un contrato basado en divisas.
    Binance Futures Objeto de intercambio de futuros Admite pares comerciales limitados como BTC_USDT, ETH_USDT, etc. El par comercial está denominado en USDT. Después de configurar el código de contrato específico (consulte la función exchange.SetContractType), el contrato se convierte en un contrato basado en USDT
    Opciones de Deribit Objeto de intercambio de opciones Pares de negociación: BTC_USD, ETH_USD. Después de configurar el código de contrato específico (consulte la función exchange.SetContractType), el contrato es un contrato basado en monedas.
  • CLAVE API para plataforma de comercio cuantitativo El intercambio tiene una interfaz API y la plataforma de comercio cuantitativo también tiene una interfaz API. Tomando como ejemplo la plataforma de comercio cuantitativo FMZ, la interfaz API de FMZ se llama扩展API. Algunas funciones de la plataforma FMZ se pueden operar mediante programación. Por ejemplo, crear discos reales por lotes, iniciar discos reales por lotes, modificar configuraciones de discos reales por lotes, etc. Para obtener más detalles, consulte: https://www.fmz.com/api#fmz%E5%B9%B3%E5% 8F%B0%E6% 89%A9%E5%B1%95api La API de extensión también se puede utilizar para hacer algunas cosas interesantes, como:Utilice la API de extensión de la plataforma de comercio cuantitativo de Inventor para implementar el comercio de señales de alerta de TradingView

  • Scripts de trading programático

Dicho esto, ¿qué es exactamente lo que controla automáticamente mi cuenta de exchange para operar? Esta es la manifestación concreta del trading programático y del trading cuantitativo: el script de trading programático. Estos programas en tiempo real se pueden escribir en varios lenguajes. Por ejemplo, la plataforma de operaciones cuantitativas FMZ permite escribir estrategias de operaciones en tiempo real en JavaScript, Python y C++. Estos programas de script utilizan la interfaz API del exchange para realizar diversas operaciones en una cuenta, como comprar y vender.

  • El dispositivo donde se ejecuta el script de comercio programático El programa de script en tiempo real debe tener un soporte de dispositivo (en términos simples, el script en tiempo real debe tener un lugar donde ejecutarse). El comercio cuantitativo en el mundo de las criptomonedas generalmente implica la implementación de programas en tiempo real en los servidores de Alibaba Cloud en Hong Kong (por supuesto, también puede utilizar servidores en otros lugares o de otros operadores). Dado que muchos intercambios actualmente requieren acceso a redes en el extranjero, no se puede acceder a muchas interfaces API de intercambio mediante servidores nacionales. En términos generales, se informará un error si el acceso a la interfaz no está disponible.timeout。 En FMZ Quantitative, generalmente puede usar el servidor Alibaba Cloud de Hong Kong para implementar sus propios programas de software (el software de transporte en tiempo real de la Plataforma de comercio cuantitativo de Inventor se llama [Trustee], y el comercio cuantitativo en tiempo real se basa en el Software fiduciario).

    • Sistema de equipamiento Varios sistemas operativos: Windows/Linux/MAX OS/ARM Linux, etc., seleccione según el script real. En FMZ Quantitative, normalmente utilizamos el servidor del sistema Linux. El uso del sistema Linux en realidad no es complicado. Para que su uso sea sencillo, solo es necesario dominar algunos comandos, que se explican en el tutorial de FMZ.
  • Elección del lenguaje de script Hay muchos lenguajes de programación y básicamente todos ellos pueden usarse para escribir programas de scripts de disco real. Aquí también utilizaremos la plataforma de comercio cuantitativo FMZ como ejemplo para comprender las ventajas de varios lenguajes. En FMZ Quant, podemos escribir estrategias (programas de script de robot) en los siguientes lenguajes de programación:

    • JavaScript Es simple y fácil de usar, casi no depende del entorno del dispositivo y es compatible con el estándar ES6. La velocidad de ejecución del programa de estrategia sólo es superada por la de la estrategia C++. (Recomendado para principiantes en el trading cuantitativo de FMZ)

    • Python Depende del entorno del dispositivo hasta cierto punto, se pueden instalar varias bibliotecas y tiene una gran escalabilidad. (Recomendado para estudiantes que estén familiarizados con la plataforma FMZ y Python)

    • C++ Esta estrategia tiene la velocidad de ejecución más rápida y la mayor eficiencia, pero es más difícil de usar. Juega con otros sentimientosso easy!

    • Lenguaje Mai Los idiomas de micrófono admitidos por FMZ son solo los comandos más básicos.

      • El lenguaje Mai es adecuado para escribir algunas estrategias de tendencias.
      • Cuando aparece una señal comercial en Mai Language, al ejecutar instrucciones comerciales, solo se pueden aceptar órdenes y no se admiten órdenes pendientes.
      • El lenguaje Mai es adecuado para estrategias para objetos de intercambio individuales (solo puede controlar un objeto de intercambio. Aunque el lenguaje Mai de FMZ admite la incorporación de código JS, es un poco difícil para principiantes y no se estudiará por el momento)
      • El lenguaje Mai solo es adecuado para estrategias de una sola variedad. Se recomienda utilizar JavaScript, Python y C++ para el diseño de estrategias de múltiples variedades.
      • Información relacionada con el uso del lenguaje en el escenario de FMZ: https://www.fmz.com/digest-topic/5789 https://www.fmz.com/digest-topic/5768
    • Estrategia de empalme de módulos visuales La creación de estrategias de forma visual es sólo para mejorar el interés y la comprensión de la lógica del programa. Está bien crear una lógica simple, pero no es adecuado diseñar estrategias de esta manera si la estrategia es un poco complicada, porque es difícil de mantener y expandir, y es aún más difícil diseñar una lógica compleja.