понедельник, 14 мая 2018 г.

Testando estratégias de negociação algorítmica


Noções básicas de negociação algorítmica: conceitos e exemplos.


O comércio algorítmico (negociação automatizada, negociação de caixa preta ou simplesmente negociação de algoritmos) é o processo de usar computadores programados para seguir um conjunto definido de instruções (um algoritmo) para colocar uma negociação para gerar lucros a uma velocidade e freqüência impossível para um comerciante humano. Os conjuntos de regras definidos são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Para além das oportunidades de lucro para o comerciante, a negociação de algoritmos torna os mercados mais nítidos e torna a negociação mais sistemática ao excluir o impacto das emoções humanas nas atividades de negociação.


Suponha que um comerciante siga estes critérios comerciais simples:


Compre 50 ações de uma ação quando a média móvel de 50 dias ultrapassar a média móvel de 200 dias. (Uma média móvel é uma média de pontos de dados passados ​​que suaviza as flutuações diárias de preço e, portanto, identifica as tendências.) Venda ações do estoque quando sua média móvel de 50 dias ficar 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 monitore automaticamente o preço das ações (e os indicadores de média móvel) e coloque as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais ficar de olho nos preços e gráficos ativos, ou colocar os pedidos manualmente. O sistema de negociação algorítmica faz isso automaticamente, identificando corretamente a oportunidade de negociação.


Benefícios do comércio algorítmico.


Algo-trading fornece os seguintes benefícios:


operações realizadas com os melhores preços possíveis e imediatas (com altas chances de execução nos níveis desejados) operações cronometradas corretamente e instantaneamente, para evitar mudanças significativas nos preços reduzindo os custos de transação (veja o exemplo de déficit de implementação abaixo) verificações automatizadas simultâneas em múltiplos as condições de mercado reduziram o risco de erros manuais ao colocar os negócios em teste, em dados históricos e em tempo real disponíveis, para ver se é uma estratégia comercial viável, possibilidade reduzida de erros por parte de comerciantes humanos com base em fatores emocionais e psicológicos.


A maior parte da negociação de algoritmos de hoje é a negociação de alta frequência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em vários mercados e vários parâmetros de decisão, com base em instruções pré-programadas.


O comércio de algo é usado em muitas formas de atividades de negociação e investimento, incluindo:


Investidores de médio a longo prazo ou empresas compradoras - fundos de pensão, fundos mútuos, seguradoras - usam-no para comprar ações em grandes quantidades quando não desejam influenciar os preços das ações com investimentos discretos e de grande volume. Comerciantes de curto prazo e participantes de sell-side - formadores de mercado (como corretoras), especuladores e arbitradores - se beneficiam da execução automatizada do comércio; Além disso, o comércio de algo ajuda a criar liquidez suficiente para os vendedores no mercado. Comerciantes sistemáticos - seguidores de tendências, hedge funds ou pares de traders (uma estratégia de negociação neutra de mercado que corresponde a uma posição comprada com uma posição vendida em um par de instrumentos altamente correlacionados, como duas ações, fundos negociados em bolsa (ETFs) ou moedas) etc. - Acha muito mais eficiente programar suas regras de negociação e permitir que o programa troque automaticamente.


O comércio algorítmico fornece uma abordagem mais sistemática ao comércio ativo do que métodos baseados na intuição ou instinto de um operador humano.


Estratégias de Negociação Algorítmica.


Qualquer estratégia para negociação algorítmica requer uma oportunidade identificada que seja lucrativa em termos de ganhos aprimorados ou redução de custos. A seguir estão as estratégias de negociação comuns usadas no comércio de algo:


As estratégias de negociação algorítmica mais comuns seguem as tendências de médias móveis, desvios de canal, movimentos de níveis de preços e indicadores técnicos relacionados. Essas são as estratégias mais fáceis e simples de implementar por meio do comércio algorítmico, porque essas estratégias não envolvem previsões nem previsões de preços. As negociações são iniciadas com base na ocorrência de tendências desejáveis, que são fáceis e diretas de implementar por meio de algoritmos sem entrar na complexidade da análise preditiva. O exemplo mencionado acima, de usar as médias móveis de 50 e 200 dias, é uma estratégia popular de acompanhamento de tendências.


Comprar uma ação com cotação dupla a um preço menor em um mercado e vendê-la simultaneamente a um preço mais alto em outro mercado oferece o diferencial de preço como lucro ou arbitragem isenta de risco. A mesma operação pode ser replicada para ações versus instrumentos futuros, já que os diferenciais de preço existem de tempos em tempos. A implementação de um algoritmo para identificar esses diferenciais de preço e colocar as ordens permite oportunidades lucrativas de maneira eficiente.


Os fundos de índices definiram períodos de reequilíbrio para aproximar seus investimentos aos seus respectivos índices de referência. Isso cria oportunidades lucrativas para os traders algorítmicos, que capitalizam os negócios esperados que oferecem 20 a 80 pontos-base de lucros, dependendo do número de ações no fundo de índice, pouco antes do rebalanceamento do fundo de índice. Tais negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços.


Modelos matemáticos comprovados, como a estratégia de negociação delta-neutral, permitem negociar com uma combinação de opções e sua segurança subjacente. (A Delta neutra é uma estratégia de carteira que consiste em múltiplas posições com deltas positivos e negativos compensatórios - uma relação que compara a mudança no preço de um ativo, geralmente um título negociável, com a mudança correspondente no preço de seu derivativo - de forma que a delta dos ativos em questão totaliza zero.)


A estratégia de reversão à média baseia-se na ideia de que os preços altos e baixos de um ativo são um fenômeno temporário que revertem para seu valor médio (valor médio) periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo baseado nele permite que as negociações sejam feitas automaticamente quando o preço do ativo entra e sai de sua faixa definida.


A estratégia de preço médio ponderado por volume divide uma ordem grande e libera pedaços menores da ordem determinada dinamicamente para o mercado, usando perfis de volume histórico específicos do estoque. O objetivo é executar o pedido próximo ao preço médio ponderado por volume (VWAP).


A estratégia de preço médio ponderada pelo tempo quebra uma ordem grande e libera dinamicamente pedaços menores da ordem para o mercado usando intervalos de tempo divididos uniformemente entre um horário de início e de término. O objetivo é executar o pedido próximo ao preço médio entre os horários inicial e final, minimizando o impacto no mercado.


Até que a ordem de negociação esteja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com a taxa de participação definida e de acordo com o volume negociado nos mercados. A “estratégia de etapas” relacionada envia pedidos em 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 níveis definidos pelo usuário.


A estratégia de déficit de implementação visa minimizar o custo de execução de um pedido negociando o mercado em tempo real, economizando assim no custo do pedido e se beneficiando do custo de oportunidade de execução atrasada. A estratégia aumentará a taxa de participação visada quando o preço da ação se mover favoravelmente e diminuirá quando o preço da ação se mover negativamente.


Existem algumas classes especiais de algoritmos que tentam identificar “acontecimentos” do outro lado. Esses "algoritmos de farejamento", usados, por exemplo, por um criador de mercado de vendas, têm a inteligência incorporada para identificar a existência de quaisquer algoritmos no lado da compra de uma grande ordem. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedidos e permitir que eles se beneficiem do preenchimento dos pedidos a um preço mais alto. Às vezes, isso é identificado como front-running de alta tecnologia.


Requisitos técnicos para negociação algorítmica.


A implementação do algoritmo usando um programa de computador é a última parte, acompanhada de backtesting (experimentando o algoritmo em períodos históricos do desempenho passado do mercado de ações para ver se usá-lo seria lucrativo). O desafio é transformar a estratégia identificada em um processo informatizado integrado que tenha acesso a uma conta de negociação para fazer pedidos. Os seguintes são necessários:


conhecimento de programação de computadores para programar a estratégia de negociação necessária, programadores contratados ou conectividade de rede de software de negociação pré-fabricada e acesso a plataformas de negociação para colocar os pedidos em acesso a feeds de dados de mercado que serão monitorados pelo algoritmo quanto a oportunidades de fazer pedidos. infra-estrutura para backtest o sistema, uma vez que é construído - antes de ir viver em mercados reais dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo.


Aqui está um exemplo de como funciona a negociação algorítmica: a Royal Dutch Shell (RDS) está listada na Bolsa de Valores de Amsterdã (AEX) e na Bolsa de Valores de Londres (LSE). Começamos construindo 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 britânicas Devido à diferença horária de uma hora, a AEX abre uma hora antes da LSE, seguida pelas duas bolsas negociadas simultaneamente pelas próximas horas e depois negociadas apenas na LSE durante a última hora como AEX fecha.


Podemos explorar a possibilidade de negociação de arbitragem sobre as ações da Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes?


um programa de computador capaz de ler os preços atuais de preços de mercado da LSE e AEX, uma taxa forex (taxa de câmbio) para a capacidade de colocação de pedidos de GBP-EUR que pode encaminhar a ordem para a capacidade correta de backtesting de câmbio em preços históricos.


O programa de computador deve executar o seguinte:


Leia o feed de preço de entrada do estoque RDS de ambas as trocas. 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 grande o suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, então coloque a ordem de compra na troca de preço mais baixo e na ordem de venda na troca de preço mais alto. Se as ordens forem executadas conforme desejado, o lucro da arbitragem se seguirá.


Simples e fácil! No entanto, a prática de negociação algorítmica não é tão simples de manter e executar. Lembre-se, se você puder colocar uma negociação gerada por algoritmos, os outros participantes do mercado também poderão. Consequentemente, os preços flutuam em milissegundos e até microssegundos. No exemplo acima, o que acontece se a transação de compra for executada, mas a negociação de venda não ocorre porque os preços de venda mudam quando o seu pedido chega ao mercado? Você vai acabar sentado com uma posição aberta, fazendo com que sua estratégia de arbitragem seja inútil.


Há riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos entre ordens de negociação e execução e, o mais importante de tudo, algoritmos imperfeitos. Quanto mais complexo for um algoritmo, o backtesting mais rigoroso é necessário antes de ser colocado em ação.


The Bottom Line.


É emocionante usar a automação auxiliada por computadores com o objetivo de ganhar dinheiro sem esforço. Mas é preciso garantir que o sistema seja completamente testado e que os limites necessários sejam definidos. Comerciantes analíticos devem considerar a aprendizagem de programação e construção de sistemas por conta própria, para ter confiança em implementar as estratégias certas de uma maneira infalível. Uso cauteloso e testes completos de negociação de algo podem criar oportunidades lucrativas.


Teste de Estratégia.


O Strategy Tester permite testar e otimizar as estratégias de negociação (Expert Advisors) antes de usá-las para negociação ao vivo. Durante o teste, um Expert Advisor com parâmetros iniciais é executado uma vez nos dados do histórico. Durante a otimização, uma estratégia de negociação é executada várias vezes com diferentes conjuntos de parâmetros, o que permite selecionar a combinação mais adequada dos mesmos.


O Strategy Tester é uma ferramenta multi-moeda, que permite testar e otimizar estratégias de negociação de múltiplos instrumentos financeiros. O testador processa automaticamente as informações de todos os símbolos usados ​​na estratégia de negociação, portanto, não é necessário especificar manualmente a lista de símbolos para teste / otimização.


O Strategy Tester é multi-threaded, permitindo assim usar todos os recursos disponíveis no computador. O teste e a otimização são realizados usando agentes de computação especiais que são instalados como serviços no computador do usuário. Os agentes trabalham de forma independente e permitem o processamento paralelo dos passes de otimização.


Um número ilimitado de agentes remotos pode ser conectado ao Strategy Tester. Além disso, o Strategy Tester pode acessar a 5 Cloud Network. Ele reúne milhares de agentes em todo o mundo e esse poder computacional está disponível para qualquer usuário da plataforma de negociação.


Além do teste e otimização do Expert Advisor, você pode usar o Strategy Tester para testar a operação de indicadores personalizados no modo visual. Esse recurso permite testar facilmente a operação de versões de demonstração de indicadores baixados do Market.


Como testar


O teste de um Expert Advisor é sua execução única com parâmetros fixos usando dados históricos de preços. Ele permite que você teste como a estratégia funciona antes de usá-la em um mercado real.


Assista ao vídeo: Como testar Expert Advisors e Indicadores antes da compra.


Assista ao vídeo para saber como testar um robô comercial antes de comprá-lo no Market. Todos os produtos no Market são fornecidos com uma versão demo gratuita, que pode ser testada no Strategy Tester. Assista ao vídeo para detalhes.


Como selecionar um robô de negociação para teste.


Clique em & quot; Teste & quot; no menu de contexto de um Expert Advisor na janela Navegador.


Depois disso, o Expert Advisor é selecionado no Strategy Tester.


Ative os Símbolos Necessários no Market Watch para Expert Advisors Multi-Moeda.


O Strategy Tester permite estratégias de backtesting que negociam vários símbolos. Esses robôs de negociação são convencionalmente chamados Expert Advisors de várias moedas.


O testador faz o download automático do histórico de símbolos necessários da plataforma de negociação (não do servidor de negociação!) Durante a primeira chamada dos dados do símbolo. Somente os dados do histórico de preços perdidos são baixados adicionalmente do servidor de negociação.


Antes de começar a testar um Consultor Especialista em várias moedas, ative os símbolos necessários para teste no Market Watch. Abra o menu de contexto, clique em & quot; Símbolos & quot; e habilitar os instrumentos necessários.


Escolhendo Parâmetros de Teste.


Antes de iniciar o teste, selecione o instrumento financeiro para testar a operação do robô de negociação, o período e o modo.


Símbolo e período.


Selecione o gráfico principal para teste e otimização. A seleção de símbolos é necessária para fornecer o acionamento de eventos OnTick () contidos nos Expert Advisors. Além disso, o símbolo e o período selecionados afetam funções especiais no código do Expert Advisor que usam os parâmetros do gráfico atual (por exemplo, Symbol () e Period ()). Em outras palavras, o gráfico ao qual o Expert Advisor está anexado deve ser selecionado aqui.


Selecione o período de teste e otimização. Você pode selecionar um dos períodos predefinidos ou definir um intervalo de tempo personalizado. Para definir um período personalizado, insira as datas de início e término nos campos apropriados à direita.


O recurso específico do testador é que ele também faz download de alguns dados antes do período especificado (para formar nada menos que 100 barras). Isso é necessário para um teste e otimização mais precisos. Por exemplo, se você testar em um período de uma semana, dois anos adicionais serão baixados.


Se não houver dados de histórico suficientes para formar 100 barras adicionais (isso é especialmente significativo para os períodos de tempo mensais e semanais), por exemplo, ao especificar um início de teste próximo ao início dos dados do histórico existente, a data de início do teste será ser deslocado automaticamente. Uma mensagem apropriada é adicionada ao diário do Strategy Tester.


Esta opção permite verificar os resultados do teste para evitar ajustes a determinados intervalos de tempo. Durante o teste de encaminhamento, o período definido no campo Data é dividido em duas partes de acordo com o período de encaminhamento selecionado (meio, um terço, um quarto ou um período personalizado quando você especifica a data de início do teste de encaminhamento).


A primeira parte é o período de back testing. É o período de adaptação da operação do Expert Advisor. A segunda parte é o teste direto, durante o qual os parâmetros selecionados são verificados.


O testador de estratégias permite que você emule atrasos de rede durante uma operação do Expert Advisor para aproximar os testes das condições reais. Um certo atraso de tempo é inserido entre a colocação de uma solicitação de negociação e sua execução no testador de estratégia. Desde o momento do envio de um pedido até a sua execução, o preço pode mudar. Isso permite avaliar como a velocidade de processamento da negociação afeta os resultados da negociação.


No caso do modo de execução instantânea, os usuários podem verificar adicionalmente a resposta do EA a uma recotagem do servidor de negociação. Se a diferença entre os preços solicitados e os de execução exceder o valor de desvio especificado na ordem, o EA receberá uma recotagem.


Por favor, note que os atrasos funcionam apenas para negociações realizadas por um EA (fazer pedidos, alterar os níveis de parada, etc.). Por exemplo, se um EA usa pedidos pendentes, os atrasos são aplicados apenas a colocar um pedido, mas não a sua execução (em condições reais, a execução ocorre no servidor sem um atraso de rede).


Nesse modo, todas as ordens são executadas a preços solicitados sem recotações. O modo é usado para verificar um EA em condições "perfeitas".


Este modo permite testar um EA em condições próximas às reais. O valor de atraso é gerado da seguinte maneira: um número de 0 a 9 é selecionado aleatoriamente - esse é o número de segundos para um atraso; se um número selecionado for igual a 9, outro número do mesmo intervalo será selecionado aleatoriamente e adicionado ao primeiro.


Assim, a possibilidade de um atraso de 0 a 8 segundos é de 90%, a possibilidade de um atraso de 9 a 18 segundos é de 10%.


Você pode selecionar um dos valores de atraso predefinidos ou definir um personalizado. A plataforma mede o ping para o servidor de negociação e permite que você defina esse valor como um atraso no testador para que você possa testar um robô nas condições mais próximas das reais quanto possível.


Modo de geração de carrapatos.


Selecione um dos modos de geração de ticks:


Cada tick é o modo mais preciso, mas também o mais lento. Ele emula todos os carrapatos. Cada tick baseado em ticks reais é o mais próximo possível das condições reais. Ele usa ticks reais de instrumentos financeiros acumulados por um corretor. Emulação não é executada. Dados de carrapato têm tamanho maior. Baixá-lo pode levar um bom tempo durante o primeiro teste. 1 minuto OHLC - neste modo apenas 4 preços (Aberto, Alto, Baixo e Fechado) de cada barra de minuto são emulados. Preços abertos somente - neste modo, os preços da OHLC também são modelados, no entanto, apenas o preço aberto é usado para teste / otimização. Cálculos matemáticos - neste modo o testador não faz o download de dados históricos e informações sobre símbolos, assim como não gera ticks. Apenas as funções OnInit (), OnTester () e OnDeinit () são chamadas. Assim, um testador pode ser usado para vários cálculos matemáticos, onde a seleção de parâmetros é necessária.


Para mais informações sobre a geração de ticks, leia a seção apropriada.


Depósito inicial e alavancagem.


Especifique o valor do depósito inicial usado para teste e otimização. A moeda depende da moeda de depósito da conta atualmente conectada. Em seguida, selecione a alavancagem para testes e otimização.


Observe que a especificação de símbolo não significa que o testador usará apenas esses dados de histórico. O testador faz o download automático de informações sobre todos os símbolos usados ​​no Expert Advisor. Antes do início do teste / otimização, todos os dados de preço disponíveis do símbolo do gráfico principal são baixados automaticamente do servidor. Pode levar um bom tempo se a conexão com a Internet for lenta. O download de todos os dados é realizado uma vez, somente as informações que faltam são baixadas durante as próximas partidas. Apenas os símbolos atualmente selecionados no Market Watch estão disponíveis para teste / otimização. Os dados de preço de todos os símbolos necessários são baixados automaticamente do servidor durante o teste e a otimização. O teste começa e termina às 00:00.00m. das datas especificadas. Assim, a data de início do teste / otimização é incluída no período de teste, enquanto a data final não é incluída. O teste termina no último tick da data anterior. Além disso, você não pode especificar a data final, que é maior do que a atual. Nesse caso, o teste será realizado até a data atual (sem incluí-lo).


Seleção de parâmetros de entrada.


Os parâmetros de entrada permitem controlar o comportamento do Expert Advisor, adaptando-o a diferentes condições de mercado e a um instrumento financeiro específico. Por exemplo, você pode explorar o desempenho do Expert Advisor com diferentes valores de Stop Loss e Take Profit, diferentes períodos da média móvel usados ​​para análise de mercado e tomada de decisões, etc.


Especifique um valor para cada parâmetro de entrada.


Conjuntos de parâmetros. Você pode a qualquer momento retornar às configurações atuais do seu programa 5, salvando um conjunto de seus parâmetros usando um menu de contexto:


Para salvar os parâmetros como um arquivo de configuração no seu computador, clique em & quot; Salvar & quot ;. Esses arquivos podem ser movidos entre plataformas em diferentes computadores ou enviados para outros usuários. Para salvar parâmetros para uso futuro na plataforma atual, clique em & quot; Salvar versão & quot ;. Essas predefinições salvas estarão disponíveis no link & quot; Carregar versão & quot; submenu. Eles podem ser aplicados a qualquer momento, selecionando uma versão apropriada da lista.


Iniciando o teste.


Para começar a testar, clique em & quot; Iniciar & quot; na guia & quot; Configurações & quot; aba. O progresso do teste é exibido à esquerda.


Onde exibir os resultados do teste.


Os resultados de um teste do Expert Advisor são exibidos nas guias & quot; Resultado & quot; e "Gráfico".


Relatório de teste.


Resultados detalhados do teste são exibidos no campo "Resultado" aba. A guia contém resultados gerais de testes, incluindo lucro e o número de negociações, além de muitos valores estatísticos para ajudar a avaliar o desempenho do robô comercial.


Gráficos adicionais visualizam a distribuição do número e sucesso das operações de trading por horas, dias e meses, bem como descrevem o parâmetro de risco da estratégia de negociação.


Veja a seção do relatório de testes para detalhes.


Gráfico de teste.


No gráfico & quot; guia, você pode determinar visualmente como o Expert Advisor realizou com sucesso o instrumento selecionado no intervalo de tempo selecionado.


A curva de equilíbrio (linha azul) e a curva de capital (verde) são mostradas na área principal da aba. As datas são mostradas na escala horizontal, os valores de equilíbrio / patrimônio são mostrados na escala vertical. A parte inferior da guia apresenta um histograma da carga no depósito, que é calculado como a razão entre margem e patrimônio líquido (margem / patrimônio líquido).


Os valores do saldo são mostrados no gráfico cada vez que eles são alterados (quando uma posição é fechada), os valores do patrimônio são mostrados adicionalmente com uma certa periodicidade entre as alterações no saldo. Ao testar contas com o modelo de gerenciamento de risco cambial, o gráfico mostra apenas o patrimônio líquido, enquanto o saldo e a carga do depósito não são mostrados. O status de negociação dessas contas é avaliado com base no nível de patrimônio líquido. O saldo mostra apenas a quantia de dinheiro na conta e ignora os ativos e passivos do trader. A carga de depósito (margem / patrimônio líquido) não é exibida, porque na modalidade de cálculo de câmbio a margem é igual ao valor atual descontado do ativo / passivo, e muda junto com o patrimônio líquido.


Progresso do teste no Journal.


O progresso do teste é reflectido no "Jornal". Além disso, as mensagens do Expert Advisor são adicionadas ao Journal. No modo de teste visual, o progresso do teste pode ser visto diretamente no gráfico.


Progresso de teste em um gráfico.


Assim que o teste terminar, você poderá abrir o gráfico no qual o Expert Advisor foi testado (símbolo e período selecionados). Clique em & quot; Carta Aberta & quot; no menu de contexto do item "Resultado" aba. Todas as transações realizadas pelo Expert Advisor durante o teste são mostradas no gráfico. Se um template chamado tester. tpl estiver disponível em folder / profiles / templates da plataforma de negociação, ele será aplicado ao gráfico aberto. Se o modelo não estiver disponível, o padrão será usado (default. tpl).


Se o Expert Advisor testado usar indicadores, que são executados no símbolo e período de teste, eles também serão exibidos no gráfico. No entanto, se o descarregamento forçado de um indicador (a função IndicatorRelease) for implementado no código-fonte do Expert Advisor, ele não será exibido no gráfico.


Testando um robô de negociação em um período não otimizado.


O teste direto é a execução repetida do Expert Advisor em um período de tempo diferente. Esse recurso permite que você evite a adaptação de parâmetros em determinadas áreas de dados históricos.


Para iniciar o teste de encaminhamento, no campo Encaminhar da guia Configurações, selecione a parte do período total para isso:


Nenhum teste direto não é usado; 1/2 - metade do período especificado é usado para o teste direto; 1/3 - um terço do período especificado é usado para o teste forward; 1/4 - um quarto do período especificado é usado para o teste direto; Personalizado - especifique o dia de início do teste de encaminhamento manualmente.


Sempre a segunda parte (mais recente) do período total é tomada para o teste avançado. A data de início do período de encaminhamento é marcada por uma linha vertical no gráfico.


Quando o teste de encaminhamento está ativado, a peça selecionada é separada do período especificado no campo & quot; Data & quot; campo. A primeira parte é o período de back testing, e o segundo é o período de testes futuros.


Os resultados do teste de encaminhamento são exibidos na aba separada "Encaminhar". A data de início do período de encaminhamento é marcada por uma linha vertical no gráfico.


Teste Visual.


No Strategy Tester da plataforma de negociação, você pode testar Expert Advisors e indicadores no modo visual. Este modo permite visualizar exatamente como o Expert Advisor realiza operações de negociação durante o backtesting. Cada negociação é exibida no gráfico de um símbolo financeiro.


Para ativar o teste visual, selecione & quot; Visualização & quot; nas configurações:


O teste visual não está disponível quando a otimização está ativada. O teste visual só pode ser executado em agentes locais. Se um agente remoto for selecionado para teste, escolha um local usando o campo & quot; Selecione & quot; comando em seu menu de contexto.


O teste visual é executado em uma nova janela, que simula uma plataforma de negociação separada: contém gráficos, Market Watch e a janela Caixa de ferramentas, onde é possível visualizar as operações de negociação e o Diário.


Controle do processo de teste.


Para pausar, acelerar ou desacelerar o teste, use a barra de ferramentas. Você também pode pular para uma data específica do teste.


Você pode controlar convenientemente o processo de teste através de teclas de atalho, combinações são listadas ao lado dos comandos do menu.


Monitorando o Expert Advisor testando em um gráfico.


O principal objetivo deste tipo de teste é a análise visual do desempenho do Expert Advisor. Um gráfico é gerado em tempo real com base em dados históricos de preços emulados. Operações de robôs de negociação são exibidas neste gráfico.


As operações de negociação são exibidas como ícones (uma transação de compra) e (uma oferta de venda). Uma linha pontilhada é exibida entre entradas e saídas de mercado.


Você pode alterar a aparência de um gráfico, mostrar indicadores ou objetos gráficos usando modelos. Para que um modelo seja aplicado, seu nome deve corresponder ao nome do Expert Advisor testado, por exemplo, ExpertMACD. tpl. O modelo deve ser colocado na pasta / profiles / templates da plataforma de negociação. Uma lista de símbolos disponíveis no modo de gráfico é limitada ao símbolo de teste principal, bem como aos símbolos cujos dados são usados ​​pelo Expert Advisor. O cronograma do gráfico não pode ser alterado. O período selecionado nas configurações é usado para o gráfico de teste principal. Períodos solicitados pelo Expert Advisor são usados ​​para outros símbolos. Para alternar entre símbolos, use a opção & quot; Visualizar - Gráficos & quot; cardápio.


Exibindo dados de preço no Market Watch.


A janela Market Watch mostra os preços gerados durante o teste. É semelhante ao Market Watch da plataforma de negociação, mas tem algumas características específicas. Para mostrar / ocultar esta janela, use o comando Market Watch no menu View ou pressione Ctrl + M.


A guia Símbolos apresenta as informações de preço atual de instrumentos financeiros. A lista de símbolos exibidos é limitada ao símbolo de teste principal, bem como aos símbolos cujos dados são usados ​​pelo Expert Advisor.


A guia Carrapatos contém um gráfico de preços gerados durante o teste. O número de ticks exibidos é limitado a 64.000.


Visualizando detalhes de barras e valores indicadores na janela de dados.


A janela de dados exibe informações sobre os preços (OHLC), data e hora de uma barra, spread, volume e indicadores. Aqui você pode encontrar rapidamente informações sobre uma determinada barra e indicadores aplicados em um ponto selecionado do gráfico. A janela pode ser ativada ou desativada clicando em & quot; Janela de dados & quot; no menu Exibir ou pressionando Ctrl + D.


A parte superior da janela contém o nome de um instrumento financeiro e o período do gráfico. Informações sobre a posição atual do cursor no gráfico são mostradas abaixo. As informações sobre indicadores abertos em subjanelas separadas são mostradas em blocos separados.


Visualizando detalhes de negociações na Caixa de Ferramentas.


Para um estudo detalhado dos negócios realizados pelo Expert Advisor, use a janela Caixa de Ferramentas. Tem várias abas com as seguintes informações:


Posições abertas atuais e pedidos pendentes O histórico de pedidos e ofertas O histórico de solicitações de negociação do Expert Advisor, incluindo solicitações para modificar pedidos pendentes, nível de parada de posições, etc.


Informações sobre parâmetros de operação de negociação estão disponíveis nas seções Comércio e Histórico.


Detalhes adicionais sobre testes estão disponíveis no Journal. Ele contém informações sobre testes e ações do Expert Advisor realizado durante o teste.


Enquanto o visualizador estiver aberto, os logs dos agentes de teste não serão enviados para o Testador de Estratégia da plataforma de negociação. No entanto, eles podem ser visualizados através da plataforma de negociação usando os & quot; Revistas locais de agentes locais & quot; comando no menu de contexto.


Indicadores de teste no modo visual.


O modo de teste visual permite monitorar o comportamento dos indicadores nos dados históricos. Esse recurso permite que você teste facilmente um indicador antes de comprá-lo no Market. Faça o download da versão demo gratuita e execute o indicador no Strategy Tester.


Selecione o tipo do programa & quot; Indicadores & quot ;, selecione o indicador e clique em & quot; Iniciar & quot ;. O modo de visualização é ativado automaticamente. O resto dos parâmetros são definidos da mesma maneira, como durante o teste de robôs de negociação.


O comportamento do indicador é mostrado em um gráfico, que é plotado com base em uma sequência de ticks simulados no testador.


Como identificar estratégias de negociação algorítmicas.


Como identificar estratégias de negociação algorítmicas.


Neste artigo, quero apresentar os métodos pelos quais eu mesmo identifico estratégias lucrativas de negociação algorítmica. Nosso objetivo hoje é entender detalhadamente como encontrar, avaliar e selecionar tais sistemas. Explicarei como as estratégias de identificação envolvem tanto a preferência pessoal quanto o desempenho da estratégia, como determinar o tipo e a quantidade de dados históricos para testes, como avaliar imparcialmente uma estratégia de negociação e, finalmente, como proceder para a fase de backtesting e implementação estratégica.


Identificando suas próprias preferências pessoais para negociação.


Para ser um profissional bem-sucedido - seja de forma discreta ou algorítmica - é necessário fazer algumas perguntas honestas. Negociação fornece a você a capacidade de perder dinheiro a um ritmo alarmante, por isso é necessário "conhecer-se", tanto quanto é necessário compreender a sua estratégia escolhida.


Eu diria que a consideração mais importante no comércio é estar ciente de sua própria personalidade. O comércio e o comércio algorítmico, em particular, exigem um grau significativo de disciplina, paciência e distanciamento emocional. Como você está permitindo que um algoritmo realize sua negociação para você, é necessário que ele seja resolvido para não interferir na estratégia quando ela estiver sendo executada. Isso pode ser extremamente difícil, especialmente em períodos de redução prolongada. No entanto, muitas estratégias que se mostraram altamente lucrativas em um backtest podem ser arruinadas pela simples interferência. Entenda que, se você deseja entrar no mundo do comércio algorítmico, será testado emocionalmente e, para ter sucesso, é necessário superar essas dificuldades!


A próxima consideração é uma das vezes. Você tem um emprego a tempo inteiro? Você trabalha meio período? Você trabalha em casa ou tem um longo trajeto todos os dias? Essas perguntas ajudarão a determinar a frequência da estratégia que você deve procurar. Para aqueles que trabalham em tempo integral, uma estratégia de futuros intradiários pode não ser apropriada (pelo menos até que seja totalmente automatizada!). Suas limitações de tempo também ditarão a metodologia da estratégia. Se a sua estratégia é freqüentemente negociada e depende de feeds de notícias caros (como um terminal da Bloomberg), você terá claramente que ser realista em relação à sua capacidade de executar isso com sucesso no escritório! Para aqueles de vocês com muito tempo, ou as habilidades para automatizar sua estratégia, você pode querer olhar para uma estratégia de negociação de alta frequência (HFT) mais técnica.


Acredito que é necessário realizar pesquisas contínuas em suas estratégias de negociação para manter um portfólio consistentemente lucrativo. Poucas estratégias permanecem "sob o radar" para sempre. Portanto, uma parte significativa do tempo destinado à negociação será na realização de pesquisas em andamento. Pergunte a si mesmo se você está preparado para fazer isso, pois pode ser a diferença entre uma lucratividade forte ou um declínio lento em direção às perdas.


Você também precisa considerar seu capital comercial. O valor mínimo ideal geralmente aceito para uma estratégia quantitativa é de 50.000 USD (aproximadamente £ 35.000 para nós no Reino Unido). Se eu estivesse começando de novo, começaria com uma quantia maior, provavelmente perto de 100.000 USD (aproximadamente £ 70.000). Isso ocorre porque os custos de transação podem ser extremamente caros para as estratégias de média a alta frequência e é necessário ter capital suficiente para absorvê-los em tempos de rebaixamento. Se você está pensando em começar com menos de 10.000 dólares, então você precisará restringir-se a estratégias de baixa frequência, negociando em um ou dois ativos, já que os custos de transação irão rapidamente engolir seus retornos. A Interactive Brokers, que é uma das corretoras mais amigáveis ​​para aqueles com habilidades de programação, devido à sua API, tem uma conta de varejo de no mínimo 10.000 USD.


A habilidade de programação é um fator importante na criação de uma estratégia automatizada de negociação algorítmica. Ter conhecimento em uma linguagem de programação como C ++, Java, C #, Python ou R permitirá que você crie o armazenamento de dados de ponta a ponta, mecanismo de backtest e sistema de execução por conta própria. Isso tem uma série de vantagens, das quais a principal é a capacidade de estar completamente ciente de todos os aspectos da infraestrutura de negociação. Ele também permite que você explore as estratégias de frequência mais alta, pois você estará no controle total da sua "pilha de tecnologia". Embora isso signifique testar seu próprio software e eliminar bugs, também significa mais tempo gasto na codificação de infraestrutura e menos na implementação de estratégias, pelo menos na primeira parte de sua carreira de negociação de algoritmos. Você pode achar que está confortável negociando no Excel ou no MATLAB e pode terceirizar o desenvolvimento de outros componentes. Eu não recomendaria isso, no entanto, especialmente para aqueles que operam em alta freqüência.


Você precisa se perguntar o que você espera alcançar por negociação algorítmica. Você está interessado em uma renda regular, em que você espera obter ganhos de sua conta de negociação? Ou, você está interessado em um ganho de capital a longo prazo e pode se dar ao luxo de negociar sem a necessidade de levantar fundos? Dependência de renda irá ditar a frequência da sua estratégia. Retiradas de renda mais regulares exigirão uma estratégia de negociação de frequência mais alta com menos volatilidade (ou seja, um índice de Sharpe mais alto). Comerciantes de longo prazo podem ter uma frequência de negociação mais tranqüila.


Finalmente, não se iluda com a noção de se tornar extremamente rico em um curto espaço de tempo! Algo negociação não é um esquema de enriquecimento rápido - se alguma coisa pode ser um esquema de tornar-se pobre rápido. É preciso muita disciplina, pesquisa, diligência e paciência para ter sucesso no comércio algorítmico. Pode levar meses, se não anos, para gerar lucratividade consistente.


Idéias de Negociação Algorítmica de Sourcing.


Apesar das percepções comuns em contrário, é bastante simples localizar estratégias de negociação lucrativas no domínio público. Nunca as ideias de negociação foram mais prontamente disponíveis do que são hoje. Revistas de finanças acadêmicas, servidores de pré-impressão, blogs de negociação, fóruns de negociação, revistas semanais de negociação e textos especializados fornecem milhares de estratégias de negociação com as quais basear suas idéias.


Nosso objetivo como pesquisadores quantitativos de negociação é estabelecer um pipeline de estratégia que nos proporcione um fluxo de ideias de negociação em andamento. Idealmente, queremos criar uma abordagem metódica para a terceirização, avaliação e implementação de estratégias com as quais nos deparamos. Os objetivos do pipeline são gerar uma quantidade consistente de novas idéias e nos fornecer uma estrutura para rejeitar a maioria dessas idéias com o mínimo de consideração emocional.


Devemos ser extremamente cuidadosos para não deixar que vieses cognitivos influenciem nossa metodologia de tomada de decisão. Isso pode ser tão simples quanto ter uma preferência por uma classe de ativos sobre outra (ouro e outros metais preciosos vêm à mente) porque eles são percebidos como mais exóticos. Nosso objetivo deve ser sempre encontrar estratégias consistentemente lucrativas, com expectativa positiva. A escolha da classe de ativos deve ser baseada em outras considerações, como restrições de capital comercial, taxas de corretagem e capacidades de alavancagem.


Se você não estiver familiarizado com o conceito de uma estratégia de negociação, então o primeiro lugar para procurar é com livros didáticos estabelecidos. Os textos clássicos fornecem uma ampla gama de ideias mais simples e diretas, com as quais você pode se familiarizar com a negociação quantitativa. Aqui está uma seleção que eu recomendo para aqueles que são novos no comércio quantitativo, que gradualmente se tornam mais sofisticados conforme você trabalha na lista:


Para uma lista mais longa de livros de negociações quantitativas, visite a lista de leitura QuantStart.


O próximo lugar para encontrar estratégias mais sofisticadas é com fóruns de negociação e blogs de negociação. No entanto, uma nota de cautela: Muitos blogs de negociação contam com o conceito de análise técnica. A análise técnica envolve a utilização de indicadores básicos e psicologia comportamental para determinar tendências ou padrões de reversão nos preços dos ativos.


Apesar de ser extremamente popular no espaço comercial geral, a análise técnica é considerada um tanto ineficaz na comunidade financeira quantitativa. Alguns sugeriram que não é melhor do que ler um horóscopo ou estudar folhas de chá em termos de poder preditivo! Na realidade, existem indivíduos bem sucedidos fazendo uso de análise técnica. No entanto, como pessoas com uma caixa de ferramentas matemática e estatística mais sofisticada à nossa disposição, podemos facilmente avaliar a eficácia de tais estratégias baseadas em TA e tomar decisões baseadas em dados em vez de basear as nossas em considerações emocionais ou preconceitos.


Aqui está uma lista de blogs e fóruns de negociação algorítmica bem respeitados:


Depois de ter alguma experiência em avaliar estratégias mais simples, é hora de olhar para as ofertas acadêmicas mais sofisticadas. Algumas revistas acadêmicas serão de difícil acesso, sem altas assinaturas ou custos únicos. Se você é um membro ou ex-aluno de uma universidade, você deve ser capaz de obter acesso a alguns desses periódicos financeiros. Caso contrário, você pode ver os servidores de pré-impressão, que são repositórios da Internet de rascunhos atrasados ​​de trabalhos acadêmicos que estão sendo revisados ​​por especialistas. Como estamos interessados ​​apenas em estratégias que podemos replicar com sucesso, fazer backtest e obter lucratividade, uma revisão por pares é de menor importância para nós.


A principal desvantagem das estratégias acadêmicas é que muitas vezes elas podem estar desatualizadas, exigir dados históricos obscuros e caros, negociar em classes de ativos ilíquidos ou não levar em consideração taxas, escorregões ou spread. Também pode não estar claro se a estratégia de negociação deve ser executada com ordens de mercado, ordens de limite ou se ela contém perdas de parada, etc. Assim, é absolutamente essencial replicar a estratégia você mesmo, fazer o backtest e adicionar transações realistas. custos que incluem tantos aspectos das classes de ativos que você deseja negociar.


Aqui está uma lista dos servidores de pré-impressão mais populares e revistas financeiras que você pode obter idéias de:


Que tal formar suas próprias estratégias quantitativas? Isso geralmente requer (mas não está limitado a) conhecimento em uma ou mais das seguintes categorias:


Microestrutura de mercado - Para estratégias de maior frequência, em particular, pode-se fazer uso da microestrutura de mercado, ou seja, o entendimento da dinâmica da carteira de pedidos para gerar rentabilidade. Diferentes mercados terão várias limitações tecnológicas, regulamentações, participantes do mercado e restrições que serão abertas à exploração por meio de estratégias específicas. Esta é uma área muito sofisticada e os profissionais de varejo terão dificuldade em ser competitivos neste espaço, particularmente porque a competição inclui fundos de hedge quantitativos grandes e bem capitalizados com fortes capacidades tecnológicas. Estrutura do fundo - Fundos de investimento agrupados, como fundos de pensão, parcerias de investimento privado (hedge funds), consultores de negociação de commodities e fundos mútuos são limitados tanto pela pesada regulação quanto por suas grandes reservas de capital. Assim, certos comportamentos consistentes podem ser explorados com aqueles que são mais ágeis. Por exemplo, grandes fundos estão sujeitos a restrições de capacidade devido ao seu tamanho. Assim, se eles precisarem rapidamente descarregar (vender) uma quantidade de títulos, terão que escalonar para evitar "movimentar o mercado". Algoritmos sofisticados podem tirar proveito disso, e outras idiossincrasias, em um processo geral conhecido como arbitragem da estrutura do fundo. Aprendizado de máquina / inteligência artificial - Os algoritmos de aprendizado de máquina se tornaram mais prevalentes nos últimos anos nos mercados financeiros. Classificadores (como Naive-Bayes, et al.) Correspondentes de função não-linear (redes neurais) e rotinas de otimização (algoritmos genéticos) têm sido usados ​​para prever caminhos de ativos ou otimizar estratégias de negociação. Se você tiver experiência nessa área, poderá ter algumas dicas sobre como determinados algoritmos podem ser aplicados a determinados mercados.


Existem, é claro, muitas outras áreas para os quantos investigarem. Discutiremos como detalhar as estratégias personalizadas em um artigo posterior.


Ao continuar a monitorar essas fontes semanalmente ou diariamente, você está se preparando para receber uma lista consistente de estratégias de diversas fontes. O próximo passo é determinar como rejeitar um grande subconjunto dessas estratégias, a fim de minimizar o desperdício de tempo e recursos de backtesting em estratégias que provavelmente não serão lucrativas.


Avaliação de estratégias de negociação.


A primeira e indiscutivelmente mais óbvia consideração é se você realmente entende a estratégia. Você seria capaz de explicar a estratégia de forma concisa ou requer uma série de advertências e listas de parâmetros sem fim? Além disso, a estratégia tem uma base boa e sólida na realidade? Por exemplo, você poderia apontar para algum raciocínio comportamental ou restrição de estrutura de fundos que possa estar causando o (s) padrão (ões) que você está tentando explorar? Essa restrição seria uma mudança de regime, como uma dramática interrupção no ambiente regulatório? A estratégia depende de regras estatísticas ou matemáticas complexas? Aplica-se a qualquer série temporal financeira ou é específico da classe de ativos na qual se afirma ser rentável? Você deve estar constantemente pensando sobre esses fatores ao avaliar novos métodos de negociação, caso contrário você pode perder uma quantidade significativa de tempo tentando fazer backtest e otimizar estratégias não lucrativas.


Depois de determinar que você entende os princípios básicos da estratégia, você precisa decidir se ela se encaixa no perfil de personalidade mencionado anteriormente. Esta não é uma consideração tão vaga quanto parece! Estratégias diferem substancialmente em suas características de desempenho. Existem certos tipos de personalidade que podem lidar com períodos mais significativos de levantamento, ou estão dispostos a aceitar um risco maior de retorno maior. Apesar do fato de que nós, como muitos, tentamos eliminar o máximo de viés cognitivo possível e devemos ser capazes de avaliar uma estratégia imparcialmente, os vieses sempre se infiltrarão. Assim, precisamos de meios consistentes e sem emoção para avaliar o desempenho das estratégias. . Aqui está a lista de critérios que julgo uma nova estratégia em potencial:


Metodologia - A estratégia é baseada no momento, na reversão da média, no neutro do mercado, no direcional? A estratégia baseia-se em técnicas estatísticas sofisticadas (ou complexas!) Ou de aprendizado de máquina que são difíceis de entender e requerem um PhD em estatística para entender? Essas técnicas introduzem uma quantidade significativa de parâmetros, o que pode levar a um viés de otimização? É provável que a estratégia resista a uma mudança de regime (ou seja, nova regulação potencial dos mercados financeiros)? Índice de Sharpe - O índice de Sharpe caracteriza heuristicamente a relação recompensa / risco da estratégia. Quantifica quanto retorno você pode obter para o nível de volatilidade suportado pela curva de capital. Naturalmente, precisamos determinar o período e a frequência com que esses retornos e a volatilidade (ou seja, o desvio padrão) são medidos. Uma estratégia de frequência mais alta exigirá uma taxa de amostragem maior do desvio padrão, mas um período de tempo global mais curto de medição, por exemplo. Alavancagem - A estratégia requer alavancagem significativa para ser rentável? A estratégia requer o uso de contratos de derivativos alavancados (futuros, opções, swaps) para fazer um retorno? Esses contratos alavancados podem ter características pesadas de volatilidade e, portanto, podem facilmente levar a chamadas de margem. Você tem o capital comercial e o temperamento para tal volatilidade? Freqüência - A frequência da estratégia está intimamente ligada à sua pilha de tecnologia (e, portanto, ao conhecimento tecnológico), ao índice de Sharpe e ao nível geral dos custos de transação. Todas as outras questões consideradas, estratégias de maior frequência exigem mais capital, são mais sofisticadas e mais difíceis de implementar. No entanto, supondo que seu mecanismo de backtesting seja sofisticado e livre de erros, eles geralmente terão taxas de Sharpe muito mais altas. Volatilidade - A volatilidade está fortemente relacionada ao "risco" da estratégia. A proporção de Sharpe caracteriza isso. A maior volatilidade das classes de ativos subjacentes, se não protegidas, muitas vezes leva a uma maior volatilidade na curva de capital e, portanto, menores índices de Sharpe. É claro que estou assumindo que a volatilidade positiva é aproximadamente igual à volatilidade negativa. Algumas estratégias podem ter maior volatilidade negativa. Você precisa estar ciente desses atributos. Ganho / Perda, Lucro Médio / Perda - As estratégias diferem em suas características de ganhos / perdas e lucro / prejuízo médio. Pode-se ter uma estratégia muito lucrativa, mesmo se o número de negociações perdedoras exceder o número de negociações vencedoras. As estratégias de impulso tendem a ter esse padrão, pois dependem de um pequeno número de "grandes sucessos" para serem lucrativos. As estratégias de reversão à média tendem a ter perfis opostos nos quais mais dos negócios são "vencedores", mas os negócios perdedores podem ser bastante severos. Drawdown Máximo - O rebaixamento máximo é a maior queda percentual de ponta a ponta na curva de capital da estratégia. As estratégias de dinâmica são bem conhecidas por sofrer de períodos de rebaixamentos prolongados (devido a uma série de muitos comércios de perda incremental). Muitos traders desistirão em períodos de rebaixamento prolongado, mesmo que testes históricos tenham sugerido que isso é "business as usual" para a estratégia. Você precisará determinar qual porcentagem de rebaixamento (e em qual período de tempo) você pode aceitar antes de interromper sua estratégia. Esta é uma decisão altamente pessoal e, portanto, deve ser considerada com cuidado. Capacidade / Luidez - No nível de varejo, a menos que você esteja negociando com um instrumento altamente ilíquido (como ações de pequena capitalização), você não terá que se preocupar muito com a capacidade da estratégia. A capacidade determina a escalabilidade da estratégia para mais capital. Muitos dos maiores fundos de hedge sofrem com problemas de capacidade significativos à medida que suas estratégias aumentam na alocação de capital. Parâmetros - Determinadas estratégias (especialmente aquelas encontradas na comunidade de aprendizado de máquina) exigem uma grande quantidade de parâmetros. Cada parâmetro extra que uma estratégia requer deixa mais vulnerável ao viés de otimização (também conhecido como "ajuste de curva"). Você deve tentar direcionar as estratégias com o menor número de parâmetros possível ou ter quantidades suficientes de dados para testar suas estratégias. Benchmark - Quase todas as estratégias (a menos que caracterizadas como "retorno absoluto") são medidas em relação a algum benchmark de desempenho. O benchmark é geralmente um índice que caracteriza uma grande amostra da classe de ativos subjacente na qual a estratégia negocia. Se a estratégia negociar ações de grande capitalização dos EUA, o S & P500 seria uma referência natural para medir sua estratégia. Você ouvirá os termos "alpha" e "beta", aplicados a estratégias desse tipo. Discutiremos esses coeficientes em profundidade em artigos posteriores.


Observe que não discutimos os retornos reais da estratégia. Por que é isso? Isoladamente, os retornos realmente nos fornecem informações limitadas sobre a eficácia da estratégia. Eles não dão uma visão sobre alavancagem, volatilidade, benchmarks ou requisitos de capital. Assim, as estratégias raramente são julgadas apenas por seus retornos. Sempre considere os atributos de risco de uma estratégia antes de examinar os retornos.


Neste estágio, muitas das estratégias encontradas em seu pipeline serão rejeitadas, pois elas não atenderão às suas necessidades de capital, limitações de alavancagem, tolerância máxima de redução ou preferências de volatilidade. As estratégias que permanecem podem agora ser consideradas para backtesting. No entanto, antes que isso seja possível, é necessário considerar um critério final de rejeição - o dos dados históricos disponíveis sobre os quais testar essas estratégias.


Obtendo dados históricos.


Atualmente, a amplitude dos requisitos técnicos em classes de ativos para armazenamento de dados históricos é substancial. Para manter a competitividade, tanto o lado comprador (fundos) quanto o lado vendedor (bancos de investimento) investem pesadamente em sua infraestrutura técnica. É imperativo considerar sua importância. Em particular, estamos interessados ​​em pontualidade, precisão e requisitos de armazenamento. Agora descreverei os conceitos básicos da obtenção de dados históricos e como armazená-los. Infelizmente este é um tópico muito profundo e técnico, então não poderei dizer tudo neste artigo. No entanto, estarei escrevendo muito mais sobre isso no futuro, já que minha experiência anterior na indústria financeira estava principalmente relacionada à aquisição, armazenamento e acesso de dados financeiros.


Na seção anterior, criamos um pipeline de estratégia que nos permitia rejeitar determinadas estratégias com base em nossos critérios pessoais de rejeição. Nesta seção, filtraremos mais estratégias com base em nossas próprias preferências para obter dados históricos. As principais considerações (especialmente no nível do profissional de varejo) são os custos dos dados, os requisitos de armazenamento e seu nível de especialização técnica. Também precisamos discutir os diferentes tipos de dados disponíveis e as diferentes considerações que cada tipo de dados nos impõe.


Vamos começar discutindo os tipos de dados disponíveis e as principais questões que precisaremos pensar:


Dados Fundamentais - Incluem dados sobre tendências macroeconômicas, como taxas de juros, inflação, ações corporativas (dividendos, desdobramentos), arquivamentos na SEC, contas corporativas, dados de lucros, relatórios de safra, dados meteorológicos etc. Esses dados costumam ser usados ​​para valorizam empresas ou outros ativos em uma base fundamental, ou seja, por meio de alguns fluxos de caixa futuros esperados. Não inclui séries de preços de ações. Alguns dados fundamentais estão disponíveis gratuitamente em sites do governo. Outros dados históricos históricos de longo prazo podem ser extremamente caros. Os requisitos de armazenamento muitas vezes não são particularmente grandes, a menos que milhares de empresas estejam sendo estudadas de uma só vez. Dados de Notícias - Os dados de notícias são frequentemente de natureza qualitativa. É composto por artigos, posts, postagens de microblog ("tweets") e editorial. Técnicas de aprendizado de máquina, como classificadores, são freqüentemente usadas para interpretar sentimentos. Esses dados também costumam estar disponíveis gratuitamente ou são baratos, por meio da assinatura de meios de comunicação. Os bancos de dados de armazenamento de documentos "NoSQL" mais recentes são projetados para armazenar esse tipo de dados qualitativos não estruturados. Dados de Preço do Ativo - Este é o domínio de dados tradicional do quant. Consiste em séries temporais de preços de ativos. Ações (ações), produtos de renda fixa (títulos), commodities e preços de câmbio estão dentro dessa classe. Dados históricos diários geralmente são fáceis de obter para as classes de ativos mais simples, como ações. No entanto, depois que a precisão e a limpeza forem incluídas e os desvios estatísticos forem removidos, os dados poderão se tornar caros. Além disso, os dados de série temporal geralmente possuem requisitos de armazenamento significativos, especialmente quando os dados intraday são considerados. Instrumentos Financeiros - Ações, obrigações, futuros e as opções de derivativos mais exóticas têm características e parâmetros muito diferentes. Assim, não existe uma estrutura de banco de dados "tamanho único" que possa acomodá-los. Deve-se dar um cuidado significativo ao projeto e implementação de estruturas de banco de dados para vários instrumentos financeiros. Discutiremos a situação detalhadamente quando chegarmos a construir um banco de dados mestre de títulos em artigos futuros. Freqüência - Quanto maior a frequência dos dados, maiores são os custos e os requisitos de armazenamento. Para estratégias de baixa frequência, os dados diários costumam ser suficientes. Para estratégias de alta frequência, pode ser necessário obter dados em nível de escala e até cópias históricas de dados específicos do livro de ordens da bolsa de valores. A implementação de um mecanismo de armazenamento para esse tipo de dados é muito intensiva em tecnologia e adequada apenas para aqueles com forte histórico técnico / de programação. Benchmarks - As estratégias descritas acima serão frequentemente comparadas a um benchmark. Isso geralmente se manifesta como uma série temporal financeira adicional. Para ações, este é frequentemente um benchmark de ações nacionais, como o índice S & P500 (EUA) ou FTSE100 (Reino Unido). Para um fundo de renda fixa, é útil comparar com uma cesta de títulos ou produtos de renda fixa. A "taxa livre de risco" (isto é, taxa de juros apropriada) é também outro ponto de referência amplamente aceito. Todas as categorias de classes de ativos possuem uma referência favorecida, portanto, será necessário pesquisar isso com base em sua estratégia específica, se você deseja obter interesse em sua estratégia externamente. Tecnologia - As pilhas de tecnologia por trás de um centro de armazenamento de dados financeiros são complexas. Este artigo pode apenas arranhar a superfície sobre o que está envolvido na construção de um. No entanto, ele gira em torno de um mecanismo de banco de dados, como um RDBMS (Relational Database Management System), como MySQL, SQL Server, Oracle ou um Document Storage Engine (por exemplo, "NoSQL"). Isso é acessado por meio do código de aplicativo "lógica de negócios" que consulta o banco de dados e fornece acesso a ferramentas externas, como MATLAB, R ou Excel. Muitas vezes, essa lógica de negócios é escrita em C ++, C #, Java ou Python. Você também precisará hospedar esses dados em algum lugar, seja em seu próprio computador pessoal ou remotamente por meio de servidores da Internet. Produtos como o Amazon Web Services tornaram isso mais simples e mais barato nos últimos anos, mas ainda exigirão um conhecimento técnico significativo para alcançar de maneira robusta.


Como pode ser visto, uma vez que uma estratégia tenha sido identificada por meio do pipeline, será necessário avaliar a disponibilidade, os custos, a complexidade e os detalhes de implementação de um determinado conjunto de dados históricos. Você pode achar necessário rejeitar uma estratégia baseada somente em considerações de dados históricos. Esta é uma grande área e as equipes de PhDs trabalham em grandes fundos, garantindo que os preços sejam precisos e oportunos. Não subestime as dificuldades de criar um data center robusto para seus fins de backtesting!


Eu quero dizer, no entanto, que muitas plataformas de backtesting podem fornecer esses dados automaticamente para você - a um custo. Assim, você tirará muito da dor da implementação e poderá se concentrar apenas na implementação e otimização da estratégia. Ferramentas como TradeStation possuem essa capacidade. No entanto, minha visão pessoal é implementar o máximo possível internamente e evitar a terceirização de partes da pilha para os fornecedores de software. Eu prefiro estratégias de frequência mais altas devido às suas taxas de Sharpe mais atraentes, mas elas são freqüentemente acopladas à pilha de tecnologia, onde a otimização avançada é crítica.


Agora que discutimos os problemas em torno dos dados históricos, é hora de começar a implementar nossas estratégias em um mecanismo de backtesting. Este será o assunto de outros artigos, pois é uma área de discussão igualmente grande!


Pioneiro na negociação de amanhã.


Pesquise, faça backtest e negocie seus investimentos.


Inscreva-se gratuitamente.


Como funciona?


Construir Algoritmos em um IDE do Navegador


Usando estratégias de modelo e dados livres.


Projetar e testar sua estratégia em nossos dados gratuitos e, quando estiver pronto, implantá-lo ao vivo para sua corretora. Codifique em várias linguagens de programação e aproveite nosso cluster de centenas de servidores para executar seu backtest para analisar sua estratégia em ações, FX, CFD, opções ou mercados de futuros.


O QuantConnect é a próxima revolução na negociação de quant, combinando computação em nuvem e acesso aberto a dados.


Velocidade Incomparável.


Aproveite o nosso farm de servidores para velocidades institucionais do seu computador desktop. Você pode repetir suas ideias mais rapidamente do que nunca.


Biblioteca de dados maciça.


Fornecemos uma enorme biblioteca de dados de resolução de 400TB, cobrindo as ações, opções, futuros, fundamentos, CFD e Forex dos EUA desde 1998.


Execução de Classe Mundial.


Nossos algoritmos de negociação ao vivo estão localizados ao lado dos servidores de mercado da Equinix (NY7) para uma execução rápida, segura e rápida para os mercados.


Tem ótimas ideias? Vamos testar! Comece seu algoritmo.


Qualidade profissional, biblioteca de dados abertos.


Crie estratégias com nossa biblioteca de dados cuidadosamente organizada, abrangendo os mercados globais, desde o tick até a resolução diária. Os dados são atualizados quase diariamente para que você possa fazer backtest nos dados mais recentes possíveis e com o viés de sobrevivência livre.


Oferecemos dados sobre as ações da Equities desde janeiro de 1998 para cada símbolo negociado, totalizando mais de 29.000 ações. O preço é fornecido pelo QuantQuote.


Além do que, além do mais; temos dados fundamentais da Morning Star para os mais populares 8.000 símbolos para mais de 900 indicadores desde 1998.


Crypto, Forex & amp; CFD.


Nós lideramos o mundo com negociações algorítmicas de criptografia no GDAX, além de oferecer 100 contratos de moeda e 70 de CFD cobrindo todas as principais economias fornecidas pela FXCM e pela OANDA. Todos os dados estão disponíveis na resolução do tick, começam em abril de 2007 e são atualizados diariamente.


Oferecemos dados sobre cotações e negociação de futuros de janeiro de 2009 até o presente, para todos os contratos negociados em CME, COMEX e GLOBEX. Os dados são atualizados semanalmente e são fornecidos pelo AlgoSeek.


Oferecemos negociações e cotações de opções até baixa resolução, para todas as opções negociadas na ORPA desde 2007, cobrindo milhões de contratos. Os dados são atualizados dentro de 48 horas e são fornecidos pelo AlgoSeek.


Transfira dados FX e CFD gratuitamente - Explore a nossa biblioteca de dados Inscreva-se hoje.


Colaboração em equipe.


Encontre novos amigos na comunidade e colabore com nosso recurso de codificação de equipe! Compartilhe projetos e veja o código deles instantaneamente enquanto eles digitam. Você pode até conceder acesso ao vivo e controlar o algoritmo ao vivo em conjunto. Use nossas mensagens instantâneas internas para encontrar futuros membros da equipe para juntar forças!


Propriedade Intelectual Segura.


Nosso foco é fornecer a melhor plataforma de negociação algorítmica possível e proteger sua valiosa propriedade intelectual. Nós sempre seremos um provedor de infraestrutura e tecnologia primeiro. Quando você estiver pronto para negociação ao vivo, ficaremos felizes em ajudá-lo a executar seu corretor de escolha.


Executar através de corretoras líderes.


Nós nos integramos a corretoras líderes mundiais para fornecer a melhor execução e taxas mais baixas para a comunidade.


OPÇÕES DE FUTUROS DE EQUITY FOREX.


US $ 1 MÍNIMO, US $ 0,005 / COMPARTILHAR.


Um corretor interativo da indústria fornece acesso ao mercado de ações, futuros e opções, tudo com uma conta e algumas das taxas mais baixas do setor.


De & libra; 0,07 por lote.


Com baixo spread e acesso direto ao mercado, o FXCM fornece acesso ao FX com taxas transparentes, excelentes preenchimentos e um baixo depósito de abertura.


Taxas de spread.


Fundada em 1995, a OANDA fornece acesso a FX e CFD com taxas baseadas em spread cobrindo todos os principais mercados globais.


Negociar moedas de criptografia.


Troque Bitcoin, Etherum e LiteCoin em uma bolsa baseada nos EUA totalmente regulamentada.


FOREX CFD EQUITY CRYPTO.


Negociação de papel.


Com QuantConnect & trade; Paper Trading, você pode simular condições do mercado ao vivo, taxas de modelagem e preenchimentos de pedidos para testar sua estratégia antes de colocá-la ao vivo.


Corrida de Execução Mundial de Corretagem Líder.


Corretoras Suportadas.


Graças aos nossos parceiros de corretagem, podemos oferecer livre negociação ao vivo para os corretores FXCM Brokerage e OANDA Brokerage, permitindo que você backtest e negocie sua estratégia inteiramente de graça.


Uma estratégia robusta de negociação algorítmica.


Nossa abordagem para negociação algorítmica é relativamente simples. Reconhecemos que ninguém pode prever a direção do mercado com 100% de precisão. O que sabemos é que o mercado em uma base de mês a mês, fechará fortemente para cima, fortemente para baixo ou em algum lugar no meio (mercado lateral). Em nossa opinião, a estratégia de negociação algorítmica mais robusta é aquela que negocia múltiplos algoritmos não correlacionados, cada um dos quais tem como alvo uma condição específica de mercado. Este tipo de metodologia só é viável, se no contrário as condições de mercado & ndash; os algoritmos têm pequenos ganhos ou pequenas perdas. Portanto, o principal objetivo de nossos esforços de P & D é minimizar as perdas durante as condições de mercado contrárias. Ao revisar nossa estratégia de negociação algorítmica, considere os riscos envolvidos antes de utilizar nossas estratégias de negociação algorítmica. Negociação de futuros e amp; opções tem risco significativo de perda e não é apropriado para todos os investidores.


Este vídeo, apresentado pelo nosso desenvolvedor líder & ndash; abrange detalhadamente a metodologia de design usada na AlgorithmicTrading.


Definindo Estados de Mercado.


O primeiro passo na criação da nossa estratégia de negociação algorítmica foi definir o que significa ser "fortemente para cima", "baixo" e "baixo". ou & ldquo; lateral & rdquo; Enquanto esta análise pode ser feita diariamente, semanalmente ou mensalmente. Decidimos executar a análise inicial usando dados mensais. Nosso objetivo era separar o desempenho mensal do S & P 500 em três categorias, com base em uma distribuição igual de desempenho mensal. A tabela a seguir demonstra como definimos cada categoria ou estado de mercado. Estes dados foram extraídos de um relatório de desempenho mensal do S & P 500, que foi comprado no primeiro dia do mês e vendido no último dia do mês & ndash; para cada mês a partir de outubro de 2003 até outubro de 2016.


Como nossas estratégias de negociação algorítmica fazem em cada condição de mercado?


A tabela a seguir compara cada estratégia de negociação algorítmica oferecida pela AlgorithmicTrading com cada uma das três condições de mercado, conforme definido na seção anterior. A intenção desta tabela é demonstrar como cada estratégia de negociação algorítmica funciona com base no que o mercado fez naquele mês. O P / L Mensal Mostrado representa o ganho médio mensal com base em uma conta de US $ 30.000 negociando 1 unidade em cada estratégia. Inclui slippage, commission & amp; proteção para nossos negócios com a Iron Condor.


CFTC REGRA 4.41: Os resultados são baseados em resultados de desempenho simulados ou hipotéticos que possuem certas limitações inerentes. Ao contrário dos resultados mostrados em um registro de desempenho real, esses resultados não representam negociação real. Além disso, como esses negócios não foram efetivamente executados, esses resultados podem ter uma compensação insuficiente ou insuficiente pelo impacto, se houver, de alguns fatores de mercado, como falta de liquidez. Programas de negociação simulados ou hipotéticos em geral também estão sujeitos ao fato de que eles são projetados com o benefício da retrospectiva. Nenhuma representação está sendo feita de que qualquer conta terá ou poderá obter lucros ou prejuízos como esses sendo mostrados.


As estratégias de negociação algorítmica de chamada coberta e condor de ferro negociam opções de futuros. O backtesting de um algoritmo de opções apresenta muitos desafios devido às estimativas desconhecidas do prêmio coletado. Dependendo da volatilidade do mercado (entre outras coisas), o prêmio coletado ao vender uma opção pode variar muito. Em geral, quanto maior a volatilidade, mais prêmio poderíamos esperar coletar. Além disso, as opções semanais de ES não estavam disponíveis para negociação durante todo o período de backtested. Para fornecer a nossos clientes dados mais precisos, criamos estimativas de prêmio divididas por Dia (seg-qui) e usamos uma tabela de consulta para várias faixas do VIX (consulte a página de produtos da Iron Condor para obter detalhes ). Observe que essas estimativas têm limitações significativas e os relatórios correspondentes que usam essas estimativas devem ser considerados muito menos do que perfeitos. Todos os back-tests têm limitações, no entanto, os algoritmos de opções testadas novamente têm ainda mais em nossa opinião, devido às possíveis imprecisões usadas na determinação das estimativas coletadas do prêmio.


Como interpretar esses dados?


Esses dados testados novamente capturam como cada algoritmo faz, com base no que o S & P 500 fez naquele mês.


Por exemplo, em todos os testes realizados de outubro de 2003 a outubro de 2016, se o S & P 500 fechou no mês (abaixo), a Treasury Note Strategy realmente teve um desempenho excelente, em US $ 990 / mês em média (por unidade Traded). Isso nos sugere que a Estratégia de Negociação Algorítmica da Treasury Note deve continuar bem durante os meses em que o S & amp; P 500 fechar para esse mês. O algoritmo Covered Call e o algoritmo Breakdown Short Day Trade também fazem bem & ndash; com ganhos de $ 323 & amp; US $ 280 por mês, respectivamente.


Durante os meses em que o S & P 500 fecha em pelo menos US $ 1.500 (Strong Up), o Iron Condor & amp; Algoritmos de impulso funcionam bem com ganhos de $ 1.442 & amp; US $ 1.600 por mês em média (por 1 unidade negociada).


Durante os mercados em que o S & P 500 se elevou ou foi negociado lateralmente (lateralmente), o algoritmo Condor de Ferro, Chamadas Cobertas e Nota de Tesouraria teve um bom desempenho.


Como o AlgorithmicTrading usa esses dados? Qual é o ponto?


Esses dados são usados ​​para criar portfólios (coleções de estratégias de negociação) que possuem certas expectativas, divididas por condições de mercado. Seria ótimo se soubéssemos com antecedência, com 100% de certeza de que o mercado fecharia mais alto para qualquer mês. Se esses dados fossem conhecidos, simplesmente deixaríamos que a estratégia de negociação do Momentum fosse executada e desativássemos todas as outras estratégias. Ou & ndash; basta comprar o S & amp; P 500 no início do mês & amp; vender no final do mês. Infelizmente, ninguém tem uma bola de cristal e, em vez disso, combinamos várias estratégias de negociação, que quando negociadas em conjunto & ndash; Esperamos ter um bom desempenho em TODAS as condições de mercado. Esta metodologia não fornece garantias, mas, em nossa opinião, melhora as probabilidades a nosso favor. Porque temos confiança na capacidade completa de portfólios para lidar com o Strong Up, Sideways & amp; Mercados descendente, somos capazes de deixar o portfólio completo funcionar sem intervenção, não importa o que "pensamos"; o mercado pode fazer.


Estudo de Caso da Estratégia de Negociação Algorítmica Real: S & P Crusher v2.


Este é o nosso principal portfólio, projetado para se sair bem em todas as condições do mercado. Ele comercializa todas as nossas sete estratégias de negociação & ndash; na tentativa de diversificar melhor sua conta. Como este gráfico demonstra, quando você coloca cada estratégia de negociação em um portfólio de negociação completo, você tem o que parece ser um sistema robusto de negociação algorítmica projetado para fazer bem se o mercado sobe, desce ou em algum lugar no meio.


Veja mais informações sobre o S & amp; P Crusher v2.


CFTC REGRA 4.41: Os resultados são baseados em resultados de desempenho simulados ou hipotéticos que possuem certas limitações inerentes. Ao contrário dos resultados mostrados em um registro de desempenho real, esses resultados não representam negociação real. Além disso, como esses negócios não foram efetivamente executados, esses resultados podem ter uma compensação insuficiente ou insuficiente pelo impacto, se houver, de alguns fatores de mercado, como falta de liquidez. Programas de negociação simulados ou hipotéticos em geral também estão sujeitos ao fato de que eles são projetados com o benefício da retrospectiva. Nenhuma representação está sendo feita de que qualquer conta terá ou poderá obter lucros ou prejuízos como esses sendo mostrados.


As estratégias de call coberta e condor de ferro negociam opções de futuros. O backtesting de um algoritmo de opções apresenta muitos desafios devido às estimativas desconhecidas do prêmio coletado. Dependendo da volatilidade do mercado (entre outras coisas), o prêmio coletado ao vender uma opção pode variar muito. Em geral, quanto maior a volatilidade, mais prêmio poderíamos esperar coletar. Além disso, as opções semanais de ES não estavam disponíveis para negociação durante todo o período de backtested. Para fornecer a nossos clientes dados mais precisos, criamos estimativas de prêmio divididas por Dia (seg-qui) e usamos uma tabela de consulta para várias faixas do VIX (consulte a página de produtos da Iron Condor para obter detalhes ). Observe que essas estimativas têm limitações significativas e os relatórios correspondentes que usam essas estimativas devem ser considerados muito menos do que perfeitos. Todos os back-tests têm limitações, no entanto, os algoritmos de opções testadas novamente têm ainda mais em nossa opinião, devido às possíveis imprecisões usadas na determinação das estimativas coletadas do prêmio.


Esta estratégia de negociação é perfeita?


É a opinião da AlgorithmicTrading, que não existe santo graal de negociação e que não existe uma estratégia de negociação perfeita. Todas as estratégias têm falhas e até alguém desenha uma bola de cristal & ndash; haverá stress & amp; emoções envolvidas com a negociação. Com isso dito, é nossa experiência que este tipo de metodologia de negociação & ndash; fundamentada na análise quantitativa real (não falando cabeças ou salas de negociação altas), proporciona uma sensação de alívio emocional quando se trata de negociação ativa.


Como todos os comerciantes sabem, a negociação é muito difícil e as emoções podem nos levar a fazer coisas irracionais. Nossa experiência é que alguns dos negócios mais estressantes são os que vão bem. Sua natureza humana para querer bloquear lucros & ndash; mas os comerciantes estão todos familiarizados com sair cedo demais e ver o mercado continuar em alta. Eles voltam, querendo capturar mais ganhos apenas para reverter o mercado. Eles seguram o perdedor por muito tempo e acabam tendo uma perda maior do que o esperado depois de passarem por suas paradas. Este processo se repete e é uma das razões pelas quais muitos comerciantes de dia falham.


Enquanto a nossa metodologia não é perfeita & ndash; nós tomamos comércios perdedores, perdemos meses e até perdemos trimestres às vezes, o comércio de estratégias múltiplas ajuda com um aspecto da troca de emoções, a saber, o medo de "pegar a direção do mercado". errado. Os dados nos mostram que, mesmo com nossa metodologia de negociação, o mercado pode ser mais alto e o mercado de melhor desempenho “bull market & rdquo; estratégia de negociação que temos (Momentum Trading Strategy) ainda pode ter perdas. No entanto, isso não deve ser a norma e, assim, somos capazes de descansar um pouco mais, sabendo que temos um conjunto equilibrado de estratégias, prontas para (esperançosamente) executá-las, independentemente da direção que o mercado decidir seguir.


Como mencionado repetidamente, futuros e opções de negociação não são para todos. Você deve negociar apenas com o Capital de Risco. Se você estiver em dúvida, discuta nossas estratégias de negociação algorítmica com um CTA registrado ou com um Consultor de Investimentos. Como desenvolvedor de sistemas de negociação de terceiros, não estamos registrados na NFA como Consultores de Negociação de Mercadorias (reivindicamos a isenção de auto-execução de registro) e não podemos fornecer consultoria de investimento em relação à sua situação pessoal.

Комментариев нет:

Отправить комментарий