Con el desarrollo del comercio cuantitativo de activos blockchain, más y más comerciantes de activos blockchain han reconocido la herramienta del comercio cuantitativo. Pero como un principiante de este círculo, él o ella puede estar muy confundido acerca de muchos conceptos, y confundido por varios términos, software, información, etc. Este artículo le llevará a entender y familiarizarse con conceptos comunes, y aprender acerca de varias información útil en la transacción cuantitativa de activos blockchain desde varios aspectos. En este artículo se resumirán primero los conceptos básicos y luego se darán ejemplos en la plataforma de negociación cuántica FMZ correspondientes a estos conceptos básicos.
En primer lugar, debemos entender el concepto de los intercambios. Necesitamos comerciar los activos de blockchain para especulación, inversión, etc. Cada uno de ellos debe hacerse en un intercambio. Actualmente hay muchos intercambios: senior, emergente, grande y pequeño. En cuanto a qué intercambio realizar el comercio programático y cuantitativo, es necesario filtrar la información por sí mismo en función de varias informaciones.
Cuenta de cambio Cuenta de intercambio, es una cuenta registrada y abierta en este intercambio.SubcuentasLa creación, el mecanismo y el uso de aplicaciones de subcuentas para cada intercambio son diferentes, por lo que debe verificar la información específicamente en el sitio web del intercambio o consultar el servicio al cliente del intercambio.
Después de iniciar sesión con una cuenta en el sitio web del intercambio, generalmente puede ver que el lugar donde se pueden almacenar los activos de blockchain se divide en múltiples
Interfaz API con el sistema de intercambio
Muchos usuarios que no han utilizado esta función de intercambio pueden preguntar: REST
interfaz de protocolo yWebSocket
En algunos intercambios también se proporciona laFIX
Estos son sólo para la comprensión, en su mayoría usamos elREST
Estos documentos de interfaz se pueden encontrar generalmente en el enlace con la palabraAPIEn la parte inferior del sitio web oficial del intercambio. A veces es necesario revisar estos documentos para obtener información sobre algunos errores de interfaz. Los sistemas de API de cada intercambio son bastante diferentes, por lo que debe revisar la documentación para problemas específicos. Si no es un desarrollador de estrategias, estos son solo para comprender.
Clave API de la cuenta
La clave API de la cuenta debe ser comprendida cuidadosamente, porque está relacionada con la seguridad de los activos de blockchain almacenados en su intercambio.
Lo anterior dijo que la interfaz de API es un canal, entonces la API KEY se puede entender como elel pasoDebido al canal de acceso, no puede permitir el acceso a ningún programa, lo cual es muy peligroso. Por lo tanto, se requiere verificación, y la clave API se utiliza para verificar la identidad. Por lo tanto, la clave API está relacionada con la seguridad de sus activos y debe mantenerse correctamente.
Por lo general, la clave API de un intercambio se crea en la esquina superior derecha de la página de intercambio, en la página de administración de cuentas (también puede haber un intercambio colocado en otra parte de la página web, encuentre el enlace con la palabra clave access key
, y la segunda cadena se llama generalmentesecret key
También hay algunos intercambios cuya API KEY tiene otra información, por ejemplo, las interfaces OKEX V5 y V3 tienen unPassPhrase
, que también es una cadena (una cadena que necesita ser establecida por usted mismo para fortalecer la verificación de seguridad).
Al configurar la API KEY, generalmente es necesario configurar los permisos de esta API KEY, generalmente, hay permisos como
Objetos de intercambio El concepto de objeto de intercambio es el concepto de la plataforma de comercio de FMZ Quant (FMZ.COMEn pocas palabras, se refiere a un objeto formado por la encapsulación de la interfaz de intercambio. Este objeto es el intercambio en el código de la estrategia FMZ, que llama a la función exchange.GetTicker, en realidad llama a la interfaz para acceder a los datos del mercado de divisas. Véase la documentación de la API de la FMZ para más detalles:https://www.fmz.com/api#exchangeComo el objeto de intercambio de futuros y el objeto de intercambio al contado definidos en FMZ son diferentes tipos de objetos de intercambio, se distinguen (el objeto de intercambio de futuros tiene varias funciones más que el objeto de intercambio al contado, como establecer la función de apalancamiento, consultar la función de posición, etc., consulte la documentación para obtener detalles). Así que tome el intercambio Binance por ejemplo, puede ver cuando configurar en FMZ:También hay 2 Huobi.
Si la estrategia es operar en objetos de intercambio de futuros, agregue futuros, y si desea operar spot, agregue spot.
En la plataforma FMZ, el intercambio es un objeto de intercambio, que representa una cuenta de intercambio.https://www.fmz.com/api#exchanges
El mercado de negociación mencionado aquí se refiere a un bot de negociación específico (imagínese una página de negociación), generalmente el intercambio tiene múltiples sectores, tales comocomercio de divisas, operaciones con apalancamiento de divisas, Negociación de contratos etc.
Pares de negociación
Lo que generalmente llamamos un par comercial es simplemente lo que compramos y vendemos, por ejemplo, vamos al mercado a comprar repollo.
Las manchasComercio de divisas, operaciones con apalancamiento de divisasLas operaciones al contado sólo requieren especificar el tipo de interés de las operaciones al contado.Pares de negociacióndescribir en qué mercado se negocia.
Tomando el uso de la Plataforma de Comercio Cuántico FMZ como ejemplo, si desea hacer un par comercial de BTC a USDT, la moneda de negociación es BTC, y la moneda denominada es USDT.
Usamos la función de la plataforma FMZexchange.SetCurrency("BTC_USDT")
cambiar el par de operaciones actual a:BTC_USDT
¿ Qué pasa?
ParaSetCurrency
Para los que no entiendan, diríjanse a:https://www.fmz.com/api#exchange.setcurrency..¿ Qué pasa?
Paraexchange
Para los que no entiendan, diríjanse a:https://www.fmz.com/api#exchange
Los contratos (futuras, opciones)
En la actualidad, los contratos de cambio se dividen en:currency-based contracts
yUSDT-based contracts
Para el comercio programático y el comercio cuantitativo, es necesario determinar no solo el par de operaciones, sino también el contrato. Por ejemplo, si queremos operar con moneda BTC, entonces hay muchos contratos de moneda BTC, incluidos contratos trimestrales (entrega debida cada trimestre), contratos semanales (entrega debida el viernes de cada semana), contratos perpetuos (no entrega) y así sucesivamente. Si solo se utiliza un par de transacciones para la identificación, ¿qué tipo de contrato se realiza? Por lo tanto, se requiere un código de contrato específico para describir y determinar.
De esta manera, cuando describimos en qué mercado de contratos negociar, debemos describir qué moneda (pareja de operaciones) y qué contrato (código de contrato) es.
Contratos basados en divisas
Los contratos que utilizan moneda como margen (como los contratos basados en moneda BTC, que usan BTC como margen, y la ganancia también es BTC), la ganancia es moneda. Por lo general, la moneda nominal del par de operaciones del contrato con margen de moneda se expresa en USD (no hay necesidad de entrar en detalles, la mayoría de los intercambios utilizan esta expresión).BTC's currency-based quarterly contract
el mercado.
En la plataforma de comercio de FMZ Quant,exchange.SetCurrency("BTC_USD")
establece el par de operaciones, y luegoexchange.SetContractType("quarter")
En este sentido, la variedad actual de negociación es la variedad que se utiliza para calcular el volumen de negocios.BTC's currency-based quarterly contract
.
Contrato basado en USDT
Los contratos que usan USDT como margen (como los contratos basados en USDT de BTCBTC's USDT-based perpetual contract
el mercado.
En la plataforma de comercio de FMZ Quant,exchange.SetCurrency("BTC_USDT")
establece el par de operaciones, y luegoexchange.SetContractType("swap")
En este modo, la variedad de comercio actual esBTC's USDT-based perpetual contract
.
Las órdenes ¿A qué se refiere específicamente la orden? Una orden es la orden que presentamos al intercambio cuando compramos o vendemos en el intercambio. Las órdenes se dividen en órdenes de mercado, órdenes de límite, ó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 solo determina la cantidad a comprar y vender y qué comprar o vender independientemente de la cantidad de dinero, entonces dicha orden se llama una orden de mercado. Por supuesto, también hay órdenes condicionales (ordenes de stop-loss, órdenes de iceberg, etc.), que están relacionadas con el intercambio. Algunos intercambios lo proporcionan, mientras que algunos intercambios no. Para obtener detalles, puede consultar la documentación de la API del intercambio.
Las manchas La lista de precios de mercado de las órdenes al contado generalmente necesita prestar atención a las órdenes de compra. La cantidad de orden de la lista de precios de mercado de las órdenes al contado no es el número de monedas, sino la cantidad. Debido a que la orden de mercado no determina el precio, solo se puede usar la cantidad para determinar cuánto comprar. La cantidad de la orden de venta de la orden de mercado es el número de monedas, porque incluso si el precio es incierto, se puede determinar cuántas monedas vender.
Los contratos La cantidad de orden de un contrato es especial, generalmente el número de contratos. La interfaz de orden de contrato del intercambio es básicamente el número de contratos, y no hay interfaz que tome el número de monedas como la cantidad de orden. Los contratos perpetuos BTC basados en USDT de Binance pueden ordenar contratos perpetuos BTC en una cantidad de 0.01, pero no es el número de monedas, es el número de contratos, y un contrato es exactamente un BTC. En términos generales, la cantidad de pedido es el número de contratos, ya sea un pedido de mercado o un pedido límite.
¿Qué es tomar, hacer orden? Una orden tomadora es una orden que proporciona liquidez, simplemente, significa que el precio de compra actual del mercado 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 una orden de venta con un precio de venta de 12, en este momento, proporcioné una orden para la profundidad del disco, y esta orden es el fabricante.
Por ejemplo, las funciones de ordenexchange.Sell
yexchange.Buy
Cuando se coloca una orden, si la orden se clasifica como tomadora o creadora depende del precio de la orden y del mercado en ese momento, y si nuestra orden proporciona liquidez o reduce la liquidez.
Cuando el precio se pasa en -1 en la plataforma de negociación de FMZ Quant, es para colocar una orden de mercado, tenga en cuenta que el importe de la orden de la orden de compra del mercado al contado es el importe, entonces la orden de mercado es ciertamente una reducción de la liquidez, y debe ser una orden tomadora.
Mandato de orden condicional de cambio
Muchos intercambios también admiten órdenes condicionales, tales comoiceberg order
, stop-loss order
, take-profit order
, post_only: only maker order
, fok: complete the deal or cancel immediately
, ioc: deal immediately and cancel the remaining
, etc.
Estas órdenes pueden utilizar elexchange.IO
En la plataforma de negociación FMZ Quant, la función permite acceder directamente a la interfaz de órdenes de intercambio para especificar los parámetros (especificar las órdenes condicionales a realizar) para realizar una orden.exchange.IO
Función, consulte la documentación de la API FMZ:https://www.fmz.com/api#exchange.io…
Una plataforma de negociación cuantitativa puede considerarse como una herramienta de negociación cuantitativa, puede ser un sistema de software en línea, puede ser un sitio web, puede ser un programa ejecutable local, o incluso puede ser un proyecto de código abierto en GITHUB.
Plataforma de negociación cuántica FMZ FMZ Quant Trading Platform es un sistema distribuido en línea.https://www.fmz.com/bbs-topic/9090
Sistemas de pruebas de retroceso para las plataformas de negociación cuantitativas ¿Qué es un sistema de backtesting? En pocas palabras, el sistema de backtesting es reproducir los datos históricos de una cierta variedad de comercio, y dejar que una cierta estrategia se incluya en la reproducción, y obtener el rendimiento comercial de esta estrategia al simular la reproducción de datos históricos. Sistema de pruebas de retroceso en la plataforma de negociación cuántica FMZ:
Nombre | Tipo de producto | Descripción |
---|---|---|
Bitfinex | Objetos de cambio al contado | Apoyar pares de negociación limitados, tales como: BTC_USD, ETH_USD, LTC_USD, etc. tenga en cuenta que la moneda denominada en el par de negociación es USD, que es denominada en USD |
Binance | Objetos de cambio al contado | Apoyar pares comerciales limitados, como: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC, etc. |
Está bien. | Objetos de cambio al contado | V. Por ejemplo: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC, etc. |
- ¿ Qué? | Objetos de cambio al contado | Apoyar pares comerciales limitados, como: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC, etc. |
Futuros de OKEX | Objetos de cambio de futuros | Soporte para pares de operaciones limitados, como: BTC_USD, ETH_USD, etc., la moneda denominada del par de operaciones es USD. Después de establecer el código de contrato específico (consulte la función exchange.SetContractType), el contrato es un contrato basado en moneda |
- ¿ Qué es eso? | Objetos de cambio de futuros | HuobiDM es un contrato de futuros Huobi (contratos Huobi), que admite pares de operaciones limitados, como: BTC_USD, ETH_USD, etc., la moneda de la denominación del par de operaciones es USD. Después de establecer el código de contrato específico (consulte la función de intercambio.SetContractType), el contrato es un contrato basado en moneda. |
BitMEX | Objetos de cambio de futuros | El par de operaciones es: XBT_USD. Después de establecer el código de contrato específico (consulte la función exchange.SetContractType), el contrato es un contrato basado en moneda |
Futuros de Binance | Objetos de cambio de futuros | Apoya pares de operaciones limitados, como: BTC_USDT, ETH_USDT, etc., la moneda denominada del par de operaciones es USDT. Después de establecer el código de contrato específico (consulte la función exchange.SetContractType), el contrato es un contrato basado en USDT |
Opciones de derivados | Objetos de intercambio de opciones | El par de operaciones es: BTC_USD, ETH_USD. Después de establecer el código de contrato específico (consulte la función exchange.SetContractType), el contrato es un contrato basado en moneda |
KEY API de la plataforma de negociación cuantitativa
El intercambio tiene interfaces API, y la plataforma de negociación cuantitativa también tiene interfaces API.Extended API
, algunas funciones de la plataforma FMZ se pueden operar programáticamente, por ejemplo, crear bots reales en lotes, iniciar bots reales en lotes, modificar la configuración de bots reales en lotes, etc., para obtener detalles, consulte:https://www.fmz.com/api#api-extension-of-fmz-platformLa API de extensión también se puede utilizar para hacer algo interesante, comoUtilizando la API de extensión de la plataforma de negociación FMZ Quant para implementar el comercio de señales de alarma de TradingView
Dicho esto, ¿qué es exactamente el control de mi cuenta de intercambio para el comercio automáticamente? Esta es la encarnación específica del comercio programático y el comercio cuantitativo - scripts de comercio programático. Estos programas de bots reales se pueden escribir en varios idiomas. Por ejemplo, la plataforma de comercio de FMZ Quant admite escribir estrategias de comercio de bots reales en lenguajes JavaScript, Python y C ++. Estos programas de script realizan varias operaciones como la compra y venta de una cuenta a través de la interfaz API del intercambio.
El dispositivo en el que se ejecuta el script de negociación programática
El programa de script de bot real debe tener un portador de dispositivo (en resumen, el bot real debe tener un lugar donde se ejecuta). Las transacciones cuantitativas generalmente implementan el programa de bot real en el servidor Alibaba Cloud en Hong Kong (por supuesto, también puede usar servidores de otros lugares, otros operadores).timeout
se informará.
En la plataforma FMZ, generalmente puede implementar su propio programa de software en el servidor de Alibaba Cloud de Hong Kong (el software de portador de bots real de la plataforma de comercio cuantitativo FMZ se llama [docker], y el bot real de comercio cuantitativo se ejecuta basado en el software docker).
Elección del lenguaje de programación Hay demasiados lenguajes de programación, y casi todos ellos pueden ser utilizados para escribir programas reales de bot script. Aquí también tomaremos la Plataforma de Comercio Cuántico FMZ como ejemplo para comprender las ventajas de varios lenguajes.
El JavaScript Es fácil de usar, y es casi independiente del entorno del dispositivo, admite el estándar ES6.
El Python Depende del entorno del dispositivo hasta cierto punto, y se pueden instalar varias bibliotecas, con una alta escalabilidad. (Recomendado para estudiantes que estén familiarizados con la plataforma FMZ y Python)
C++
La estrategia tiene la velocidad de ejecución más rápida, la mayor eficiencia, pero es más difícil de usar.
Después de familiarizarse con él, otros lenguajes de programación sonso easy!
.
Mi Lenguaje MyLanguage soportado por la plataforma FMZ es el comando más básico.
Estrategia de empalme del módulo visual La estrategia de creación visual sólo se utiliza para mejorar el interés y entender la lógica del programa.