Leia o texto original:Curso de quantificação de investimentos em blockchain (3) - Arbitragem intercalar
Soros, em seu livro de 1987 “The Alchemy of the Financial Times”, fez uma afirmação importante: “Eu acredito que os preços de mercado estão sempre errados no sentido de que eles apresentam uma visão tendenciosa do futuro”. A hipótese de eficácia do mercado é apenas uma hipótese teórica, na verdade, os participantes do mercado nem sempre são racionais, e em cada ponto do tempo, os participantes não podem ter acesso completo e interpretar objetivamente todas as informações, mesmo que seja a mesma informação, a resposta de todos é diferente.
Ou seja, o preço em si já inclui expectativas erradas dos participantes do mercado, então o preço de mercado é essencialmente errado. Isso pode ser a fonte de lucro do arbitragem.
De acordo com o princípio acima, também sabemos que, em um mercado de futuros não efetivo, o impacto do mercado entre os contratos de parcela de entrega em diferentes períodos nem sempre é sincronizado, e sua precificação não é uma razão totalmente efetiva.
Então, com base no preço de um contrato de swap em períodos diferentes do mesmo tipo de preço de negociação, se dois preços tiverem uma diferença de preço maior, você pode comprar e vender contratos futuros em períodos diferentes ao mesmo tempo, fazendo arbitragem intercalar. Assim como os futuros de mercadorias, as moedas digitais também possuem um portfólio de contratos de arbitragem de longo prazo associados a elas. Na OkEX, por exemplo, há: ETC na semana, ETC na próxima semana, ETC no trimestre.
Por exemplo, suponha que a diferença de preço entre o ETC da semana e o trimestre de ETC permaneça em torno de 5 por um longo período. Se o diferencial de preço de um dia atingir 7, esperamos que o diferencial de preço volte a 5 em algum momento no futuro. Então, é possível vender o ETC da semana e, ao mesmo tempo, comprar o trimestre de ETC para compensar a diferença de preço. E vice-versa.
Apesar da existência dessa diferença de preço, o arbitragem artificial tem muitas incertezas, como o tempo de operação, a falta de precisão e a influência das mudanças de preço.
A captura de oportunidades de arbitragem e a elaboração de estratégias de negociação de arbitragem por meio de modelos quantitativos, bem como o envio automático de ordens de negociação para a bolsa por meio de algoritmos programados, a captura rápida e precisa de oportunidades, a eficiência e a estabilidade da obtenção de receitas, é o atrativo do arbitragem quantitativa. Este artigo lhe ensinará como usar a plataforma de negociação quantitativa Inventor e o contrato futuro ETC na bolsa OkEX na negociação de moeda digital, usando uma estratégia de arbitragem simples para demonstrar como capturar oportunidades de arbitragem instantânea e aproveitar todas as oportunidades para ver Obtenha lucros enquanto faz hedge possíveis riscos.
Criando uma estratégia de arbitragem de criptomoeda entre períodos Dificuldade: Normal
Ambiente estratégico:
A lógica da estratégia:
O acima é uma descrição simples da lógica da estratégia de arbitragem entre períodos de moeda digital. Então, como você implementa suas ideias no programa? Tentamos construir a estrutura primeiro na Plataforma de Negociação Quantitativa do Inventor. Estrutura estratégica: Inventor da quantificação (www.fmz.cn) Ao comparar as ideias estratégicas e os processos de negociação, você pode facilmente construir uma estrutura estratégica. Toda a estratégia pode ser simplificada em três etapas: 1. Pré-tratamento antes da transação. 2. Obter e calcular dados. 3. Encomendar e acompanhar.
Em seguida, precisamos preencher o código de detalhes necessário na estrutura da estratégia com base no processo de transação real e nos detalhes da transação.
Etapa 1: No ambiente global, declare as variáveis globais necessárias.
Etapa 2: configure os parâmetros externos da estratégia. Inventor da quantificação (www.fmz.cn)
Etapa 3: Definir funções de processamento de dados Funções de dados básicas:Data ( ) Crie um construtor Data e defina suas propriedades internas. Inclui: dados de conta, dados de posição, registro de data e hora de dados da linha K, preço de compra/venda de contrato A/B de arbitragem e spreads de arbitragem futura/reversa. Inventor da quantificação (www.fmz.cn) Obtenção da função portador:mp ( ) Percorrer todo o array de posições e retornar o número de posições do contrato e direção especificados. Se não houver nenhuma, retornar falso Linha K e função indicador:boll ( ) Sintetize uma nova sequência de K-line com base nos dados de dispersão de arbitragem direta/reversa. E retorna os dados do trilho superior, do trilho do meio e do trilho inferior calculados pelo indicador boll. Função de encomenda:trade ( ) Passe o nome do contrato do pedido e o tipo de pedido, depois faça um pedido pelo preço de consideração e retorne o resultado após fazer o pedido. Como é necessário colocar duas ordens em direções diferentes ao mesmo tempo, o preço de compra/venda é convertido dentro da função de acordo com o nome do contrato da ordem. Cancelar função de encomenda:cancelOrders ( ) Obtenha uma lista de todos os pedidos não atendidos e cancele-os um por um. E se houver uma ordem não atendida, ele retorna falso, e se não houver nenhuma ordem não atendida, ele retorna verdadeiro. Tratar de um contrato individual:isEven ( ) Ao lidar com uma situação de perna única na negociação de arbitragem, simplesmente fechamos todas as posições para lidar com isso. Claro, você também pode mudar para um método de pedido de acompanhamento. Função de desenho:drawingChart ( ) Chame o método ObjChart.add() para desenhar os dados de mercado e indicadores necessários no gráfico: trilha superior, trilha do meio, trilha inferior e spread positivo/negativo. Etapa 4: Na função de entrada main(), execute o código de pré-processamento de pré-transação. Esse código é executado apenas uma vez após o programa iniciar. incluir:
Depois de definir o pré-tratamento de transação acima, você passa para a próxima etapa, o modo de pesquisa, e executa a função onTick () repetidamente. E ajuste o tempo de repouso durante a pesquisa Sleep (), uma vez que a API de algumas exchanges de criptomoedas tem um limite de visitas embutidas em um determinado período de tempo.
Etapa 1: obtenha objetos de dados básicos, saldos de contas e dados do indicador boll para uso na lógica de negociação.
Etapa 1: execute operações de compra e venda de acordo com a lógica da estratégia acima. Primeiro, ele determina se as condições de preço e indicador são atendidas, depois determina se as condições de posição são atendidas e, finalmente, executa a função de ordem de negociação ( ) Etapa 2: Após o pedido ser feito, situações anormais, como pedidos não atendidos e manutenção de um único contrato, precisam ser tratadas. e desenhar gráficos.
Acima, criamos uma estratégia simples de arbitragem interperíodo de moeda digital em pouco mais de 200 linhas. O código completo é o seguinte:
Esta estratégia é apenas uma jogada de bola, mas o disco real não é assim tão simples, mas você pode usar sua imaginação em cima de um exemplo.
É preciso lembrar que, na minha experiência limitada, a estratégia de arbitragem a prazo é basicamente tudo o que não vale a pena, seja arbitragem triangular sem risco ou arbitragem de mercado. A razão é que, no mercado de futuros de qualquer câmbio de moeda digital, a garantia não é uma moeda legal. Hoje em dia, quase todas as moedas digitais caíram cerca de 70% desde o início do ano.
O mercado de moedas digitais, ao que parece, está totalmente desligado da blockchain, e, como o tulipe daquele ano, o preço sempre vem da expectativa e da confiança das pessoas, e a confiança vem do preço…
Leia mais: Curso da série Blockchain Quantitative Investing (1) - Introdução Curso da série Blockchain Quantitative Investing (2) - Conheça a moeda digital Série de cursos de investimento quantitativo em blockchain (4) - Estratégia de equilíbrio dinâmico