Com o desenvolvimento da negociação quantitativa de ativos blockchain, mais e mais comerciantes de ativos blockchain reconheceram a ferramenta da negociação quantitativa. Mas como um novo membro deste círculo, você está muito confuso sobre muitos conceitos, confuso por vários termos, software, informações, etc. Este artigo irá levá-lo a entender e familiarizar-se com conceitos comuns, e entender várias informações úteis na negociação quantitativa de ativos blockchain de vários aspectos. Este artigo resume primeiro os conceitos básicos e, em seguida, dá exemplos na plataforma FMZ Quant Trading correspondentes a esses conceitos básicos.
Em primeiro lugar, precisamos entender o conceito de plataforma. Precisamos especular e investir nos ativos blockchain em nossas mãos em plataformas. Existem muitas plataformas atualmente, seniores, emergentes, de grande escala e de pequena escala. Quanto a qual plataforma conduzir negociação programática e quantitativa, é necessário selecionar por si mesmo com base em várias informações.
Conta da plataforma Uma conta de plataforma é uma conta registrada e aberta na plataforma. Os ativos blockchain podem ser armazenados nesta conta para negociação.SubcontasA aplicação, o mecanismo e o uso da sub-conta para cada plataforma são diferentes. Você precisa verificar as informações no site da plataforma específica. Ou consulte o serviço ao cliente da plataforma.
Após entrar com uma conta no site da plataforma, você geralmente pode ver que o lugar onde os ativos blockchain podem ser armazenados é dividido em várias
API do sistema de plataforma
Muitos estudantes que não usaram a função da plataforma podem perguntar:
A API da plataforma é dividida em vários tipos de interfaces; geralmente, existemREST
interfaces de protocolo eWebSocket
As interfaces de protocolo.FIX
A documentação dessas interfaces geralmente pode ser encontrada no link com a palavraAPINo fundo do site oficial dessas plataformas. Às vezes, para consultar algumas informações de erro de interface, você ainda precisa verificar a documentação da interface. O sistema de API de cada plataforma é diferente, e as diferenças são relativamente grandes. Para problemas específicos, você precisa verificar sua documentação.
Chave API da conta A chave da API da conta deve ser compreendida cuidadosamente, porque isso está relacionado à segurança dos ativos blockchain armazenados na plataforma que você usa. Diz-se que a interface API é um canal, então a API KEY pode ser entendida como opassagemSe houver um canal de acesso, nem todos os programas podem ter acesso, pois é perigoso. Portanto, a verificação é necessária e a API KEY é usada para verificar a identidade. Portanto, a API KEY está relacionada à segurança de seus ativos, por isso deve ser mantida adequadamente.
Normalmente, o APIKEY de uma plataforma é criado no canto superior direito da página da plataforma, na página de gerenciamento de contas (também pode haver plataformas colocando em outro lugar na página da web, encontre o link com a palavra-chave access key
, e a segunda cadeia é geralmente chamadasecret key
. Há também plataformas cuja API KEY também tem outras informações.PassPhrase
, que também é de uma cadeia (uma cadeia que precisa ser definida por si mesmo para fortalecer a verificação de segurança).
Ao configurar a API KEY, geralmente é necessário definir as permissões dessa API KEY. Geralmente, existem permissões como
Objeto de troca
O conceito de objecto de troca é o conceito na plataforma de negociação de quantidade FMZ (FMZ.COMEm termos simples, refere-se a um objeto gerado pela encapsulamento da interface da plataforma.
Este objeto é
Se a estratégia é operar objetos de troca de futuros, adicione futuros, e se você quiser operar objetos de troca spot, adicione spot.
Na plataforma FMZ,
O mercado de negociação mencionado aqui refere-se a uma situação específica do mercado de negociação (imagine uma página de negociação), geralmente negociada em vários módulos.negociação de divisas, negociação de margem à vista, negociação de contratos, etc.
Pares de negociação
O que nós normalmente queremos dizer por "pares comerciais" é simplesmente o que compramos e vendemos, como quando vamos ao mercado para comprar repolho.
Espetáculonegociação de divisasenegociação de margem à vistaA negociação à vista só precisa de especificar o montante dopar de negociaçãoDescrever em que mercado é negociado.
Por exemplo, quando você o usa no FMZ Quant, se você quiser fazer um par de negociação de troca de BTC para USDT. A moeda de negociação é BTC, e a moeda de cotação é USDT.
Usamos a funçãoexchange.SetCurrency("BTC_USDT")
na plataforma FMZexchange.SetCurrency("BTC_USDT")
para mudar o par de negociação atual para:BTC_USDT
.
Para os alunos que não entendemSetCurrency
, pode referir-se a:https://www.fmz.com/api#exchange.setcurrency- Não.
Para os alunos que não entendemexchange
, pode referir-se a:https://www.fmz.com/api#exchange.
Contrato (futures e opções)
A negociação de contratos é muito diferente da negociação à vista.crypto-margined contracts
eUSDT-margined contracts
Para negociação programática e negociação quantitativa, é necessário determinar não apenas o par de negociação, mas também o tipo de contrato. Por exemplo, se quisermos negociar com BTC, então existem muitos contratos BTC, incluindo contratos trimestrais (entrega quando expirado a cada trimestre), contratos semanais (entrega quando expirado a cada sexta-feira), contratos perpétuos (não entrega), etc. Então, se apenas um par de negociação for usado para identificação, que tipo de contrato será usado?
Desta forma, quando descrevemos em que mercado de contratos negociar, precisamos descrever que símbolo de moeda (pares de negociação) e que tipo de contrato (código de contrato) é.
Contrato de criptomoedas com margem
Os contratos que usam criptomoeda como margem (como o contrato cripto-marginado BTC, que usa BTC como margem, e o retorno também é BTC), seu retorno também é criptomoeda. Normalmente, a moeda de cotação do par de negociação do contrato cripto-marginado é expressa em USD (não é necessário aprofundar isso, a maioria das plataformas usa para expressar).BTC crypto-margined quarterly contract
mercado.
Na FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USD")
define o par de negociação, e depoisexchange.SetContractType("quarter")
O símbolo de negociação actual é o símbolo de negociação de um contrato trimestral.BTC crypto-margined quarterly contract
.
Contrato com margem em USDT
Os contratos que usam USDT como margem (como o contrato perpétuo com margem BTC USDT, que usa USDT como margem, e o retorno também é USDT), seu retorno também é USDT. Normalmente, a moeda de cotação do par de negociação do contrato com margem USDT é expressa em USDT. Portanto, o par de negociação é BTC_USDT, e o contrato é um contrato perpétuo.BTC USDT-margined perpetual contract
mercado.
Na FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USDT")
define o par de negociação, e depoisexchange.SetContractType("swap")
Esta é a forma como o símbolo de negociação atualBTC USDT-margined perpetual contract
.
Ordem O que significa exactamente uma ordem? Uma ordem é o bilhete de ordem que enviamos a uma plataforma quando compramos ou vendemos na plataforma. As ordens são divididas em ordens de mercado, ordens de limite, ordens condicionais, etc. Os atributos mais básicos de uma ordem são: o assunto da ordem (simplesmente, o que comprar ou vender), o valor da ordem (quanto comprar ou vender) e o preço da ordem (a que preço comprar ou vender). Se a ordem seguinte não importa quanto é, só determina o valor a comprar ou vender e o que comprar ou vender, então essa ordem é chamada de ordem de mercado. Claro, também há ordens condicionais (ordens de stop-loss, ordens de iceberg, etc.), que estão relacionadas às plataformas. Algumas plataformas fornecem ordens condicionais e algumas não. Para detalhes, você pode verificar a documentação da API da FMZ.
Espetáculo As ordens spot e as ordens de mercado geralmente precisam prestar atenção às ordens de compra. O valor da ordem das ordens de mercado spot de compra não é o valor do símbolo de moeda, mas o valor do dinheiro. Como a ordem de mercado não determina o preço, apenas o valor do dinheiro pode ser usado para determinar quanto comprar. O valor da ordem de mercado de venda é o valor do símbolo de moeda, porque mesmo que o preço seja incerto, o valor dos símbolos de moeda vendidos pode ser determinado.
Contrato O valor da ordem de um contrato é especial, geralmente o valor do contrato. A interface de ordem de contrato de uma plataforma é basicamente o valor do contrato, e não há interface que tome o valor do símbolo de moeda como o valor da ordem. Os contratos perpétuos BTC com margem USDT da Binance podem encomendar contratos perpétuos BTC em uma quantidade de 0,01, mas não é o valor do símbolo de moeda, mas o valor do contrato, exceto que um contrato é um BTC. Em termos gerais, independentemente de se tratar de uma ordem de mercado ou de uma ordem de limite, o montante da ordem é o número do montante do contrato.
Ordem do tomador e ordem do fabricante Uma ordem de tomada é uma ordem que fornece liquidez. Simplificando, isso significa que o preço atual do mercado é 10 para comprar um e 11 para vender um. Neste momento, eu estou pendente uma ordem de compra com um preço de compra de 9, ou uma ordem de venda com um preço de venda de 12. Então, eu forneço uma ordem para a profundidade no mercado. Esta ordem minha é o fabricante. Ainda este exemplo, se eu colocar uma ordem de compra a um preço de 11; neste momento, minha ordem será negociada com uma ordem de venda a um preço de 11 no mercado. Neste momento, eu tomo uma ordem do mercado, a ordem de compra que eu coloquei naquele momento foi a ordem de tomada.
Por exemplo, as funções de colocação de ordensexchange.Sell
eexchange.Buy
Quando uma ordem é colocada, a classificação da ordem como tomadora ou fabricante depende do preço da ordem e do mercado atual, e se a ordem fornece liquidez ou reduz liquidez.
Quando importar um preço de -1 no FMZ Quant, é para colocar uma ordem de mercado. Observe que o valor da ordem da ordem de compra do mercado à vista é o valor do dinheiro, então a ordem de mercado certamente reduz a liquidez e deve ser uma ordem de tomada.
Ordem condicional da plataforma
Muitas plataformas também suportam ordens condicionais, tais comoiceberg order
, stop loss order
, stop profit order
, post_only: only place maker order
, fok: all executed or canceled immediately
, ioc: executed immediately or cancel the rest
, etc.
Estas ordens podem utilizar oexchange.IO
Função no FMZ Quant para aceder diretamente à interface de ordens da plataforma para especificar os parâmetros a definir (especificar qual ordem condicional a colocar) para colocar uma ordem.exchange.IO
Função, consulte a documentação da API FMZ:https://www.fmz.com/api#exchange.io...
Uma plataforma de negociação quantitativa pode ser considerada como uma ferramenta de negociação quantitativa, pode ser um sistema de software on-line, um site, ou um programa executável local, ou mesmo um projeto de código aberto no GITHUB.
Plataforma de negociação quântica FMZ A plataforma FMZ Quant Trading é um sistema distribuído on-line; para o conhecimento da plataforma e tutoriais, você pode consultar:https://www.fmz.com/bbs-topic/4145
Sistema de backtest da plataforma de negociação quântica FMZ O que é um sistema de backtest? Simplificando, o sistema de backtest é reproduzir os dados do histórico de um determinado símbolo de negociação, e deixar uma determinada estratégia ser incluída na repetição, e obter o desempenho de negociação da estratégia ao simular a repetição dos dados do histórico.
FMZ Quant Trading Backtest System (Sistema de teste de retorno de negociação quântica FMZ):
Nome | Tipo | Instruções |
---|---|---|
Bitfinex | Objeto de troca spot | Suporte a pares de negociação limitados, tais como: BTC_USD, ETH_USD e LTC_USD, etc. (observe que a moeda de cotação dos pares de negociação é o dólar americano) |
Binance | Objeto de troca spot | O valor da moeda é o valor da moeda em que a transação é efetuada. |
OKEX | Objeto de troca spot | O valor da moeda é o valor da moeda em que a transação é efetuada. |
Huobi | Objeto de troca spot | O valor da moeda é o valor da moeda em que a transação é efetuada. |
OKEX Futures | Objeto de troca de futuros | apoiando pares de negociação limitados, tais como: BTC_USD e ETH_USD, etc.; a moeda de cotação dos pares de negociação é USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; os códigos de contrato suportados incluem: this_week, next_week, quarter e swap |
HuobiDM | Objeto de troca de futuros | HuobiDM é Huobi Futures (Huobi Contract), suportando pares de negociação limitados, como: BTC_USD e ETH_USD, etc.; a moeda de cotação dos pares de negociação é USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; os códigos de contrato suportados incluem: this_week, next_week, quarter e swap. |
BitMEX | Objeto de troca de futuros | o par de negociação é XBT_USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; o código de contrato suportado é: XBTUSD |
Binance Futures | Objeto de troca de futuros | apoiando pares de negociação limitados, tais como: BTC_USDT e ETH_USDT, etc.; a moeda de cotação dos pares de negociação é USD; após a definição do código de contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato com margem USDT; o código de contrato suportado é swap |
Opções derivadas | Objeto de troca de futuros | Os pares de negociação são: BTC_USD e ETH_USD; após a definição do código do contrato específico (consulte a função exchange.SetContractType), o contrato é um contrato cripto-marginado; devem ser definidos os códigos do contrato de opções específicos |
API KEY da negociação quantitativa
Todas as plataformas têm interfaces API, e a plataforma de negociação quantitativa também tem interfaces API.extended API
Algumas funções da plataforma FMZ podem ser operadas programaticamente. Por exemplo, adicionar bots em lotes, iniciar bots em lotes, modificar a configuração de bots em lotes, etc. Para mais detalhes, consulte:https://www.fmz.com/api#fmz平台扩展api- Não.
A API estendida também pode ser usada para fazer algo interessante, por exemploUse a API estendida no FMZ Quant para realizar
O que exatamente é controlar automaticamente a minha conta de plataforma para negociação? A plataforma de negociação em tempo real FMZ Quant é uma plataforma de negociação em tempo real que permite a criação de estratégias de negociação em tempo real em JavaScript, Python e C ++. Estes programas de script realizam várias operações, como compra e venda de uma conta através das interfaces API da plataforma.
O dispositivo em que o script de negociação programado é executado
Um programa de script de bot deve ter um portador de dispositivo (em suma, o bot deve ter um lugar para ele funcionar). O comércio quantitativo no círculo de criptomoedas geralmente implanta um programa de bot no servidor Alibaba Cloud em Hong Kong (é claro, você também pode usar servidores de outros lugares, outros operadores).timeout
serão notificados.
No FMZ Quant, você geralmente pode implantar seu próprio programa de software no servidor Alibaba Cloud em Hong Kong (o software de porta bot do FMZ Quant é chamado
Opções de linguagem de script Há tantas linguagens de programação, e basicamente todas elas podem ser usadas para escrever os programas de script de bots. Aqui também vamos tomar FMZ Quant Trading Platform como um exemplo para fazer você entender as vantagens de várias linguagens.
JavaScript É simples e fácil de usar, quase sem dependência do ambiente do dispositivo, e suporta o padrão ES6.
Python Python depende do ambiente do dispositivo até certo ponto, e várias bibliotecas podem ser instaladas, por isso sua extensibilidade é forte. (é recomendado para estudantes que estão familiarizados com a plataforma FMZ e familiarizados com Python).
C++
As estratégias de C ++ têm a velocidade de execução mais rápida, a maior eficiência, e também é mais difícil de usar.
Depois de dominar a língua, você vai descobrir os outrosso easy!
Mylanguage Mylanguage suportado pelo FMZ é apenas para os comandos mais básicos.
Módulo de visualização Estratégia combinada Criar estratégias de forma visual é apenas para interesse, melhoria e compreensão da lógica do programa. Pode ser usado para criar alguma lógica simples, mas não é adequado para projetar uma estratégia ligeiramente complicada, porque é difícil de manter e estender, e mais difícil de projetar lógica complexa.