Sunday 6 May 2018

Avaliação da estratégia de negociação de algoritmos


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-lhe 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 rentabilidade forte ou um declínio lento em direção a 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). Os operadores 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 de comércio quantitativo é estabelecer um pipeline de estratégia que nos fornecerá 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 está familiarizado com o conceito de uma estratégia de negociação, então o primeiro lugar a olhar é com livros de texto 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 seu 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 ​​somente 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 conta taxas, desvios 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 agregados, tais 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 forte 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 de 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, expertise tecnológica), ao índice de Sharpe e ao nível geral de 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 / Liquidez - No nível de varejo, a menos que você esteja negociando com um instrumento altamente ilíquido (como um stock small-cap), 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 alguns benchmarks 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, escreverei muito mais sobre isso no futuro, já que minha experiência anterior no setor financeiro 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 conhecimento técnico. 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 frequentemente 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 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" (ou seja, 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!


Noções básicas de negociação algorítmica: 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 de caixa preta ou simplesmente negociação de algoritmos) é o processo de usar computadores programados para seguir um conjunto definido de instruções para fazer uma negociação, a fim de gerar lucros a uma velocidade e freqüência impossíveis para uma negociação. 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 líquidos e torna o comércio mais sistemático ao excluir os impactos humanos emocionais nas atividades de negociação. (Para mais, confira Escolhendo o Software de Negociação Algorítmica Certo.)


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 Venda ações da ação quando a 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 ao vivo, ou colocar os pedidos manualmente. O sistema de negociação algorítmica faz isso automaticamente, identificando corretamente a oportunidade de negociação. (Para mais informações sobre médias móveis, consulte Médias móveis simples Faça as tendências se destacarem.)


[Se você quiser aprender mais sobre as estratégias comprovadas e no ponto que podem, eventualmente, ser trabalhadas em um sistema de negociação alorítimo, confira o curso Torne-se um Day Trader da Investopedia Academy. ]


Benefícios do comércio algorítmico.


Algo-trading fornece os seguintes benefícios:


Negociações executadas com os melhores preços Possibilidade de colocação imediata e imediata de ordens (com altas chances de execução nos níveis desejados) Negociações cronometradas correta e instantaneamente, para evitar mudanças significativas nos preços Redução dos custos de transação (veja o exemplo de déficit de implementação abaixo) Verificações automatizadas simultâneas em múltiplos condições de mercado Risco reduzido de erros manuais na colocação dos negócios Backtest o algoritmo, com base em dados históricos e em tempo real disponíveis Reduzida possibilidade de erros por parte de comerciantes humanos com base em fatores emocionais e psicológicos.


A maior parte da negociação de algoritmos atuais é 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. (Para mais informações sobre negociação de alta frequência, consulte Estratégias e segredos de empresas de negociação de alta frequência (HFT).)


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) que compram em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande volume. Comerciantes de curto prazo e participantes do lado da venda (formadores de mercado, 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, pares de traders, hedge funds, etc.) acham 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 comerciante 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 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 estratégias de negociação de tendências, consulte: Estratégias simples para capitalizar tendências.)


Comprar uma ação com cotação dupla a um preço menor em um mercado e, simultaneamente, vendê-la 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. Implementar 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 operadores algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos básicos, dependendo do número de ações no fundo de índice, imediatamente 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.


Muitos modelos matemáticos comprovados, como a estratégia de negociação delta-neutral, que permitem negociar com combinação de opções e seu título subjacente, onde são feitas negociações para compensar deltas positivos e negativos, de modo que o delta do portfólio 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 ativo são um fenômeno temporário que revertem para o seu valor médio periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo com base nisso permite que os negócios sejam colocados automaticamente quando o preço do ativo entra e sai de seu intervalo definido.


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


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 das ações se mover favoravelmente e diminuirá quando o preço das ações 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 do lado da venda, têm a inteligência incorporada para identificar a existência de quaisquer algoritmos no lado da compra de uma ordem grande. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedidos e possibilitará que ele se beneficie com o preenchimento dos pedidos a um preço mais alto. Às vezes, isso é identificado como front-running de alta tecnologia. (Para mais informações sobre comércio de alta frequê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. Os seguintes são necessários:


Conhecimentos de programação de computadores para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricados. Conectividade de rede e acesso a plataformas de negociação para colocação de pedidos. Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de fazer pedidos. para backtest o sistema, uma vez 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 abrangente: A Royal Dutch Shell (RDS) está listada na Bolsa de Valores de Amsterdã (AEX) e na Bolsa de Valores de Londres (LSE). Vamos criar 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, seguida pelas duas bolsas sendo negociadas simultaneamente pelas próximas horas e negociando apenas na LSE durante a última hora conforme a 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 que pode ler os preços de mercado atuais Feeds de preços de LSE e AEX Um feed de taxa de câmbio para taxa de câmbio de GBP-EUR Capacidade de colocação de pedidos que pode encaminhar o pedido para a capacidade correta de troca.


O programa de computador deve executar o seguinte:


Leia o feed de preço recebido 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 suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, coloque a compra ordem em troca de preço mais baixo e ordem de venda em troca de preço mais alto Se as ordens forem executadas como desejado, o lucro da arbitragem 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 o comércio de venda não é feito, pois os preços de venda mudam no momento em que 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.


Existem 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.


A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É emocionante usar a automação auxiliada por computadores com a noção 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 aprender programação e construir sistemas por conta própria, para ter confiança em implementar as estratégias corretas de maneira infalível. Uso cauteloso e testes completos de negociação de algoritmos podem criar oportunidades lucrativas. (Para mais, veja Como codificar seu próprio robô de negociação da Algo.)


Perguntas frequentes.


Como eu sei que isso não é uma farsa?


Encorajamos todos os nossos clientes em potencial a realizar sua própria auditoria. Acreditamos em total transparência e compartilhamos nossos resultados abertamente em nosso site. Isso inclui colocar declarações de um indivíduo negociando os algoritmos em nosso site. Estamos registrados no BBB (A + Rating) & amp; são Rip-Off Report verificados. Indivíduos do Rip-Off Report realmente visitaram nosso desenvolvedor líder em seu escritório em casa & ndash; entrevistá-lo para que recebamos o final "Verfied & rdquo; status. Além disso, fomos revisados ​​por um blogueiro conhecido que procurou nossa empresa há algum tempo sem que soubéssemos. Este blogueiro é conhecido por suas duras críticas aos fornecedores de sistemas de negociação. No final, ele nos deu 4,7 de 5 estrelas. Das 50+ avaliações feitas, apenas um pequeno punhado recebe algo melhor do que 1 estrela. Por fim, em novembro de 2014, um comprador interessado financiou uma avaliação de terceiros dos sistemas de negociação que oferecemos naquele momento. Neste ponto, a revisão é um pouco datada, cobrindo alguns dos nossos primeiros algoritmos & ndash; No entanto, você pode ler o relatório final aqui.


Se você quiser saber mais, entre em contato com um de nossos representantes para agendar uma demonstração ao vivo do nosso sistema. AlgorithmicTrading não acessa ou toca seu dinheiro, nós simplesmente licenciamos os algoritmos que são negociados automaticamente através de uma conta de corretagem ou utilizados na plataforma de negociação.


Como o Algorithmic Trading, em geral, difere de outros estilos de negociação?


Recomendamos que você assista à seguinte série de vídeos em duas partes, na qual nosso principal desenvolvedor encontra uma estratégia on-line (MACD Trading Strategy) & ndash; codifica e mostra como é eficaz. No segundo vídeo, ele dá um passo adiante e adiciona um sinal de confirmação que é recomendado pelo site de terceiros & ndash; o incrível oscilador. Como essa estratégia funciona? Nosso desenvolvedor faz o possível para que ele funcione & ndash; e os resultados podem surpreendê-lo.


Ele não apenas codifica a estratégia, mostra os relatórios de desempenho, faz o melhor para otimizar o algoritmo & ndash; mas ele também mostra o código e usa uma máquina de estados finitos para criar uma sequência de eventos comerciais necessários para ocorrer antes de colocar a negociação (primeiro a linha de alta de MACD, depois a linha de alta do Awesome Oscillator como confirmação).


Esta série de vídeos é muito interessante & ndash; porque realmente demonstra o poder do Quant / Algorithmic Trading.


Desenvolver um sistema de negociação válido requer muito mais do que fornecer um ou dois gráficos com algumas sugestões. Ela exige que o desenvolvedor / fornecedor identifique claramente quando entrar, quando sair, qual parada usar, que limite usar, qual tamanho de vela usar (5 min, 10 min, 60 min, etc), qual símbolo (SPY, QQQ, ES, etc), para incluir comissão / slippage e muito mais.


Como posso começar a negociação automática?


Nossos representantes podem ajudar você a se preparar em apenas algumas etapas fáceis. Clique aqui para mais informações sobre como começar.


Por que eu deveria comprar seu sistema de negociação algorítmica?


Entendendo o risco de negociar futuros, preferimos não usar nenhuma tática de venda pesada. Nossa abordagem é simplesmente apresentar os dados, com as divulgações de riscos apropriadas, e permitir que você tome suas próprias decisões. Nossos representantes não são consultores de investimento licenciados ou registrados, ou CTAs, por isso não podemos aconselhá-lo sobre sua situação específica, mas estamos felizes em fornecer informações sobre nossos vários portfólios e estratégias de negociação. Se você estiver interessado, podemos fornecer demonstrações ao vivo e relatórios de back-testing da TradeStation em cada algoritmo com mais de 10 anos. Encorajamos você a analisar os dados, compartilhar com um CTA registrado no NFA (Commodity Trading Adviser) e nos informar quais são as perguntas que eles têm para que possamos abordá-los. Contacte-nos ou ligue para 866.759.6546 para falar com um representante.


Qual corretor você usa?


Para a execução de comércio automático, temos várias opções disponíveis. Além disso, os algoritmos são codificados em linguagem fácil de tradestation. Se você preferir lidar com os negócios por conta própria, podemos instalar os modelos criptografados em sua plataforma de negociação. Contacte-nos ou ligue para 866.759.6546 para mais detalhes.


Seus resultados são baseados em negociação ao vivo ou simulados?


Para as carteiras / estratégias recentemente atualizadas, começamos a usar preenchimentos reais (não hipotéticos) por volta de outubro de 2016. Todos os resultados lançados desde então são os retornos ao vivo, normalizados para um & ldquo; por unidade & rdquo; tamanho do comércio & ndash; retirado da nossa conta de corretagem ao vivo dos desenvolvedores. Slippage é anotado como $ 0 para esses negócios, uma vez que são os preenchimentos reais não simulados.


Os resultados publicados antes da negociação ao vivo são considerados contra-testados / simulados / hipotéticos, salvo indicação em contrário. Tenha em mente que, enquanto eles estão listados como back-tested, para alguns dos algoritmos (Nota do Tesouro / P2-PushPull, Momentum / BullFire, Breakout Day Trade e Short Day Trade), o período entre outubro de 2015 e outubro de 2016 é considerado cego walk-forward, uma vez que estes algoritmos foram otimizados pela última vez em outubro de 2015.


Os algoritmos mais recentes (Gap Short, Covered Calls e Iron Condor) são adições mais recentes e seus resultados são testados novamente até outubro de 2016, quando começaram a ser comercializados ao vivo.


Por que isso importa? Entre outras razões, os algoritmos que são testados novamente têm o benefício da visão de trás e, como os negócios reais não são realizados, os impactos do sistema de negociação no mercado negociado não são contabilizados. Os desenvolvedores introduzirão o "slippage & rdquo; a fim de simular qualquer impacto potencial, os negócios reais poderiam ter & ndash; no entanto, estas são estimativas. Em nossos modelos, introduzimos 1 tick de slippage por negociação, por contrato & ndash; ida e volta. Por exemplo, se o algoritmo em uma conta simulada visse um preenchimento de 2100,00 no ES, presumiríamos que o preenchimento estava em 2100,25 em nossos modelos.


Se você tiver alguma dúvida sobre isso, sinta-se à vontade para entrar em contato conosco.


Posso trocar o meu Roth IRA / IRA pelos seus algoritmos?


Sim, futuros automatizados & amp; A negociação de opções é um investimento alternativo permitido em IRAs auto-direcionadas. Um dos nossos corretores de auto-execução CFTC / NFA aprovados pode orientá-lo através do processo para que você possa negociar seu IRA ou Roth IRA com nossos algoritmos. Contacte-nos para saber mais.


Você desenvolve seus próprios algoritmos? Qual é o histórico do desenvolvedor do seu sistema de leads?


Sim, desenvolvemos todos os nossos algoritmos. Nosso desenvolvedor líder é bacharel em engenharia elétrica. Ele trabalhou para empresas da Fortune 500 como engenheiro de programação / design lógico, incluindo Hewlett-Packard, Intel e Qualcomm. Sua experiência em desenvolvimento de algoritmos e matemática avançada fez dele o ajuste perfeito para o comércio quântico / mecânico.


Os engenheiros de design lógico estão familiarizados com as máquinas de estado finito e com a implementação de lógica complexa de processamento paralelo. Em nossa opinião, esses conceitos se traduzem bem no campo Quant de programação de sistemas de negociação algorítmica, já que os mercados podem ser considerados como uma grande máquina de estado com negociações sendo iniciadas com base em várias seqüências de eventos.


Os engenheiros de design lógico também estão familiarizados com a lógica de depuração e tentando encontrar falhas na lógica que criam. Esta forma crítica de olhar para um projeto também se traduz bem em negociação Quant. Escrever um algoritmo de negociação de várias maneiras é a parte fácil. Fazer o melhor possível para garantir que o algoritmo não seja otimizado demais e que será bem negociado após a otimização é a parte difícil. Uma abordagem crítica / pessimista para projetar uma estratégia de negociação algorítmica é muito útil na produção de um produto de qualidade que não apenas parece ser testado corretamente, mas também testado e, finalmente, em negociações ao vivo.


O que exatamente seus algoritmos comercializam?


Negociamos o mercado de futuros, tanto a longo como a curto prazo, no Emini S & amp; P Futures e no TY Treasury Note. Além disso, colocamos operações de opções, tanto longas quanto curtas. Nossas opções de negociação são Iron Condors ou Covered Calls e estão sempre na frente executando opções semanais. Isso ajuda a reduzir o risco de alguns & ndash; em que não temos posições de opções ao longo do final de semana.


Como os diferentes algoritmos dentro de um pacote funcionam juntos?


Nossos sistemas de negociação, como o The Swing Trader e o S & amp; P Crusher v2, negociam vários algoritmos não correlacionados simultaneamente. Entendendo que ninguém pode prever a direção do mercado com 100% de certeza, em vez disso, colocamos vários algoritmos em um único portfólio com a intenção de ter 1-2 algoritmos que funcionam bem quando o mercado está sendo negociado mais alto, 1-2 que se saem bem quando o mercado está indo mais baixo e 1-2 algoritmos de negociação que devem se dar bem durante as condições de mercado em movimento lateral. Nas direções contrárias do mercado, nosso objetivo é minimizar perdas ou ter pequenos ganhos. Combinados, tentamos ser algoritmos NET 1-2 positivos para cada condição de mercado (em movimento, em movimento lateral e em movimento).


Isto não garante que todos os meses temos ganhos, no entanto, na nossa opinião, é a melhor maneira de implementar um sistema de negociação puramente técnico. Muitos desenvolvedores tentam criar um algoritmo que funcione em todas as condições de mercado, uma tarefa muito difícil, se não impossível, em nossa opinião.


Se houver vários algoritmos negociando juntos, existe uma maneira de saber qual deles colocou o comércio?


Sim. Existe um aplicativo de smartphone que irá alertá-lo sempre que um novo comércio for feito, e você também poderá receber alertas de email. Você também receberá declarações diárias e mensais da empresa de compensação da NFA Registered, onde seu dinheiro está realmente localizado. No final de cada dia de negociação, atualizamos a lista de negociação para cada carteira / estratégia com quaisquer negociações fechadas. Com esta informação, você pode acompanhar em tempo real e comparar seus resultados com os nossos.


Você tem algo curto?


Sim, temos vários algoritmos projetados para funcionar bem quando o S & P está diminuindo, a Estratégia de Negociação de Curto Prazo, a Estratégia de Negociação do Dia da Manhã e a Estratégia de Negociação da Tesouraria. Além disso, nossa Estratégia de Negociação de Chamada Coberta funciona muito bem durante os mercados em baixa. Os algoritmos de negociação de dois dias negociam o S & amp; P 500 Emini Futures (ES). O Algoritmo da Nota do Tesouro negocia a Nota de 10 anos (TY), que tem uma correlação inversa com o S & P 500, o que significa que normalmente tem um bom desempenho quando o S & amp; P 500 está indo para baixo. Este algoritmo teve seu melhor ano em 2008 e é o nosso algoritmo de melhor desempenho desde que foi lançado. A estratégia de chamadas cobertas vende chamadas fora do dinheiro nas opções semanais de ES.


Com base no backtesting, esperamos que todas as nossas carteiras tenham um bom desempenho durante o próximo período de baixa. Não há garantias, mas estamos bastante confiantes em sua capacidade de superar as condições do mercado de baixa.


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 maior ou menor pelo impacto, se houver, de alguns fatores de mercado, como a 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. Não está sendo feita nenhuma representação de que qualquer conta terá ou poderá obter lucros ou perdas similares a essas demonstrações.


Quanto custa o seu sistema?


Oferecemos acesso aos nossos portfólios & amp; estratégias de negociação baseadas em um sistema de associação. Os membros do nosso serviço têm permissão para negociar qualquer combinação de carteiras / estratégias que eles visualizam em nosso site & ndash; até o valor máximo que eles estão licenciados para negociar. Isso nos permite controlar quanto capital está sendo negociado em nossos algoritmos, a fim de minimizar o impacto que os clientes adicionais poderiam ter em seu desempenho no futuro.


Clique aqui para nos contatar ou ligue para 866.759.6546 para mais informações. Você será surpreendido como eles são acessíveis.


Quanto é necessário para trocar os algos?


Cada pacote tem um & ldquo; por unidade & rdquo; tamanho do comércio, que é também o valor mínimo em dólar necessário para começar. Cada unidade representa um bloco de negociações realizadas nos diferentes algoritmos contidos nesse pacote. O S & amp; P Crusher exige um tamanho de conta inicial de US $ 30.000, enquanto a Estratégia de negociação de Swing exige um saldo inicial de US $ 15.000. Contacte-nos para mais detalhes.


O que acontece se a minha conta ficar abaixo do tamanho por unidade comercial?


Os tamanhos de comércio por unidade para o S & amp; P Crusher e Swing Trader são construídos de tal forma que a conta pode incorrer em perdas sem um indivíduo que precisa depositar mais capital. O mínimo absoluto necessário para negociar o S & amp; P Crusher antes de um receber uma chamada de margem é de aproximadamente US $ 12.500. O tamanho do comércio por unidade de US $ 30.000 fornece um buffer muito grande para contabilizar as perdas.


Para o Swing Trader, o mínimo absoluto é de aproximadamente US $ 7.500 e é por unidade de US $ 15.000. Como o S & amp; P Crusher, isso fornece um buffer muito grande, de modo que a conta poderia incorrer em um drawdown bastante grande sem receber uma chamada de margem. Claro, não há garantias na negociação. Esses algoritmos só devem ser negociados com o & lddquo; capital de risco & rdquo ;.


Você negocia os algoritmos?


Várias pessoas ligadas à empresa negociaram e também vendem a licença para negociá-las. Nos anos anteriores (com consistência variável), nosso desenvolvedor comercializou os algoritmos (2013-2015). Nesses períodos, o desenvolvedor também comercializava algoritmos da R & amp; D e colocava uma negociação discricionária ocasional. Algumas dessas & ldqu; R & amp; D & rdquo; Algoritmos foram bem, outros não. Para 2013-2016, o desenvolvedor não era lucrativo em suas contas de negociação pessoais, principalmente devido à substituição dos algoritmos às vezes e à realização de negociações discricionárias. O desenvolvedor atualmente comercializa todas as estratégias de negociação contidas na ES Trading Strategy chamada S & amp; P Crusher v2 & amp; O Swing Trader em sua conta de negociação pessoal.


O suporte para o seu sistema está disponível?


Oferecemos suporte por telefone e e-mail 24 horas por dia, 7 dias por semana, e os corretores de execução automática também oferecem suporte excepcional ao cliente. Se você é um cliente atual que precisa de suporte, ligue para 866.759.6546.


Você oferece serviços de conta gerenciada?


AlgorithimicTrading e seus representantes / princípios não são Consultores de Negociação de Commodities e NÃO oferecem serviços de conta gerenciados ou parcialmente gerenciados. Como empresa de desenvolvimento de sistemas de negociação de terceiros, não controlamos contas de clientes. Nossos clientes podem substituir negociações, modificar a alocação entre as diferentes estratégias de negociação & amp; desligue as estratégias que eles deveriam escolher.


A AlgorithmicTrading vende a licença para usar nossos algoritmos. Com isso dito, há vários corretores da NFA Registered que executarão automaticamente nossos algoritmos com os melhores esforços em sua conta de negociação. Ligue para 866.759.6546 para mais informações.


Eu deveria apostar o farm & rsquo; com seus algoritmos?


Absolutamente não. A negociação algorítmica no mercado de Futuros da Emini em uma base de relativamente curto prazo deve ser considerada um investimento arriscado. AlgorithmicTrading e seus representantes não são CTAs registrados (Consultor de Negociação de Mercadorias) e não podem fornecer conselhos exclusivos para sua situação. Consulte um profissional para discutir seus objetivos de investimento específicos e determinar se os nossos sistemas de negociação algorítmica podem fornecer um papel no trabalho em direção a esses objetivos.


Por favor, não negocie nossos algoritmos se você não tiver capital de risco adequado para alocar para eles.


Você já re-otimizar os algoritmos?


Sim, conforme necessário. Isso é incluído como parte da manutenção dos algoritmos. Se encontrarmos uma melhoria nos algoritmos existentes, forneceremos isso aos nossos corretores de execução automática e faremos o melhor possível para notificar todos os clientes existentes sobre a alteração.


Se você é um cliente que usa tradestation, você precisará nos notificar por e-mail para agendar uma atualização.


Você garante que eu vou ganhar dinheiro todo mês?


Não. O ganho médio por mês é um ganho médio que os algoritmos fizeram com base no back-test backing no período indicado. Alguns meses eles fizeram mais que o que foi lançado, outros meses fizeram menos ou contabilizaram perdas para o mês. Esse é um ganho médio por mês usando o & ldquo; por unidade & rdquo; tamanho do comércio.


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 compensado de forma insuficiente ou excessiva o impacto, se houver, de alguns fatores de mercado, como a 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 que qualquer conta irá, ou é provável que, alcance lucros ou perdas similares a estes sendo mostrados.


Mesmo a 5% ao mês (60% ao ano), superaria a maioria dos fundos de hedge. Por que eles não fazem o que você está fazendo?


Nossos algoritmos são considerados agressivos. Os fundos de hedge têm algoritmos de quantia agressivos como o nosso, no entanto, é nossa opinião que eles normalmente não alocam tanto de seu capital para esses modelos mais arriscados e, portanto, não têm o potencial de retornos espetaculares que podemos ter.


A critério de nossos clientes, se a alocação por unidade for modificada para reduzir o risco, o ganho mensal médio com back-test também será reduzido. Os clientes devem sempre considerar o risco envolvido na negociação de futuros ao alocar o número de contratos que desejam negociar. A AlgorithmicTrading não é um consultor de negociação de commodities registrado e não fornece serviços de gerenciamento de risco. Os clientes devem consultar um CTA registrado para aconselhamento adaptado à sua situação específica.


Eu não tenho tempo para olhar para qualquer gráfico, estou muito ocupado.


Nosso sistema é 100% automatizado. Não há nenhuma instalação ou ação necessária se você utilizar um de nossos corretores de execução automática. Depois de configurado, o corretor de execução automática negociará os algoritmos na sua conta com os melhores esforços. Você receberá uma declaração diária. Há também um aplicativo de smartphone que irá alertá-lo em tempo real quando uma negociação for feita em sua conta.


Você precisa estar registrado como um CTA para vender seus algoritmos?


Não, de acordo com a Regra 4.14 (a) (9) (ii) da CFTC, não somos obrigados a nos registrar sob a Lei como um consultor de negociação de commodities.


Uma pessoa está isenta de registro como uma CTA se "não se envolver". . . [p] fornecer conselhos de negociação de commodities com base ou adaptados às posições de mercado ou mercado à vista ou outras circunstâncias ou características de clientes específicos. & nbsp; & nd;


Qual é a sua política de reembolso?


Encorajamos nossos clientes a adotar uma perspectiva de longo prazo ao usar nossos algoritmos e, portanto, não fornecem reembolsos. Nosso contrato afirma que todas as vendas são finais. Negociar não é fácil, mesmo com um sistema de negociação automatizado de alta qualidade como o nosso. É melhor não se concentrar no dia-a-dia do mercado ou no nosso desempenho. Em vez disso, analise-a mensalmente ou trimestralmente. Meça seus resultados em comparação com o desempenho do S & P 500 e aproveite o passeio!


Você tem declarações que você pode compartilhar?


Sim, basta visitar nossa página de Demonstrações Comerciais Algorítmicas para ver as declarações reais de um indivíduo que negocia nossos algoritmos em piloto automático completo. Apenas tenha em mente que o desempenho passado não é indicativo de desempenho futuro.


Eu tenho mais perguntas, posso falar com alguém?


Sim, nossos representantes estão disponíveis para responder a quaisquer perguntas que você possa ter e orientá-lo em todos os dados que temos. A AlgorithmicTrading e seus representantes não são consultores de investimentos licenciados ou CTAs. Consulte um profissional para discutir sua situação específica com eles.


Backtesting Bem-sucedido de Estratégias de Negociação Algorítmica - Parte I.


Backtesting Bem-sucedido de Estratégias de Negociação Algorítmica - Parte I.


Este artigo continua a série sobre negociação quantitativa, que começou com o Beginner's Guide and Strategy Identification. Ambos os artigos, mais longos e mais envolvidos, têm sido muito populares, por isso vou continuar nesse sentido e fornecer detalhes sobre o tema do backtesting de estratégia.


O backtesting algorítmico requer conhecimento de muitas áreas, incluindo psicologia, matemática, estatística, desenvolvimento de software e microestrutura de mercado / troca. Eu não poderia esperar cobrir todos esses tópicos em um artigo, então vou dividi-los em duas ou três partes menores. O que vamos discutir nesta seção? Começarei definindo o backtesting e depois descreverei o básico de como ele é realizado. Então eu vou elucidar sobre os preconceitos que tocamos no Beginner's Guide to Quantitative Trading. A seguir, apresentarei uma comparação das várias opções de software de backtesting disponíveis.


Nos artigos subseqüentes, veremos os detalhes das implementações de estratégia que são mal mencionadas ou ignoradas. Também vamos considerar como tornar o processo de backtesting mais realista, incluindo as idiossincrasias de uma bolsa de valores. Em seguida, discutiremos os custos de transação e como modelá-los corretamente em uma configuração de backtest. Terminaremos com uma discussão sobre o desempenho de nossos backtests e, finalmente, forneceremos um exemplo de uma estratégia comum de quant, conhecida como um comércio de pares que reverte a média.


Vamos começar discutindo o que é o backtesting e por que devemos realizá-lo em nossa negociação algorítmica.


O que é o backtesting?


A negociação algorítmica se diferencia de outros tipos de classes de investimento, porque podemos fornecer expectativas mais confiáveis ​​sobre o desempenho futuro do desempenho passado, como consequência da disponibilidade abundante de dados. O processo pelo qual isso é realizado é conhecido como backtesting.


Em termos simples, o backtesting é realizado expondo seu algoritmo de estratégia particular a um fluxo de dados financeiros históricos, o que leva a um conjunto de sinais de negociação. Cada negociação (que vamos querer dizer aqui como uma ida e volta de dois sinais) terá um lucro ou prejuízo associado. A acumulação deste lucro / perda ao longo da duração do seu backtest de estratégia levará ao lucro e perda total (também conhecido como 'P & L' ou 'PnL'). Essa é a essência da ideia, embora, é claro, o "diabo esteja sempre nos detalhes"!


Quais são as principais razões para fazer backtesting de uma estratégia algorítmica?


Filtragem - Se você se lembra do artigo sobre identificação de estratégia, nosso objetivo na fase inicial de pesquisa era configurar um pipeline de estratégia e filtrar qualquer estratégia que não atendesse a determinados critérios. O backtesting nos fornece outro mecanismo de filtragem, pois podemos eliminar estratégias que não atendem às nossas necessidades de desempenho. Modelagem - O backtesting nos permite testar (com segurança!) Novos modelos de certos fenômenos de mercado, como custos de transação, roteamento de ordens, latência, liquidez ou outras questões de microestrutura do mercado. Otimização - Embora a otimização da estratégia seja repleta de vieses, o backtesting nos permite aumentar o desempenho de uma estratégia, modificando a quantidade ou os valores dos parâmetros associados a essa estratégia e recalculando seu desempenho. Verificação - Nossas estratégias são muitas vezes adquiridas externamente, através do nosso pipeline de estratégia. O backtesting de uma estratégia garante que ela não tenha sido implementada incorretamente. Embora raramente tenhamos acesso aos sinais gerados por estratégias externas, muitas vezes teremos acesso às métricas de desempenho, como as características de Sharpe Ratio e Drawdown. Assim, podemos compará-los com nossa própria implementação.


Backtesting fornece uma série de vantagens para negociação algorítmica. No entanto, nem sempre é possível fazer backtest diretamente de uma estratégia. Em geral, à medida que a frequência da estratégia aumenta, torna-se mais difícil modelar corretamente os efeitos de microestrutura do mercado e das trocas. Isso leva a backtests menos confiáveis ​​e, portanto, uma avaliação mais complicada de uma estratégia escolhida. Este é um problema particular em que o sistema de execução é a chave para o desempenho da estratégia, como acontece com os algoritmos de freqüência ultra-alta.


Infelizmente, o backtesting é repleto de preconceitos de todos os tipos. Nós abordamos algumas dessas questões em artigos anteriores, mas vamos agora discuti-las em profundidade.


Vieses que afetam os backtests de estratégia.


Existem muitos vieses que podem afetar o desempenho de uma estratégia de backtested. Infelizmente, esses vieses tendem a inflar o desempenho em vez de prejudicá-lo. Assim, você deve sempre considerar um backtest como um limite superior idealizado no desempenho real da estratégia. É quase impossível eliminar os vieses do comércio algorítmico, por isso é nosso trabalho minimizá-los da melhor maneira possível, a fim de tomar decisões informadas sobre nossas estratégias algorítmicas.


Existem quatro principais vieses que desejo discutir: Viés de Otimização, Viés de Look-Ahead, Viés de Sobrevivência e Viés de Tolerância Psicológica.


Viés de otimização.


Este é provavelmente o mais insidioso de todos os preconceitos de backtest. Isso envolve o ajuste ou a introdução de parâmetros de negociação adicionais até que o desempenho da estratégia no conjunto de dados de backtest seja muito atraente. No entanto, uma vez que viver, o desempenho da estratégia pode ser muito diferente. Outro nome para esse viés é "ajuste de curva" ou "viés de snooping de dados".


O viés de otimização é difícil de eliminar, pois as estratégias algorítmicas geralmente envolvem muitos parâmetros. "Parâmetros" neste exemplo podem ser os critérios de entrada / saída, períodos de retorno, períodos médios (isto é, o parâmetro de suavização da média móvel) ou frequência de medição de volatilidade. O viés de otimização pode ser minimizado mantendo o número de parâmetros no mínimo e aumentando a quantidade de pontos de dados no conjunto de treinamento. De fato, também é preciso ter cuidado com este último, pois os pontos de treinamento mais antigos podem estar sujeitos a um regime anterior (como um ambiente regulatório) e, portanto, podem não ser relevantes para sua estratégia atual.


Um método para ajudar a atenuar esse viés é realizar uma análise de sensibilidade. Isso significa variar os parâmetros de forma incremental e traçar uma "superfície" de desempenho. O raciocínio sólido e fundamental para as escolhas de parâmetros deve, com todos os outros fatores considerados, levar a uma superfície de parâmetro mais suave. Se você tem uma superfície de desempenho muito agitada, isso geralmente significa que um parâmetro não está refletindo um fenômeno e é um artefato dos dados de teste. Existe uma vasta literatura sobre algoritmos de otimização multidimensional e é uma área altamente ativa de pesquisa. Eu não vou me debruçar sobre isso aqui, mas mantenha isso no fundo de sua mente quando você encontrar uma estratégia com um backtest fantástico!


Tendência de Look-Ahead.


O viés de antecipação é introduzido em um sistema de backtesting quando dados futuros são acidentalmente incluídos em um ponto da simulação onde esses dados não estariam disponíveis. Se estivermos realizando o backtest cronologicamente e chegarmos ao ponto de tempo $ N $, então o bias de look-ahead ocorrerá se os dados forem incluídos para qualquer ponto $ N + k $, onde $ k> 0 $. Erros de polarização antecipada podem ser incrivelmente sutis. Aqui estão três exemplos de como o viés de look-ahead pode ser introduzido:


Bugs técnicos - Matrizes / vetores no código geralmente possuem iteradores ou variáveis ​​de índice. Deslocamentos incorretos desses índices podem levar a um viés de antecipação ao incorporar dados em $ N + k $ para não-zero $ k $. Cálculo de Parâmetros - Outro exemplo comum de viés de look-ahead ocorre ao calcular parâmetros estratégicos ótimos, como com regressões lineares entre duas séries temporais. Se todo o conjunto de dados (incluindo dados futuros) for usado para calcular os coeficientes de regressão e, portanto, aplicado retroativamente a uma estratégia de negociação para fins de otimização, os dados futuros serão incorporados e haverá um viés de antecipação. Maxima / Minima - Determinadas estratégias de negociação utilizam valores extremos em qualquer período de tempo, como incorporar os preços altos ou baixos nos dados do OHLC. No entanto, como esses valores máximos / mínimos só podem ser calculados no final de um período de tempo, um viés de antecipação é introduzido se esses valores forem usados ​​durante o período atual. É sempre necessário atrasar valores altos / baixos em pelo menos um período em qualquer estratégia de negociação fazendo uso deles.


Tal como acontece com o viés de otimização, é preciso ter muito cuidado para evitar sua introdução. Muitas vezes, é a principal razão pela qual as estratégias de negociação têm um desempenho inferior aos backtests significativamente em "negociação ao vivo".


Viés de sobrevivência.


O viés de sobrevivência é um fenômeno particularmente perigoso e pode levar a um desempenho significativamente inflacionado para certos tipos de estratégia. Ocorre quando as estratégias são testadas em conjuntos de dados que não incluem o universo completo de ativos anteriores que podem ter sido escolhidos em um determinado momento, mas consideram apenas aqueles que "sobreviveram" à hora atual.


Como exemplo, considere testar uma estratégia em uma seleção aleatória de ações antes e depois do crash do mercado de 2001. Algumas ações da tecnologia faliram, enquanto outras conseguiram se manter à tona e até prosperaram. Se tivéssemos restringido essa estratégia apenas às ações que passaram pelo período de rebaixamento do mercado, estaríamos introduzindo um viés de sobrevivência, porque eles já demonstraram seu sucesso para nós. Na verdade, esse é apenas outro caso específico de viés de antecipação, já que informações futuras estão sendo incorporadas à análise passada.


Existem duas maneiras principais de atenuar o viés de sobrevivência em seus backtests de estratégia:


Conjuntos de dados livres de viés de sobrevivência - No caso de dados de patrimônio, é possível adquirir conjuntos de dados que incluem entidades com registro de saída, embora não sejam baratas e só tendam a ser utilizadas por empresas institucionais. Em particular, os dados do Yahoo Finance NÃO são livres de viés de sobrevivência, e isso é comumente usado por muitos traders de algoritmos de varejo. Também é possível negociar em classes de ativos que não são propensas ao viés de sobrevivência, como certas commodities (e seus futuros derivativos). Usar dados mais recentes - No caso de ações, a utilização de um conjunto de dados mais recente atenua a possibilidade de que a seleção de ações escolhida seja ponderada para "sobreviventes", simplesmente porque há menos probabilidade de fechamento de estoque geral em períodos de tempo mais curtos. Também é possível começar a criar um conjunto de dados pessoal livre de viés de sobrevivência, coletando dados do ponto atual em diante. Depois de 3 a 4 anos, você terá um sólido conjunto de dados de equidade livres de viés de sobrevivência, com o qual será feito backtest de estratégias adicionais.


Consideraremos agora certos fenômenos psicológicos que podem influenciar seu desempenho comercial.


Tendência da Tolerância Psicológica.


Este fenómeno em particular não é frequentemente discutido no contexto do comércio quantitativo. No entanto, é discutido extensivamente em relação a métodos de negociação mais discricionários. Ele tem vários nomes, mas eu decidi chamar de "viés de tolerância psicológica" porque capta a essência do problema. Ao criar backtests durante um período de 5 anos ou mais, é fácil olhar para uma curva de capital de tendência ascendente, calcular o retorno anual composto, o índice de Sharpe e até as características de rebaixamento e ficar satisfeito com os resultados. Como exemplo, a estratégia pode possuir um rebaixamento relativo máximo de 25% e uma duração máxima de rebaixamento de 4 meses. Isso não seria atípico para uma estratégia momentânea. É fácil convencer-se de que é fácil tolerar esses períodos de perdas porque o quadro geral é otimista. No entanto, na prática, é muito mais difícil!


Se rebotes históricos de 25% ou mais ocorrerem nos backtests, então, com toda a probabilidade, você verá períodos de rebaixamento similar em negociações ao vivo. Estes períodos de abandono são psicologicamente difíceis de suportar. Observei em primeira mão como pode ser uma redução prolongada, em um ambiente institucional, e isso não é agradável - mesmo que os backtests sugiram que tais períodos ocorrerão. A razão pela qual eu o denominei de "viés" é que muitas vezes uma estratégia que de outra forma seria bem-sucedida é impedida de negociar durante períodos de rebaixamento estendido e, portanto, levará a um desempenho significativamente inferior comparado a um backtest. Assim, embora a estratégia seja de natureza algorítmica, os fatores psicológicos ainda podem ter uma forte influência na lucratividade. The takeaway is to ensure that if you see drawdowns of a certain percentage and duration in the backtests, then you should expect them to occur in live trading environments, and will need to persevere in order to reach profitability once more.


Software Packages for Backtesting.


The software landscape for strategy backtesting is vast. Solutions range from fully-integrated institutional grade sophisticated software through to programming languages such as C++, Python and R where nearly everything must be written from scratch (or suitable 'plugins' obtained). As quant traders we are interested in the balance of being able to "own" our trading technology stack versus the speed and reliability of our development methodology. Here are the key considerations for software choice:


Programming Skill - The choice of environment will in a large part come down to your ability to program software. I would argue that being in control of the total stack will have a greater effect on your long term P&L than outsourcing as much as possible to vendor software. This is due to the downside risk of having external bugs or idiosyncrasies that you are unable to fix in vendor software, which would otherwise be easily remedied if you had more control over your "tech stack". You also want an environment that strikes the right balance between productivity, library availability and speed of execution. I make my own personal recommendation below. Execution Capability/Broker Interaction - Certain backtesting software, such as Tradestation, ties in directly with a brokerage. I am not a fan of this approach as reducing transaction costs are often a big component of getting a higher Sharpe ratio. If you're tied into a particular broker (and Tradestation "forces" you to do this), then you will have a harder time transitioning to new software (or a new broker) if the need arises. Interactive Brokers provide an API which is robust, albeit with a slightly obtuse interface. Customisation - An environment like MATLAB or Python gives you a great deal of flexibility when creating algo strategies as they provide fantastic libraries for nearly any mathematical operation imaginable, but also allow extensive customisation where necessary. Strategy Complexity - Certain software just isn't cut out for heavy number crunching or mathematical complexity. Excel is one such piece of software. While it is good for simpler strategies, it cannot really cope with numerous assets or more complicated algorithms, at speed. Bias Minimisation - Does a particular piece of software or data lend itself more to trading biases? You need to make sure that if you want to create all the functionality yourself, that you don't introduce bugs which can lead to biases. Speed of Development - One shouldn't have to spend months and months implementing a backtest engine. Prototyping should only take a few weeks. Make sure that your software is not hindering your progress to any great extent, just to grab a few extra percentage points of execution speed. C++ is the "elephant in the room" here! Speed of Execution - If your strategy is completely dependent upon execution timeliness (as in HFT/UHFT) then a language such as C or C++ will be necessary. However, you will be verging on Linux kernel optimisation and FPGA usage for these domains, which is outside the scope of this article! Cost - Many of the software environments that you can program algorithmic trading strategies with are completely free and open source. In fact, many hedge funds make use of open source software for their entire algo trading stacks. In addition, Excel and MATLAB are both relatively cheap and there are even free alternatives to each.


Now that we have listed the criteria with which we need to choose our software infrastructure, I want to run through some of the more popular packages and how they compare:


Note: I am only going to include software that is available to most retail practitioners and software developers, as this is the readership of the site. While other software is available such as the more institutional grade tools, I feel these are too expensive to be effectively used in a retail setting and I personally have no experience with them.


Interpreting a Strategy Performance Report.


Today's market analysis platforms allow traders to quickly review a trading system's performance and evaluate its efficiency and potential profitability. These performance metrics are typically displayed in a strategy performance report, a compilation of data based on different mathematical aspects of a system's performance. Whether looking at hypothetical results or actual trading data, there are hundreds of performance metrics that can be used to evaluate a trading system.


Traders often develop a preference for the metrics that are most useful to their trading style. While traders may naturally gravitate toward one number—total net profit, for example—it is important to understand and review many of the performance metrics before making any decisions regarding the potential profitability of the system. Knowing what to look for in a strategy performance report can help traders objectively analyze a system's strengths and weaknesses. (See also: Trading Systems Tutorial .)


Strategy Performance Reports.


A strategy performance report is an objective evaluation of a system's performance. A set of trading rules can be applied to historical data to determine how it would have performed during the specified period. This is called backtesting and it is a valuable tool for traders wishing to test a trading system before putting it in the market. Most market analysis platforms allow traders to create a strategy performance report during backtesting. Traders can also create strategy performance reports for actual trading results.


Figure 1 shows an example of a performance summary from a strategy performance report that includes a variety of performance metrics. The metrics are listed on the left side of the report; the corresponding calculations are found on the right side, separated into columns.


In addition to the performance summary seen in Figure 1, strategy performance reports may also include trade lists, periodical returns and performance graphs. The trade list provides an account of each trade that was taken, including information such as the type of trade (long or short), the date and time, price, net profit, cumulative profit and percent profit. The trade list allows traders to see exactly what happened during each trade.


Viewing the periodical returns for a system allows traders to see performance broken down into daily, weekly, monthly or annual segments. This section is helpful in determining profits or losses for a specific time period. Traders can quickly assess how a system is performing on a daily, weekly, monthly or annual basis. It is important to remember that in trading, it is the cumulative profits (or losses) that matter. Looking at one trading day or one trading week is not as significant as looking at the monthly and yearly data.


One of the quickest methods of analyzing strategy performance is the performance graph. This shows the trade data in a variety of ways, from a bar graph showing monthly net profit to an equity curve. Either way, the performance graph provides a visual representation of all the trades in the period, allowing traders to quickly ascertain whether or not a system is performing up to standards. Figure 2 shows two performance graphs: one as a bar chart of monthly net profit; the other as an equity curve. (See also: Charting Your Way to Better Returns .)


Key Metrics.


A strategy performance report may contain a tremendous amount of information regarding a trading system's performance. While all of the statistics are important, it's helpful to narrow the initial scope to five key performance metrics:


Total Net Profit Profit Factor Percent Profitable Average Trade Net Profit Maximum Drawdown.


These five metrics provide a good starting point for testing a potential trading system or evaluating a live trading system.


Total Net Profit: The total net profit represents the bottom line for a trading system over a specified period of time. This metric is calculated by subtracting the gross loss of all losing trades (including commissions) from the gross profit of all winning trades. In Figure 1, total net profit is calculated as:


While many traders use total net profit as the primary means to measure trading performance, the metric alone can be deceptive. By itself, this metric cannot determine if a trading system is performing efficiently, nor can it normalize the results of a trading system based on the amount of risk that is sustained. While certainly a valuable metric, total net profit should be viewed in concert with other performance metrics. (See also: Profiting In A Post-Recession Economy .)


Profit Factor: The profit factor is defined as the gross profit divided by the gross loss (including commissions) for the entire trading period. This performance metric relates the amount of profit per unit of risk, with values greater than one indicating a profitable system. As an example, the strategy performance report shown in Figure 1 indicates the tested trading system has a profit factor of 1.98. This is calculated by dividing the gross profit by the gross loss:


This is a reasonable profit factor and signifies that this particular system produces a profit. We all know that not every trade will be a winner and that we will have to sustain losses. The profit factor metric helps traders analyze the degree to which wins are greater than losses.


The above equation shows the same gross profit as the first equation, but substitutes a hypothetical value for the gross loss. In this case, the gross loss is greater than the gross profit, resulting in a profit factor that is less than one. This would be a losing system.


Percent Profitable: The percent profitable is also known as the probability of winning. This metric is calculated by dividing the number of winning trades by the total number of trades for a specified period. In the example shown in Figure 1, the percent profitable is calculated as follows:


The ideal value for the percent profitable metric will vary depending on the trader's style. Traders who typically go for larger moves, with greater profits, only require a low percent profitable value to maintain a winning system. This is because the trades that do win (that are profitable) are usually quite large. A good example of this is trend following traders. As few as 40% of trades might be profitable and still produce a very profitable system because the trades that do win follow the trend and typically achieve large gains. The trades that do not win are usually closed for a small loss.


Intraday traders, and particularly scalpers, who look to gain small amount on any one trade while risking a similar amount will require a higher percent profitable metric to create a winning system. This is due to the fact that the winning trades tend to be close in value to the losing trades; in order to "get ahead" there needs to be a significantly higher percent profitable. In other words, more trades need to be winners, since each win is relatively small. (See also: Scalping: Small Quick Profits Can Add Up .)


Average Trade Net Profit: The average trade net profit is the expectancy of the system: It represents the average amount of money that was won or lost per trade. The average trade net profit is calculated by dividing the total net profit by the total number of trades. In our example from Figure 1, the average trade net profit is calculated as follows:


In other words, over time we could expect that each trade generated by this system will average $452.79. This takes into consideration both winning and losing trades since it is based on the total net profit.


This number can be skewed by an outlier, a single trade that creates a profit (or loss) many times greater than a typical trade. An outlier can create unrealistic results by overinflating the average trade net profit. One outlier can make a system appear significantly more (or less) profitable than it is statistically. The outlier can be removed to allow for more precise evaluation. If the success of the trading system in backtesting depends on an outlier, the system needs to be further refined.


Maximum Drawdown: The maximum drawdown metric refers to the "worst case scenario" for a trading period. It measures the greatest distance, or loss, from a previous equity peak. This metric can help measure the amount of risk incurred by a system and determine if a system is practical based on account size. If the largest amount of money that a trader is willing to risk is less than the maximum drawdown, the trading system is not suitable for the trader. A different system, with a smaller maximum drawdown, should be developed.


This metric is important because it is a reality check for traders. Just about any trader could make a million dollars—if they could risk 10 million. The maximum drawdown metric needs to be in line with the trader's risk tolerance and trading account size. (See also: Protect Yourself From Market Loss .)


The Bottom Line.


Strategy performance reports, whether applied to historical or live trading results, can provide a powerful tool for assisting traders in evaluating their trading systems. While it is easy to pay attention to just the bottom line, or total net profit—we all want to know how much money a system makes—additional performance metrics can provide a more comprehensive view of a system's performance. (See also: Create Your Own Trading Strategies .)

No comments:

Post a Comment