Negociação algorítmica significa estratégia de reversão


Aaron Decker, desenvolvedor web.
Desenvolvedor Web, Consultor.
Experiências de negociação algorítmica com Cryptocurrency.
Existem campos em que o diletantismo não pode causar nenhum dano. O comércio algorítmico não é um desses. Porque se você está escrevendo um programa para fazer você automaticamente ganhar dinheiro, você pode escrever com facilidade para perder dinheiro automaticamente. Lembre-se do que aconteceu com Knight Capital? Nesta publicação, descreverei alguns experimentos de negociação algorítmica que fiz com Crytocurrency, como alguém que nunca trabalhou neste campo profissionalmente (negociação), espero poder me perdoar por quaisquer erros.
Minhas primeiras tentativas ingênuas (reversão média)
Alguns anos atrás, quando comecei a tentar fazer isso, tomei o que sei agora é denominado "estratégia de reversão média" (depois de ler o livro de Irene Aldridge). Foi um lugar bastante óbvio para começar um iniciante, e essa abordagem é o que eu vira algumas pessoas atirando em alguns fóruns de comércio de criptografia. Minha implementação era grosseira, havia muitas variáveis ​​nas quais eu tinha que adivinhar. O algoritmo funciona da seguinte maneira:
Calcule um ponto médio de algum período de tempo anterior. Defina um valor acima deste onde você vende, faça o pedido nos livros Defina um valor abaixo da média em que você compra, faça o pedido nos livros. Todos os segundos, cancele todas as ordens e repita as etapas 1 a 3.
Então, o que você está fazendo é adivinhar que o mercado tem algum preço médio e você está suavizando os picos e gotas temporários. E, se houver um movimento rápido que não corrija em breve, você pode se ferrar, mas, em geral, você está fornecendo liquidez para a troca e absorvendo um excesso temporário em negociações em qualquer direção. Isso é bom se você estiver ganhando dinheiro de forma consistente, e se seu capital de giro é aniquilado com pouca importância, não importa. Mas se você estiver ganhando dinheiro devagar, uma grande jogada eliminará os lucros por meses.
Eu não apreciei o quão arriscado isso era até ler o Black Swan de Taleb. Pergunto-me se os grandes fabricantes de mercado nas principais trocas compram opções de chamadas em caso de movimentos maciços?
Aqui está um diagrama explicando o comércio de reversões médias (de quantopian)
Isso é realmente o que os grandes fabricantes de mercado fazem nas bolsas de valores. Pense nisso: se você tem algumas ações da AAPL e vai vendê-la, você tem certeza de que terá um comprador nesse mesmo instante? Pode não haver um comprador específico, mas um fabricante de mercado com bolsos profundos intervirá para garantir que haja liquidez, em troca de um centavo ou mais de lucro. O criador de mercado ganha dinheiro com o "spread", essa diferença entre o menor pedido de compra nos livros e a maior ordem de venda nos livros.
De qualquer forma, nunca ganhei dinheiro fazendo isso, e acho que nunca fiz o tempo suficiente para estudar meus resultados com rigor. O principal problema foi que a troca "x" (a troca pela qual eu escrevi o bot) cobrou uma taxa de 0,3% por troca, então eu tinha calculado isso em meus negócios, o que acabou por ser proibitivamente caro, especialmente porque eu só tentava lucrar com pequenas flutuações.
Segunda tentativa: A Divergence de convergência média móvel.
Eu me tornei interessado na idéia de fazer um bot comercial que executaria negociações de estilo de impulso com base em uma estratégia de Divergência de Convergência de Mudança de Média. Esta é uma estratégia comum de negociação de dia, é o que é chamado de "indicador de negociação técnica".
A idéia básica do MACD é bastante simples: você calcula duas médias móveis, uma mais longa (por exemplo, 24 horas) e uma menor (por exemplo, 60 minutos), quando as médias móveis se cruzam, estão comprando ou vendendo indicadores. A tese por trás disso é a seguinte: os mercados tendem a fazer o que acabaram de fazer recentemente - ou seja, se ele subiu, ele continuará a subir.
Aqui está uma das imagens mais claras que eu poderia encontrar demonstrando isso:
Curiosamente, a tese por trás da negociação momentânea e toda a estratégia MACD parece opor-se à idéia de uma estratégia de reversão média. Por um lado, você está dizendo que um mercado ganha impulso em cada direção, enquanto, por outro lado, você está dizendo que o mercado deve reverter para o meio. No entanto, na prática, você está olhando diferentes prazos (na ordem dos segundos versus na ordem das horas ou dias).
Eu tentei isso por um tempo também, mas finalmente tive muito medo de arriscar uma grande quantidade de capital. Isso principalmente se deveu a resultados de backtesting. Ao executar outro site, eu tinha acumulado um grande banco de dados de dados de preços históricos que eu poderia executar back-tests contra (anos de cotações de subminto). Eu tentei um conjunto bastante exaustivo de variações em meus backtests, mas com a taxa de negociação de 0,3%, não consegui encontrar um conjunto de parâmetros com os quais eu poderia ganhar dinheiro consistentemente por um longo período de tempo.
Talvez minhas expectativas de margem de lucro fossem muito altas, ou talvez a taxa fosse muito alta, mas eu simplesmente não consegui encontrar um bom conjunto de parâmetros de backtest que funcionaram para mim com o que eu sentia era uma margem de segurança apropriada. Na verdade, eu executei o algoritmo ao vivo por um tempo com cerca de US $ 50 para que ele use, mas, em geral, nunca fez muito mais do que um intervalo mesmo.
Terceira tentativa: arbitragem monetária do estilo Bellman-Ford.
Esta é outra estratégia que eu li no livro de Irene Aldridge, e atualmente é atualmente usada por muitas partes em trocas reais de divisas. Eu acabei fazendo uma biblioteca Java desta.
A maneira como esse algoritmo funciona é que você modelo muitas taxas de câmbio entre moedas diferentes em uma troca como um gráfico e, em seguida, usando esta estrutura de dados, você modelo cada taxa de câmbio como um peso e você procura "ciclos negativos" (na linguagem da informática) através do gráfico. Em linguagem simples, isso significa que você tenta encontrar um caminho através de um conjunto de moedas onde você acabou com mais dinheiro do que o que você começou. Então eu poderia fazer isso na troca "x", porque existem várias moedas nessa troca.
Você pode adivinhar novamente o que o mata aqui: taxas de negociação. É uma taxa de 0,3% para o comércio, e eu preciso fazer 3 negociações através de um ciclo, então a arbitragem deve dar mais de 0,9% no total, o que é muito. Em segundo lugar, essas oportunidades de arbitragem são geralmente efêmeras: elas duram mais um segundo, então você precisa fazer todos os negócios no conjunto de negócios muito rápido.
Um dos meus grandes aborrecimentos foi que eu não conseguia colocar um pedido de "mercado" (preencher o pedido com o preço atual do mercado), trocar "x" apenas os pedidos de "limite" suportados (preencha o pedido a um preço específico). Bem, se você colocar um pedido de limite e não preencher, então você deve cancelá-lo e faça o pedido novamente, e repita isso até obter seu pedido para preencher. Fiquei muito irritado por ter que lidar com isso, e o atraso associado mataria a velocidade em que eu poderia completar os ciclos de comércio, mesmo que eu pudesse controlar o preço de execução um pouco melhor.
Em última análise, com esse algoritmo, eu nunca consegui o lado comercial em ação. Acabei de escrever o código que calcularia esses ciclos negativos e percebi que não seria lucrativo fazer negócios.
No futuro.
Tentando essas diferentes estratégias foi intrinsecamente interessante, mas também interessante como um desenvolvedor de software que faz a implementação. Não é frequente que você escreva um código que, de forma tão direta, possa fazer ou perder dinheiro, e fazê-lo infunda em você um nível especial de atenção aos detalhes e ao cuidado. Havia tantas variáveis ​​a considerar com o código comercial algorítmico, e o desempenho e o tempo tornaram-se importantes como nunca antes.
Dito isto, eu não tentaria novamente, a menos que eu pudesse fazê-lo em uma troca sem as algemas tirânicas das taxas de negociação baseadas em porcentagem. Avançando o site, estou ansioso para ver se eu tenho um pouco de tempo, o Aspian, que parece ter uma plataforma que lhe permite escrever o código Python para negociar contra algumas grandes trocas. Deixe-me saber se você tem alguma experiência com ele e sugestões para iniciantes.
Endereço ETH: 0x344ab834aE11ac42D89990E783bdaEaaA28d748b.

Reversão média: estratégias de negociação simples, parte 1.
Nesta série, abordamos algumas estratégias básicas de negociação que podem ajudá-lo a começar com o desenvolvimento de seus próprios sistemas de negociação automatizados.
Baixe o notebook IPython aqui.
Modelos de Reversão Média.
As estratégias de reversão média funcionam sob o pressuposto de que há uma tendência estável subjacente no preço de um ativo e os preços flutuam aleatoriamente em torno dessa tendência. Portanto, os valores que se desviam longe da tendência tendem a reverter a direção e reverter para a tendência. Ou seja, se o valor for excepcionalmente alto, esperamos que ele volte para baixo e, se for excepcionalmente baixo, volte.
Como identificamos a tendência subjacente? Essa é a essência desta estratégia! Considere o exemplo falso abaixo:
Calculamos a média móvel de 90 dias (90d MA) do preço das ações e tratamos isso como a tendência estável subjacente. Também calculamos a média móvel de 30 dias (30d MA) e podemos ver que ziguezagueia em torno da tendência 90d. Agora podemos construir a seguinte estratégia:
Quando o valor de 30d MA cai abaixo de 90d MA, esperamos que ele volte para a linha 90d. Ou seja, o preço atual é muito baixo e provavelmente aumentará. Por isso, este é um sinal para comprar De forma semelhante, se o valor de 30d MA sobe acima de 90d MA, esperamos que ele volte para a linha 90d. Portanto, o preço atual é muito alto e é um sinal para vender.
Consideremos alguns exemplos e aplicações do mundo real desta estratégia.
Discutimos a aplicação de modelos de reversão média a um estoque único, portfólio de ações e comércio de pares neste notebook. Nos próximos tutoriais, falaremos de estratégias de negociação de momentum e pares.
Ao bater palmas mais ou menos, você pode nos indicar quais são as histórias que realmente se destacam.
Equipe Auquan.
A Auquan pretende envolver pessoas de diversas origens para aplicar as habilidades de seus respectivos campos para desenvolver estratégias de negociação de alta qualidade. Acreditamos que pessoas extremamente talentosas equipadas com conhecimento e atitude adequados podem projetar algoritmos de negociação bem-sucedidos.

Negociação algorítmica significa estratégia de reversão
Eu gostaria de compartilhar com você uma simples técnica de reversão média que depende de médias móveis. Em suma, a idéia é que os sinais de reversão média podem ser aproximados por interseções de médias móveis de comprimento diferente. Isso é melhor esclarecido pela seguinte ilustração:
Nos quais os dados são de um conjunto de dados de 3.000 dias do preço de fechamento de ações. Neste modelo, geralmente temos um "longo" média móvel e uma "curta" média móvel (neste caso, 90 e 30 dias, respectivamente). Nós trocamos quando essas linhas se cruzam, depois optam por comprar ou vender com base na direção da tendência (se o MA curto está subindo ou caindo). Eu observo que não trocamos exatamente quando as linhas se cruzam, mas sim quando elas são suficientemente próximas (por alguma métrica definida pelo usuário). Embora esta não seja tão estatisticamente forte como a reversão média poderia ser, é uma aproximação razoável com muitas propriedades agradáveis ​​devido ao atraso entre os dois MAs: uma estratégia de compra / venda razoável com sinais claros que se traduz em uma parada efetiva - Deslocar de qualquer pico, exceto para casos de colisões de preços súbitas e severas.
Eu anexei um backtest que eu corri em algumas ações de tecnologia entre 2008 e 2018, com períodos de MA de 30 e 10 dias.
Eu sou um pouco novo para a Quantopian e eu não tive muito tempo para escrever meu algoritmo, então peço desculpas por algumas das técnicas grosseiras que usei no meu código, que pretendo consertar em futuras versões. Eu pretendo reescrever a parte que decide quanto investir (atualmente, na maior parte, é sintonizado manualmente com guesstimates), para adicionar uma perda de stop mais sofisticada e para melhorar a heurística para determinar se uma segurança está tendendo negativamente ou positivamente. Eu também preciso fazer meu algoritmo começar a curar ações. Há geralmente uma grande quantidade de calibração para este algoritmo. Também seria útil desenvolver algumas análises que determinassem os melhores períodos de MA para usar.
Sinta-se à vontade para brincar com esse algoritmo e ver se você achou algo interessante!
Pardon the bump, mas este é um caderno que fiz para ajudar a visualizar como sua foto. As variáveis ​​também estão acessíveis.
Eu passei algum tempo olhando por cima disso, e eu tenho que dar a você: este é um algoritmo muito bem calculado e intuitivo.
Eu consegui fazer algumas boas melhorias na legibilidade e no desempenho do algoritmo.
No que diz respeito às linhas de código, procurei fazer algumas melhorias de legibilidade, simplificando alguns dos métodos mais rigorosos usando as construções de Quantopian. Retirei a necessidade de um banco de dados de preços e um período de espera de 30 dias usando a função de histórico. Eu também usei os registros quando Darrell sugeriu acompanhar as posições e alavancar. Para garantir que as ordens entraram corretamente, mudei as ordens por porcentagem. Depois disso, notei que você colocou um "quilo" declaração em que o algoritmo pediu uma "continuação" declaração. Sem seus comentários, eu definitivamente teria perdido isso.
Em termos de lógica de algoritmo, eu revertei as iniciações de compra / venda para ativar quando o preço nos últimos 4 dias aumenta / diminui para montar o ímpeto de reversão médio em vez de adivinhar se ele será ou não. Como um lado, isso torna o algoritmo mais de um híbrido do que a reversão, mas consegui obter algumas boas melhorias na proporção de sharpe. Também removi uma segurança na sua amostra que foi descartada em 2018 para ver o desempenho do algoritmo até à data. Funciona muito bem, excelente trabalho.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
Seria útil ver se isso ainda é lucrativo sem as ações escolhidas na mão, mas sim usando algum tipo de universo dinâmico.
Sim, estou trabalhando atualmente na edição da lógica para abranger alguns outros estoques usando pipeline. Eu tentei colocar alguns ali aleatoriamente e o desempenho estava faltando.
Minha hipótese no momento é que os novos valores selecionados com base nos fundamentos farão exatamente o mesmo. Eu irei publicar a atualização quando eu terminar.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
O mesmo algoritmo em um universo de 600 ações. Pode valer a pena verificando que não introduzi nenhum bug.
e em um universo de 50 ações.
Que tal testá-lo com um ETF 3X.
se 10day. mean & gt; 30day. mean, nós demoramos (compre). Se 10day. mean & lt; 30day. mean, devemos vender de curta?
@Tory, está um pouco mais envolvido. Ele procura se a média de 10 dias é superior a 95% da média de 30 dias. O que o algo está tentando compensar é que as médias móveis são um indicador de atraso, de modo que ele fudging os sinais para que eles viajem mais cedo. Ele também verifica uma tendência de alta contínua de 3 dias como um sinal de confirmação. E vice-versa para venda. Também tem uma perda de parada de 8%. Tudo parece bom em teoria, mas como as mensagens de Luca apontaram, não é o algoritmo que produz esses resultados impressionantes nos testes iniciais - foi o viés introduzido pelos estoques selecionados à mão.
A dificuldade com os cruzamentos é que, devido ao alisamento, eles são um indicador de atraso e 2. a freqüência e a amplitude da forma de onda do preço são muito variáveis ​​para crossovers de período fixo para discernir entre sinal e ruído - eles don & # 39; t fazer um bom trabalho para detectar se um movimento de preço recente está estabelecendo novo impulso em oposição a um movimento temporário que irá reverter rapidamente. Então, tão frequentemente como não no momento em que o sinal é disparado, o preço já está se movendo na outra direção.
Desculpe, algo deu errado. Tente novamente ou contate-nos enviando comentários.
Você enviou um ticket de suporte com sucesso.
Nossa equipe de suporte estará em contato em breve.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.

Fundamentos do comércio algorítmico: conceitos e exemplos.
Um algoritmo é um conjunto específico de instruções claramente definidas destinadas a realizar uma tarefa ou processo.
O comércio algorítmico (negociação automatizada, negociação em caixa preta ou simplesmente algo-trading) é o processo de uso de computadores programados para seguir um conjunto definido de instruções para colocar um comércio para gerar lucros a uma velocidade e freqüência impossíveis para um comerciante humano. Os conjuntos definidos de regras são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Além das oportunidades de lucro para o comerciante, o algo-trading torna os mercados mais líquidos e torna a negociação mais sistemática descartando impactos emocionais humanos nas atividades comerciais. (Para mais, consulte Picking the Right Algorithmic Trading Software.)
Suponha que um comerciante siga esses critérios de comércio simples:
Compre 50 ações de uma ação quando sua média móvel de 50 dias excede a média móvel de 200 dias. Vende ações da ação quando sua média móvel de 50 dias está abaixo da média móvel de 200 dias.
Usando este conjunto de duas instruções simples, é fácil escrever um programa de computador que monitorará automaticamente o preço das ações (e os indicadores de média móvel) e colocará as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais manter um relógio para preços e gráficos ao vivo, ou colocar as ordens manualmente. O sistema de negociação algorítmica automaticamente faz isso para ele, identificando corretamente a oportunidade comercial. (Para mais informações sobre as médias móveis, consulte Médias móveis simples, faça as tendências se destacarem.)
[Se você quiser saber mais sobre as estratégias comprovadas e pontuais que podem eventualmente ser trabalhadas em um sistema de comércio alorítico, confira o Curso de Torneio de Dia de Torneio da Invastopedia Academy. ]
Benefícios da negociação algorítmica.
A Algo-trading oferece os seguintes benefícios:
Negociações executadas com os melhores preços Posicionamento instantâneo e preciso da ordem comercial (com altas chances de execução nos níveis desejados) Negociações cronometradas corretamente e instantaneamente, para evitar mudanças de preços significativas Custos de transação reduzidos (veja o exemplo de falta de implementação abaixo) Verificações automatizadas simultâneas em múltiplos condições de mercado Reduziu o risco de erros manuais na colocação dos negócios Backtest o algoritmo, com base nos dados históricos e em tempo real disponíveis Reduzida a possibilidade de erros por comerciantes humanos com base em fatores emocionais e psicológicos.
A maior parte do dia-a-dia é a negociação de alta freqüência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em múltiplos mercados e múltiplos parâmetros de decisão, com base em instruções pré-programadas. (Para obter mais informações sobre o comércio de alta freqüência, consulte Estratégias e Segredos de Empresas de Negociação de Alta Freqüência (HFT).)
O Algo-trading é usado em muitas formas de atividades de comércio e investimento, incluindo:
Investidores de médio a longo prazo ou empresas de compra (fundos de pensão, fundos de investimento, companhias de seguros) que adquirem ações em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande porte. Os comerciantes de curto prazo e os participantes do lado da venda (fabricantes de mercado, especuladores e arbitragentes) se beneficiam da execução comercial automatizada; Além disso, ajudas de algo-trading na criação de liquidez suficiente para os vendedores no mercado. Os comerciantes sistemáticos (seguidores de tendências, comerciantes de pares, hedge funds, etc.) acham muito mais eficiente programar suas regras comerciais e permitir que o programa seja comercializado automaticamente.
O comércio algorítmico proporciona uma abordagem mais sistemática ao comércio ativo do que os métodos baseados na intuição ou instinto do comerciante humano.
Estratégias de negociação algorítmica.
Qualquer estratégia de negociação algorítmica exige uma oportunidade identificada que seja rentável em termos de melhoria de ganhos ou redução de custos. As seguintes são estratégias de negociação comuns usadas em algo-trading:
As estratégias de negociação algorítmicas mais comuns seguem as tendências em médias móveis, fuga de canais, movimentos no nível de preços e indicadores técnicos relacionados. Estas são as estratégias mais fáceis e simples de implementar através de negociação algorítmica porque essas estratégias não envolvem fazer previsões ou previsões de preços. Os negócios são iniciados com base na ocorrência de tendências desejáveis, que são fáceis e direitas de implementar através de algoritmos sem entrar na complexidade da análise preditiva. O exemplo acima mencionado de média móvel de 50 e 200 dias é uma tendência popular seguindo a estratégia. (Para mais informações sobre as estratégias de negociação de tendências, consulte: Estratégias simples para capitalizar as tendências.)
Comprar um estoque cotado duplo a um preço mais baixo em um mercado e simultaneamente vendê-lo a um preço mais alto em outro mercado oferece o diferencial de preço como lucro ou arbitragem sem risco. A mesma operação pode ser replicada para ações versus instrumentos de futuros, pois os diferenciais de preços existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preços e colocar as ordens permite oportunidades lucrativas de forma eficiente.
Os fundos do índice definiram períodos de reequilíbrio para que suas participações fossem compatíveis com seus respectivos índices de referência. Isso cria oportunidades rentáveis ​​para comerciantes algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos base, dependendo do número de ações no fundo do índice, apenas antes do reequilíbrio do fundo do índice. Essas negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços.
Muitos modelos matemáticos comprovados, como a estratégia de negociação neutra do delta, que permitem a negociação de combinações de opções e sua segurança subjacente, onde os negócios são colocados para compensar deltas positivos e negativos, de modo que o portfólio delta seja mantido em zero.
A estratégia de reversão média baseia-se na ideia de que os preços altos e baixos de um bem são um fenômeno temporário que retorna periodicamente ao seu valor médio. Identificar e definir uma faixa de preço e implementar algoritmos com base em isso permite que os negócios sejam colocados automaticamente quando o preço do recurso entra e sai do seu alcance definido.
A estratégia de preços médios ponderados por volume quebra uma grande ordem e libera pedaços menores determinados dinamicamente da ordem para o mercado usando perfis de volume histórico específicos de estoque. O objetivo é executar a ordem perto do preço médio ponderado do volume (VWAP), beneficiando assim o preço médio.
A estratégia de preço médio ponderado no tempo quebra uma grande ordem e libera dinamicamente determinados pedaços menores da ordem para o mercado usando intervalos de tempo uniformemente divididos entre o início e o fim do tempo. O objetivo é executar a ordem perto do preço médio entre os horários de início e término, minimizando assim o impacto no mercado.
Até que a ordem comercial seja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com o índice de participação definido e de acordo com o volume negociado nos mercados. A "estratégia de etapas" relacionada envia ordens a uma porcentagem definida pelo usuário de volumes de mercado e aumenta ou diminui essa taxa de participação quando o preço da ação atinge os níveis definidos pelo usuário.
A estratégia de falta de implementação visa minimizar o custo de execução de uma ordem através da negociação do mercado em tempo real, economizando assim o custo da ordem e beneficiando do custo de oportunidade da execução atrasada. A estratégia aumentará a taxa de participação direcionada quando o preço das ações se mover de forma favorável e diminuí-lo quando o preço das ações se mover de forma adversa.
Existem algumas classes especiais de algoritmos que tentam identificar "acontecimentos" do outro lado. Esses "algoritmos de sniffing", usados, por exemplo, por um market maker market market têm a inteligência interna para identificar a existência de qualquer algoritmo no lado da compra de uma grande ordem. Essa detecção através de algoritmos ajudará o fabricante de mercado a identificar grandes oportunidades de ordem e permitir que ele se beneficie ao preencher os pedidos a um preço mais alto. Isso às vezes é identificado como front-running de alta tecnologia. (Para obter mais informações sobre negociação de alta freqüência e práticas fraudulentas, consulte: Se você comprar ações on-line, você está envolvido em HFTs.)
Requisitos técnicos para negociação algorítmica.
Implementar o algoritmo usando um programa de computador é a última parte, batida com backtesting. O desafio é transformar a estratégia identificada em um processo informatizado integrado que tenha acesso a uma conta de negociação para fazer pedidos. São necessários os seguintes:
Conhecimento de programação de computador para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricado Conectividade de rede e acesso a plataformas de negociação para colocar os pedidos Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de colocar pedidos A capacidade e infra-estrutura para voltar a testar o sistema uma vez construído, antes de entrar em operação em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo.
Aqui está um exemplo abrangente: o Royal Dutch Shell (RDS) está listado na Amsterdam Stock Exchange (AEX) e London Stock Exchange (LSE). Vamos construir um algoritmo para identificar oportunidades de arbitragem. Aqui estão algumas observações interessantes:
AEX negocia em Euros, enquanto a LSE negocia em libras esterlinas. Devido à diferença horária de uma hora, a AEX abre uma hora antes da LSE, seguido de ambas as trocas comerciais simultaneamente durante as próximas horas e depois de negociar apenas na LSE durante a última hora à medida que o AEX fecha .
Podemos explorar a possibilidade de negociação de arbitragem nas ações da Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes?
Um programa de computador que pode ler os preços atuais do mercado Os feeds de preços de LSE e AEX A taxa de câmbio para a taxa de câmbio GBP-EUR Capacidade de colocação de pedidos que podem rotear a ordem para a troca correta do recurso Back-testing em feeds históricos de preços.
O programa de computador deve executar o seguinte:
Leia o preço de entrada do estoque RDS de ambas as bolsas Usando as taxas de câmbio disponíveis, converta o preço de uma moeda para outra. Se houver uma discrepância de preço suficientemente grande (descontando os custos de corretagem) levando a uma oportunidade rentável, então coloque a compra ordem em troca de preços mais baixos e ordem de venda em troca de preços mais elevados Se as ordens forem executadas conforme desejado, o lucro de arbitragem seguirá.
Simples e fácil! No entanto, a prática de negociação algorítmica não é simples de manter e executar. Lembre-se, se você pode colocar um comércio gerado por algo, os outros participantes do mercado podem também. Conseqüentemente, os preços flutuam em milissegundos e até mesmo em microssegundos. No exemplo acima, o que acontece se o seu comércio de compras for executado, mas o comércio de vendas não acontece à medida que os preços de venda mudam quando o seu pedido atinge o mercado? Você vai acabar sentado com uma posição aberta, tornando sua estratégia de arbitragem inútil.
Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos de tempo entre ordens comerciais e execução e, o mais importante de tudo, algoritmos imperfeitos. O algoritmo mais complexo é o backtesting mais rigoroso antes de ser posto em ação.
The Bottom Line.
A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É excitante ir pela automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso certificar-se de que o sistema está completamente testado e os limites exigidos são definidos. Os comerciantes analíticos devem considerar a aprendizagem de sistemas de programação e construção por conta própria, ter confiança em implementar as estratégias certas de forma infalível. O uso cauteloso eo teste completo de algo-trading podem criar oportunidades rentáveis. (Para mais informações, consulte Como codificar seu próprio robô Algo Trading.)

Negociação algorítmica significa estratégia de reversão
Eu sou novo tanto em Quantopian quanto na negociação em geral, mas eu tentei implementar uma estratégia de reversão média. Eu estou comprando ações de baixo desempenho e vendendo os estoques de alto desempenho todos os dias, ponderando o desempenho de tudo em relação às demais ações da carteira.
Neste ponto, estou tentando interpretar os resultados, mas não tenho certeza de como os resultados são do algoritmo e quanto são simplesmente uma conseqüência das ações que eu selecionei.
Se alguém tiver dúvidas, comentários ou sugestões, avise-me!
Me diverti muito aprendendo e trabalhando com a plataforma.
Estou olhando o código-fonte do seu algoritmo e não consigo seguir a lógica do seu loop final. Você pode adicionar algumas explicações / comentários ao trecho de código?
Claro, deixe-me tentar explicar o que estava tentando fazer.
Eu passo através de cada estoque que eu estou assistindo e calculo quantas dessas ações eu comprar ou vender com a minha posição atual, dinheiro e desempenho. O valor a comprar é o número máximo de ações que eu poderia comprar (caixa / preço de ações) ponderado pelo desempenho em relação às demais ações da minha carteira. O valor que queremos vender é o valor desse estoque que possuímos ponderado da mesma maneira.
Eu não estou 100% convencido da validade desta lógica (eu sinto que deveria estar ponderando os estoques que tiveram ganhos e perdas independentemente uns dos outros, mas eu ainda não o implementei). O meu raciocínio era que, se assumirmos que o estoque é significativo, é sensato comprar mais dos que tiveram um desempenho ruim e vender rapidamente mais do que estava funcionando bem. As ponderações foram minha maneira de expressar essa idéia.
A próxima parte implementa a compra e venda. Nós calculamos o quanto compraríamos ou vendemos para cada estoque, mas apenas compramos ou vendemos se a mudança de porcentagem normalizada for negativa ou positiva.
Nós também não queremos enviar uma ordem de compra ou venda, a menos que tenhamos atingido algum tipo de limite para o quanto isso mudou. Nos casos em que a mudança total foi muito pequena, apenas nos seguramos. Pode valer a pena considerar o desempenho das ações a partir do ponto em que compramos o caso em que estamos vendendo, mas eu não consegui testar isso.
Espero que seja útil, deixe-me saber se você tem outras questões.
Muito obrigado por essa resposta. Isso ajuda muito.
Feliz eu poderia ajudar!
Eu segui adiante e implementei as mudanças que eu estava pensando, e parece melhorar o algoritmo. Confira!
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
Eu pensei que tentaria testar o algoritmo contra os dez melhores dividendos da NYSE nos últimos doze meses, e obtive esse resultado: consideravelmente pior!
Desculpe, algo deu errado. Tente novamente ou contate-nos enviando comentários.
Você enviou um ticket de suporte com sucesso.
Nossa equipe de suporte estará em contato em breve.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.

Comments