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 frequê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ços 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 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 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 partes menores da ordem para o mercado, determinadas dinamicamente, usando perfis históricos específicos de 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 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 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 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 maneira infalível. Uso cauteloso e testes completos de negociação de algo podem criar oportunidades lucrativas. (Para mais, veja Como codificar seu próprio robô de negociação da Algo.)
S T R E E T E D E L A L S.
Tipos de estratégias de negociação Quantitative Hedge Fund.
Os Quant Hedge Funds vêm em todas as formas e tamanhos - desde pequenas empresas com empregados na adolescência, até fundos internacionais com presença em três continentes. Uma base de ativos maior não se correlaciona necessariamente com um número maior de funcionários; em vez disso, a equipe do Hedge Fund provavelmente é uma função do número de estratégias que emprega. Os Hedge Funds Quant podem se concentrar em ações, renda fixa ou outras classes de ativos, embora raramente um Quant Hedge Fund estivesse envolvido em uma estratégia de longo prazo de picking individual de ações sem proteção. Muitos CTAs ou “Consultores de Negociação de Commodities” também seriam considerados Quant Hedge Funds, dado o seu papel na compra ou venda de contratos futuros, opções sobre futuros ou contratos de forex fora da bolsa de varejo (ou aconselhamento a outros para negociar nessas commodities).
A tabela a seguir fornece mais detalhes sobre diferentes tipos de estratégias de investimento no Hedge Funds; É importante observar que versões quantitativas e não quantitativas de quase todos esses estilos de investimento do Hedge Fund podem ser construídas:
Negociação Relativa de Valor vs. Negociação Direcional.
A maioria das abordagens de investimento / investimento do Quantitative Hedge Fund se enquadra em uma das duas categorias: aquelas que usam estratégias de Relative Value e aquelas cujas estratégias seriam caracterizadas como Direcionais. Ambas as estratégias utilizam fortemente modelos de computador e software estatístico.
As estratégias de Relative Value tentam capitalizar sobre relacionamentos de preços previsíveis (geralmente relacionamentos de "reversão") entre vários ativos (por exemplo, a relação entre rendimentos de títulos do Tesouro dos EUA de curto prazo versus títulos de títulos do Tesouro dos EUA de longo prazo ou o relacionamento volatilidade em dois contratos de opções diferentes). Enquanto isso, as estratégias direcionais geralmente baseiam-se em tendências ou outros caminhos baseados em padrões sugestivos de impulso para cima ou para baixo para um título ou conjunto de títulos (por exemplo, apostar que os rendimentos de títulos do Tesouro dos EUA aumentam ou que implicavam volatilidade declínio).
Estratégias Relativas de Valor.
Exemplos comuns de estratégias de Relative Value incluem colocar apostas relativas (ou seja, comprar um ativo e vender outro) em ativos cujos preços estão intimamente ligados:
Títulos do governo de dois países diferentes Títulos do governo de dois tamanhos diferentes até o vencimento Títulos corporativos versus títulos hipotecários O diferencial de volatilidade implícita entre dois derivativos Índices de ações vs. títulos de um emissor de títulos corporativos ) se espalha.
A lista de potenciais estratégias de Valor Relativo é muito longa; acima são apenas alguns exemplos. Existem três estratégias de Valor Relativo muito importantes e comumente usadas para estar ciente, no entanto:
Arbitragem Estatística: negociação de uma tendência de reversão à média dos valores de cestas de ativos similares com base em relações comerciais históricas. Uma forma comum de Arbitragem Estatística, ou "Stat Arb," trading, é conhecida como negociação de Equity Market Neutral. Nesta estratégia, duas cestas de ações são escolhidas (uma cesta "longa" e uma cesta "curta"), com o objetivo de que os pesos relativos das duas cestas saiam do fundo com exposição líquida zero a vários fatores de risco (indústria, geografia, setor, etc. .) Stat Arb também pode envolver a negociação de um índice contra um ETF similar, ou um índice versus ações de uma única empresa. Arbitragem conversível: compra de emissões de obrigações convertíveis por uma empresa e, simultaneamente, venda das mesmas ações ordinárias da empresa, com a ideia de que, caso as ações de uma determinada empresa caiam, o lucro da posição vendida mais que compense qualquer perda no posição de obrigações convertíveis, dado o valor das obrigações convertíveis como instrumento de rendimento fixo. Da mesma forma, em qualquer movimento de subida das acções ordinárias, o fundo pode lucrar com a conversão das suas obrigações convertíveis em acções, vendendo essas acções no mercado. valor por uma quantia que exceda quaisquer perdas em sua posição vendida. Arbitragem de Renda Fixa: negociar títulos de renda fixa em mercados de títulos desenvolvidos para explorar anomalias percebidas de taxa de juros relativa. As posições de Arbitragem de Renda Fixa podem usar títulos do governo, swaps de taxa de juros e futuros de taxa de juros. Um exemplo popular desse estilo de negociação em arbitragem de renda fixa é o comércio de base, em que se vende (compra) títulos do Tesouro e compra ( vende) uma quantia correspondente da obrigação potencial de fornecimento. Neste caso, está-se a analisar a diferença entre o preço à vista de uma obrigação e o preço de contrato futuro ajustado (preço de futuros - fator de conversão) e negociar os pares de ativos em conformidade.
Estratégias direcionais.
As estratégias de negociação direcional, por sua vez, baseiam-se tipicamente em seguir tendências ou outros caminhos baseados em padrões sugestivos de impulso ascendente ou descendente para um preço de segurança. O comércio direcional muitas vezes incorpora algum aspecto da Análise Técnica ou do gráfico. de preços através do estudo de dados de mercado anteriores de preço e volume. O “direcionamento” negociado pode ser aquele de um ativo em si (momentum nos preços das ações, por exemplo, ou a taxa de câmbio euro / dólar) ou um fator que afeta diretamente o mercado. próprio preço do ativo (por exemplo, volatilidade implícita para opções ou taxas de juros para títulos do governo).
A negociação técnica também pode incluir o uso de médias móveis, bandas em torno do desvio padrão histórico dos preços, níveis de suporte e resistência e taxas de variação. Tipicamente, os indicadores técnicos não constituiriam a única base para um investimento do Quantitative Hedge Fund. estratégia; Os Quante Hedge Funds empregam muitos fatores adicionais além das informações históricas sobre preço e volume. Em outras palavras, os Fundos Quantitativos de Hedge que empregam estratégias de negociação direcional geralmente têm estratégias quantitativas gerais que são muito mais sofisticadas do que a Análise Técnica geral.
Isto não é sugerir que os comerciantes do dia podem não ser capazes de lucrar com a Análise Técnica - ao contrário, muitas estratégias de negociação baseadas no momento podem ser lucrativas. Assim, para os propósitos deste módulo de treinamento, as referências às estratégias de negociação do Quant Hedge Fund não incluirão apenas as estratégias baseadas na Análise Técnica.
Outras estratégias quantitativas.
Outras abordagens quantitativas de negociação que não são facilmente categorizadas como estratégias de valor relativo ou estratégias direcionais incluem:
High-Frequency Trading, onde os investidores tentam tirar proveito das discrepâncias de preços entre múltiplas plataformas com muitos negócios ao longo do dia. As estratégias de volatilidade gerenciada usam futuros e contratos futuros para focar em gerar retornos absolutos baixos, mas estáveis, LIBOR-plus, aumentando ou diminuindo o número de contratos dinamicamente à medida que as volatilidades subjacentes das bolsas de valores, títulos e outros mercados mudam. As Estratégias de Volatilidade Gerenciada ganharam popularidade nos últimos anos devido à recente instabilidade dos mercados de ações e títulos. O que é um fundo de hedge quantitativo? Top Quantitative Hedge Funds & rarr;
Guia para iniciantes em negociação quantitativa.
Guia para iniciantes em negociação quantitativa.
Neste artigo, vou apresentar alguns dos conceitos básicos que acompanham um sistema de negociação quantitativo de ponta a ponta. Espera-se que este post atenda a dois públicos-alvo. O primeiro será indivíduos tentando obter um emprego em um fundo como um comerciante quantitativo. A segunda será pessoas que desejam tentar montar seu próprio negócio de comércio algorítmico "de varejo".
A negociação quantitativa é uma área extremamente sofisticada de finanças quânticas. Pode levar uma quantidade significativa de tempo para obter o conhecimento necessário para passar uma entrevista ou construir suas próprias estratégias de negociação. Não só isso, mas requer extensa experiência em programação, pelo menos em uma linguagem como MATLAB, R ou Python. No entanto, à medida que a frequência de negociação da estratégia aumenta, os aspectos tecnológicos tornam-se muito mais relevantes. Assim, estar familiarizado com o C / C ++ será de suma importância.
Um sistema de negociação quantitativo consiste em quatro componentes principais:
Identificação Estratégica - Encontrando uma estratégia, explorando uma vantagem e decidindo sobre a frequência de negociação Backtesting da estratégia - Obtendo dados, analisando o desempenho da estratégia e removendo vieses Sistema de Execução - Vinculando a uma corretora, automatizando a negociação e minimizando custos de transação tamanho da aposta "/ critério de Kelly e psicologia de negociação.
Começaremos dando uma olhada em como identificar uma estratégia de negociação.
Identificação de estratégia.
Todos os processos de negociação quantitativos começam com um período inicial de pesquisa. Este processo de pesquisa engloba encontrar uma estratégia, verificando se a estratégia se encaixa em um portfólio de outras estratégias que você pode estar executando, obtendo quaisquer dados necessários para testar a estratégia e tentando otimizar a estratégia para retornos mais altos e / ou menor risco. Você precisará levar em conta suas próprias necessidades de capital se administrar a estratégia como um operador de "varejo" e como os custos de transação afetarão a estratégia.
Ao contrário da crença popular, é bastante simples encontrar estratégias lucrativas por meio de várias fontes públicas. Os acadêmicos publicam regularmente resultados teóricos de negociação (embora, em sua maioria, sejam brutos dos custos de transação). Os blogs de finanças quantitativas discutirão as estratégias em detalhes. Os jornais de comércio delinearão algumas das estratégias empregadas pelos fundos.
Você pode questionar por que os indivíduos e as empresas estão interessados em discutir suas estratégias lucrativas, especialmente quando sabem que outras pessoas "que estão ocupando o mercado" podem impedir que a estratégia funcione a longo prazo. A razão está no fato de que eles não costumam discutir os parâmetros exatos e os métodos de ajuste que eles realizaram. Essas otimizações são a chave para transformar uma estratégia relativamente medíocre em uma altamente lucrativa. Na verdade, uma das melhores maneiras de criar suas próprias estratégias únicas é encontrar métodos semelhantes e, em seguida, realizar seu próprio procedimento de otimização.
Aqui está uma pequena lista de lugares para começar a procurar ideias estratégicas:
Muitas das estratégias que você irá analisar se encaixarão nas categorias de reversão à média e tendência / momento. Uma estratégia de reversão à média é aquela que tenta explorar o fato de que existe uma média de longo prazo em uma "série de preços" (como o spread entre dois ativos correlatos) e que desvios de curto prazo dessa média eventualmente reverterão. Uma estratégia de momentum tenta explorar tanto a psicologia do investidor quanto a grande estrutura de fundos, "pegando carona" em uma tendência de mercado, que pode ganhar impulso em uma direção e seguir a tendência até que ela se reverta.
Outro aspecto extremamente importante da negociação quantitativa é a frequência da estratégia de negociação. A negociação de baixa frequência (LFT) geralmente se refere a qualquer estratégia que detenha ativos por mais de um dia de negociação. Correspondentemente, a negociação de alta frequência (HFT) geralmente se refere a uma estratégia que mantém ativos intraday. Negociação de frequência ultra alta (UHFT) refere-se a estratégias que mantêm ativos na ordem de segundos e milissegundos. Como um profissional de varejo, HFT e UHFT certamente são possíveis, mas apenas com conhecimento detalhado da “pilha de tecnologia” e da dinâmica do livro de pedidos. Não vamos discutir esses aspectos em grande medida neste artigo introdutório.
Uma vez que uma estratégia, ou conjunto de estratégias, tenha sido identificada, ela agora precisa ser testada quanto à lucratividade nos dados históricos. Esse é o domínio do backtesting.
Backtesting de estratégia.
O objetivo do backtesting é fornecer evidências de que a estratégia identificada por meio do processo acima é lucrativa quando aplicada a dados históricos e fora da amostra. Isso define a expectativa de como a estratégia funcionará no "mundo real". No entanto, backtesting não é garantia de sucesso, por várias razões. É talvez a área mais sutil do comércio quantitativo, uma vez que implica inúmeros vieses, que devem ser cuidadosamente considerados e eliminados, tanto quanto possível. Discutiremos os tipos comuns de polarização, incluindo viés de antecipação, viés de sobrevivência e viés de otimização (também conhecido como viés de "espionagem de dados"). Outras áreas de importância dentro do backtesting incluem a disponibilidade e a limpeza de dados históricos, levando em consideração custos de transação realistas e decidindo sobre uma plataforma robusta de backtesting. Discutiremos os custos de transação na seção Sistemas de Execução abaixo.
Uma vez que uma estratégia tenha sido identificada, é necessário obter os dados históricos através dos quais realizar testes e, talvez, refinamento. Há um número significativo de fornecedores de dados em todas as classes de ativos. Seus custos geralmente variam de acordo com a qualidade, profundidade e pontualidade dos dados. O ponto de partida tradicional para os comerciantes de quantia iniciais (pelo menos no nível de varejo) é usar o conjunto de dados gratuito do Yahoo Finance. Não vou me debruçar muito sobre fornecedores aqui, em vez disso, gostaria de me concentrar nas questões gerais ao lidar com conjuntos de dados históricos.
As principais preocupações com dados históricos incluem exatidão / limpeza, viés de sobrevivência e ajuste para ações corporativas, como dividendos e desdobramentos:
Precisão pertence à qualidade geral dos dados - se contém algum erro. Às vezes, os erros podem ser fáceis de identificar, como com um filtro de pico, que detecta "picos" incorretos nos dados de séries temporais e os corrige. Em outras ocasiões, podem ser muito difíceis de detectar. Muitas vezes é necessário ter dois ou mais provedores e, em seguida, verificar todos os seus dados uns contra os outros. O viés de sobrevivência é muitas vezes uma "característica" de conjuntos de dados gratuitos ou baratos. Um conjunto de dados com viés de sobrevivência significa que ele não contém ativos que não estão mais sendo negociados. No caso de ações, isso significa ações excluídas / falidas. Esse viés significa que qualquer estratégia de negociação de ações testada em tal conjunto de dados provavelmente terá um desempenho melhor do que no "mundo real", já que os "vencedores" históricos já foram pré-selecionados. As ações corporativas incluem atividades "logísticas" realizadas pela empresa, que geralmente causam uma mudança na função de etapa do preço bruto, que não deve ser incluída no cálculo dos retornos do preço. Ajustes para dividendos e desdobramentos são os culpados comuns. Um processo conhecido como ajuste de costas é necessário para ser realizado em cada uma dessas ações. É preciso ter muito cuidado para não confundir um desdobramento de ações com um verdadeiro ajuste de retorno. Muitos traders foram pegos por uma ação corporativa!
Para realizar um procedimento de backtest, é necessário usar uma plataforma de software. Você tem a escolha entre softwares backtest dedicados, como o Tradestation, uma plataforma numérica como o Excel ou o MATLAB ou uma implementação personalizada completa em uma linguagem de programação como Python ou C ++. Eu não vou me demorar muito em Tradestation (ou similar), Excel ou MATLAB, como eu acredito em criar uma pilha de tecnologia interna completa (por razões descritas abaixo). Um dos benefícios disso é que o software de backtest e o sistema de execução podem ser totalmente integrados, mesmo com estratégias estatísticas extremamente avançadas. Para as estratégias de HFT, em particular, é essencial usar uma implementação personalizada.
Ao fazer o backtest de um sistema, é preciso ser capaz de quantificar o desempenho do mesmo. As métricas "padrão da indústria" para estratégias quantitativas são o rebaixamento máximo e o Índice de Sharpe. O rebaixamento máximo caracteriza a maior queda de ponta a ponta na curva de patrimônio da conta em um determinado período de tempo (geralmente anual). Isso é mais frequentemente citado como uma porcentagem. As estratégias de LFT tenderão a ter rebaixamentos maiores do que as estratégias de HFT, devido a vários fatores estatísticos. Um backtest histórico mostrará o último drawdown máximo, que é um bom guia para o futuro desempenho de drawdown da estratégia. A segunda medida é o Índice de Sharpe, que é definido heuristicamente como a média dos retornos excedentes dividida pelo desvio padrão desses retornos excedentes. Aqui, os retornos excedentes referem-se ao retorno da estratégia acima de um benchmark pré-determinado, como o S & P500 ou um Tesouro de 3 meses. Note que o retorno anualizado não é uma medida normalmente utilizada, pois não leva em conta a volatilidade da estratégia (diferentemente do Índice de Sharpe).
Uma vez que uma estratégia tenha sido backtested e seja considerada livre de preconceitos (na medida em que isso é possível!), Com um bom Sharpe e rebaixamentos minimizados, é hora de construir um sistema de execução.
Sistemas de Execução.
Um sistema de execução é o meio pelo qual a lista de negociações geradas pela estratégia é enviada e executada pelo corretor. Apesar do fato de que a geração de comércio pode ser semi ou totalmente automatizada, o mecanismo de execução pode ser manual, semi-manual (ou seja, "um clique") ou totalmente automatizado. Para estratégias de LFT, técnicas manuais e semi-manuais são comuns. Para as estratégias de HFT, é necessário criar um mecanismo de execução totalmente automatizado, que muitas vezes será fortemente acoplado ao gerador de comércio (devido à interdependência entre estratégia e tecnologia).
As principais considerações ao criar um sistema de execução são a interface com a corretora, a minimização dos custos de transação (incluindo comissão, derrapagem e spread) e a divergência de desempenho do sistema ao vivo do desempenho do backtested.
Há muitas maneiras de interagir com uma corretora. Eles variam de chamar seu corretor por telefone até uma Application Programming Interface (API) de alto desempenho totalmente automatizada. O ideal é que você queira automatizar a execução de suas negociações o máximo possível. Isso libera você para se concentrar em mais pesquisas, bem como permitir que você execute várias estratégias ou mesmo estratégias de maior frequência (na verdade, HFT é essencialmente impossível sem execução automatizada). O software comum de backtesting descrito acima, como MATLAB, Excel e Tradestation, é bom para estratégias mais simples e de menor frequência. No entanto, será necessário construir um sistema de execução interno escrito em uma linguagem de alto desempenho, como C ++, para fazer qualquer HFT real. Como uma anedota, no fundo em que eu costumava trabalhar, tínhamos um "ciclo de negociação" de 10 minutos, onde baixávamos novos dados de mercado a cada 10 minutos e depois executávamos negociações com base nessas informações no mesmo período de tempo. Isso estava usando um script Python otimizado. Para qualquer coisa que se aproxime de dados de frequência de minutos ou segundos, acredito que C / C ++ seria mais ideal.
Em um fundo maior, muitas vezes não é o domínio do comerciante de quantificação para otimizar a execução. No entanto, em pequenas lojas ou empresas de HFT, os comerciantes são os executores e, portanto, um conjunto de habilidades muito mais amplo é geralmente desejável. Tenha isso em mente se você deseja ser empregado por um fundo. Suas habilidades de programação serão tão importantes, se não mais, do que suas estatísticas e talentos econométricos!
Outra questão importante que cai sob a bandeira da execução é a minimização dos custos de transação. Geralmente, há três componentes nos custos de transação: Comissões (ou impostos), que são as taxas cobradas pela corretora, pela bolsa e pela SEC (ou órgão regulador governamental similar); escorregamento, que é a diferença entre o que você pretendia que seu pedido fosse preenchido versus o que foi realmente preenchido; spread, que é a diferença entre o preço de compra / venda do título negociado. Observe que o spread NÃO é constante e depende da liquidez atual (ou seja, disponibilidade de ordens de compra / venda) no mercado.
Os custos de transação podem fazer a diferença entre uma estratégia extremamente lucrativa com um bom índice de Sharpe e uma estratégia extremamente não lucrativa com um índice de Sharpe terrível. Pode ser um desafio prever corretamente os custos de transação de um backtest. Dependendo da frequência da estratégia, você precisará acessar os dados históricos do câmbio, que incluirão dados de ticks para preços de compra / venda. Equipes inteiras de quantos são dedicadas à otimização da execução nos fundos maiores, por esses motivos. Considere o cenário em que um fundo precisa descarregar uma quantidade substancial de negociações (das quais as razões para isso são muitas e variadas!). Ao "despejar" tantas ações no mercado, elas rapidamente deprimirão o preço e podem não obter uma execução ideal. Daí algoritmos que "gotejam feed" ordens para o mercado existem, embora o fundo corre o risco de derrapagem. Além disso, outras estratégias "atacam" essas necessidades e podem explorar as ineficiências. Este é o domínio da arbitragem da estrutura do fundo.
A última grande questão para os sistemas de execução diz respeito à divergência de desempenho da estratégia do desempenho do backtested. Isso pode acontecer por vários motivos. Já analisamos o viés de look-ahead e o viés de otimização em profundidade, ao considerar os backtests. No entanto, algumas estratégias não facilitam o teste desses vieses antes da implantação. Isso ocorre em HFT mais predominantemente. Pode haver bugs no sistema de execução, bem como a própria estratégia de negociação que não aparece em um backtest, mas aparece no live trading. O mercado pode ter sido sujeito a uma mudança de regime após a implantação de sua estratégia. Novos ambientes regulatórios, mudanças no sentimento do investidor e fenômenos macroeconômicos podem levar a divergências na forma como o mercado se comporta e, portanto, na rentabilidade de sua estratégia.
Gerenciamento de riscos.
A peça final do quebra-cabeça de negociação quantitativa é o processo de gerenciamento de risco. "Risco" inclui todos os vieses anteriores que discutimos. Isso inclui risco de tecnologia, como servidores co-localizados na central de repente desenvolvendo um mau funcionamento do disco rígido. Isso inclui risco de corretagem, como o corretor estar falido (não tão louco quanto parece, dado o recente susto com a MF Global!). Em suma, abrange quase tudo o que poderia interferir com a implementação comercial, dos quais existem muitas fontes. Livros inteiros são dedicados ao gerenciamento de risco para estratégias quantitativas, então eu não tentarei elucidar todas as possíveis fontes de risco aqui.
A gestão de risco também abrange o que é conhecido como alocação de capital ideal, que é um ramo da teoria de portfólio. Esse é o meio pelo qual o capital é alocado a um conjunto de estratégias diferentes e aos negócios dentro dessas estratégias. É uma área complexa e depende de algumas matemáticas não triviais. O padrão da indústria pelo qual a alocação ótima de capital e a alavancagem das estratégias estão relacionadas é chamado de critério de Kelly. Como este é um artigo introdutório, não vou me alongar em seu cálculo. O critério de Kelly faz algumas suposições sobre a natureza estatística dos retornos, que muitas vezes não são verdadeiros nos mercados financeiros, de modo que os operadores geralmente são conservadores quando se trata da implementação.
Outro componente fundamental do gerenciamento de riscos é lidar com o próprio perfil psicológico. Existem muitos vieses cognitivos que podem surgir na negociação. Embora isso seja reconhecidamente menos problemático com negociação algorítmica se a estratégia for deixada em paz! Um viés comum é o da aversão à perda, em que uma posição perdedora não será fechada devido à dor de ter que perceber uma perda. Da mesma forma, os lucros podem ser tomados muito cedo porque o medo de perder um lucro já ganho pode ser muito grande. Outro viés comum é conhecido como viés de recência. Isso se manifesta quando os operadores enfatizam demais os eventos recentes e não a longo prazo. Então, é claro, há o par clássico de preconceitos emocionais - medo e ganância. Estes podem muitas vezes levar a sub ou sobre-alavancagem, o que pode causar blow-up (ou seja, o título da conta indo para zero ou pior!) Ou lucros reduzidos.
Como pode ser visto, o comércio quantitativo é uma área extremamente complexa, embora muito interessante, de financiamento quantitativo. Eu literalmente arranhei a superfície do tópico neste artigo e já está ficando bastante longo! Livros e documentos inteiros foram escritos sobre questões para as quais eu só dei uma ou duas sentenças. Por esse motivo, antes de se candidatar a cargos quantitativos de negociação de fundos, é necessário realizar uma quantidade significativa de estudo de base. No mínimo, você precisará de um extenso conhecimento em estatística e econometria, com muita experiência em implementação, por meio de uma linguagem de programação como MATLAB, Python ou R. Para estratégias mais sofisticadas no final de frequência mais alta, seu conjunto de habilidades é provável para incluir a modificação do kernel do Linux, C / C ++, programação de montagem e otimização de latência de rede.
Se você estiver interessado em tentar criar suas próprias estratégias de negociação algorítmica, minha primeira sugestão seria se programar bem. Minha preferência é construir o máximo possível de dados capturados, backtester de estratégia e sistema de execução. Se o seu próprio capital está em jogo, não dormiria melhor à noite sabendo que você testou completamente o seu sistema e está ciente de suas armadilhas e problemas específicos? Terceirizar isso para um fornecedor, enquanto potencialmente economiza tempo a curto prazo, pode ser extremamente caro a longo prazo.
A Quantcademy.
Participe do portal de associação da Quantcademy que atende à crescente comunidade de traders de quantificação de varejo e aprenda como aumentar a lucratividade de sua estratégia.
Estratégias Quantitativas de Negociação.
Aproveitando o poder das técnicas quantitativas para criar um programa de negociação vencedor & middot; Borda do Trader de Irwin.
por Lars Kestner.
Inscreva-se para salvar sua biblioteca.
Com uma conta OverDrive, você pode salvar suas bibliotecas favoritas para obter informações instantâneas sobre a disponibilidade. Saiba mais sobre as contas do OverDrive.
Aproveitando o poder das técnicas quantitativas para criar um programa de negociação vencedora Lars Kestner Quantitative Trading Strategies leva os leitores através das fases de desenvolvimento e avaliação das estratégias de negociação técnicas mais populares e comprovadas pelo mercado. Quantificando cada decisão subjetiva no processo de negociação, este livro analítico avalia o trabalho de "quants" bem conhecidos de John Henry para Monroe Trout e introduz 12 estratégias de negociação totalmente novas. Ele desmascara vários equívocos populares e certamente causará ondas e mudanças de mentalidade no mundo da análise técnica e da negociação.
Detalhes da publicação.
Adobe PDF eBook 2,8 MB.
Lars Kestner (Autor)
Lars Kestner é sócio-fundador da empresa proprietária de comércio Sabre II LLC e ex-vice-presidente de negociação de derivativos de ações da Salomon Smith Barney.
Abordagem Quant para Construir Estratégias de Negociação: Parte Um.
Recentemente, Quandl entrevistou um gerente sênior de carteira quantitativa em um grande fundo de hedge. Nós falamos sobre como ela constrói estratégias de negociação - como ela transita de uma representação abstrata do mercado para algo concreto com poderes preditivos genuínos.
Você pode nos dizer como você cria novas estratégias de negociação?
Tudo começa com uma hipótese. Eu conjecturo que deve haver uma relação entre dois instrumentos, ou talvez haja um novo instrumento no mercado que esteja ganhando popularidade, ou talvez haja um fator macroeconômico incomum que descobri que impulsiona o comportamento de precificação de micro. Então eu escrevo uma equação - um modelo, se você quiser - que visa capturar esse relacionamento. Normalmente, haverá algum tipo de equação de processo que mostra como as variáveis evoluem com o tempo, com um componente aleatório (estocástico).
O próximo passo é encontrar uma solução de formato fechado para este modelo. Às vezes isso é fácil; às vezes isso leva dias e semanas de álgebra; às vezes não há solução de forma fechada e tenho que me contentar com uma aproximação. Acho muito útil o kit de ferramentas de manipulação simbólica do Mathematica nesta etapa do processo.
Ok, agora eu tenho um modelo do mercado. Eu preciso testar se é realista. Nesta fase, geralmente me volto para o Matlab. Assumo alguns valores plausíveis para vários parâmetros e executo algumas simulações. As saídas simuladas parecem razoáveis? Eles refletem, pelo menos conceitualmente, a dinâmica real do mercado?
Supondo que o modelo passe por essa verificação de integridade, é hora de ir além da exploração ou da ideação do céu azul e da pesquisa formal.
O que você quer dizer com “pesquisa formal”? E por que isso é necessário?
Refiro-me à transição de uma representação abstrata e estilizada do mercado para algo que é concreto e não ambíguo, com poderes preditivos genuínos.
É difícil criar modelos realmente preditivos. Mas é muito fácil se enganar pensando que você criou um modelo preditivo, quando, na verdade, você simplesmente se encaixou demais ou usou testes na amostra ou impôs um conhecimento exógeno em suas regras, ou o que você tem. A maioria dos "sistemas" desmorona no mundo real por esse motivo preciso.
Eu não quero que isso aconteça ao meu modelo; Eu vou estar arriscando dinheiro real com isso. Assim, ao longo dos anos, construí e aprimorei uma abordagem sistemática, lenta e constante que minimiza o risco de me enganar. Isso é o que eu chamo de "pesquisa formal".
Quais etapas você inclui no seu processo formal de pesquisa?
Logo no início, meu maior medo é a contaminação de dados. A história é um recurso limitado; Depois de esgotar os dados históricos para testar, você não poderá gerar mais nenhum. Estou paranóico por não ter esgotado meu suprimento de dados fora de amostra não contaminados.
Então começo dividindo meus dados históricos em partes não sobrepostas. Eu então escolho aleatoriamente para que nem eu saiba qual pedaço é qual. (Isso protege contra preconceitos subconscientes: por exemplo, ter aversão ao risco quando eu sei que meu conjunto de dados de teste é 2008, ou que estou buscando risco em 2009).
Eu designo um pedaço como meu conjunto de calibração. Eu costumo usar Python para calibração: eu uso suas bibliotecas de otimização embutidas e escrevi algumas das minhas próprias. Neste exemplo em particular, meus parâmetros são restritos e correlacionados. Então eu uso um processo de otimização de 2 etapas chamado algoritmo EM. Os otimizadores podem ser sensíveis às condições iniciais, então eu uso o Monte Carlo para escolher um número de pontos de partida no espaço da solução. Tudo isso é muito fácil de fazer em Python.
O resultado dessa calibração deve ser um conjunto de “parâmetros do modelo” - valores numéricos - que podem ser combinados com observações reais do mercado para prever outros preços de mercado.
Depois de calibrar o modelo, testei a amostra. As previsões são estáveis e os resíduos significam uma reversão? Se não, o modelo não funciona; tão simples como isso. Eu tento vários "truques" para quebrar o modelo. Por exemplo, calibre dados mensais, mas teste em dados diários. Ou eu testo parâmetros dos EUA nos dados do mercado canadense. Se o modelo reflete verdadeiramente a realidade econômica subjacente, deve ser bastante robusto para esses tipos de ataques. (Economia não muda quando você cruza fronteiras).
Então, você separa estritamente na amostra e fora da amostra; você se cega para intervalos de datas; você usa Monte Carlo para evitar vieses de ponto inicial; e você tenta vários truques de robustez. O que mais você faz para garantir que não está se enganando?
Eu coloco um prêmio muito alto em parcimônia. Se meu modelo requer muitos parâmetros ou tem muitos graus de liberdade, é apenas ajuste de curva; não é um modelo de todo. Então, estou constantemente tentando remover fatores. Se o modelo continuar funcionando (e permanecer "rico") com vários fatores removidos, provavelmente será um bom fator.
Uma segunda prova de robustez é se o modelo funciona bem, não importa qual estratégia de negociação você construa em cima dele. Se você só pode ganhar dinheiro usando uma regra de escala não linear complexa com todos os tipos de condições de borda, isso sugere uma falta de robustez.
Por fim, não há substituto para os dados. Penso em todos os conjuntos de dados possíveis fora da amostra em que posso testar o modelo de forma plausível: diferentes países, diferentes instrumentos, diferentes intervalos de tempo, diferentes frequências de datas. O modelo tem que trabalhar em todos eles; senão você tem viés de seleção nos resultados.
Isso parece abrangente. O que acontece depois?
Armado com um modelo calibrado, o próximo passo é construir uma simulação de PL. Resíduos de reversão média podem não ser suficientes se o conjunto de oportunidades for muito pequeno para compensar o bid-ask, ou se as explosões ocasionais matarem todos os meus lucros. Então eu preciso testar uma estratégia de negociação real usando o meu modelo. Aqui é onde eu tenho que exercitar o máximo cuidado: é muito fácil adaptar-se à curva adicionando novas variáveis livres, ou distorcer os resultados com conhecimento subconsciente, ou eliminar os valores discrepantes. Simplicidade, separação rigorosa de amostras e honestidade intelectual são importantes aqui.
Eu uso o Excel para back-testing. Esta é uma escolha deliberada: o Excel não é tão poderoso quanto o Python, e isso significa que existe um limite superior em quão complexo eu posso fazer minhas regras de negociação. Isso é uma coisa boa: uma estratégia que requer complexidade para ser lucrativa provavelmente não é uma boa estratégia em primeiro lugar.
O Excel também permite que eu veja minhas suposições explicitadas; É fácil perder o controle de tais coisas quando você está trabalhando no código. Ele me permite visualizar as estatísticas de desempenho (risco, retorno, rebaixamentos, eficiência de capital, taxa de Sharpe e assim por diante) de forma rápida e clara. Mesmo que meu modelo “funcione”, não há garantia de que uma estratégia de negociação construída em torno do modelo será economicamente viável, portanto, essas estatísticas são importantes.
Muito poucos modelos de negociação superam todas as etapas acima: formulação de blue-sky e testes de sanidade; calibração histórica e desempenho fora da amostra; back-test e rentabilidade da estratégia de negociação. Mas, para os poucos que fazem isso, agora é hora de entrar em produção. Este é um jogo totalmente diferente.
Você pode ler a segunda parte da entrevista aqui. Nele, discutimos como a produção é um jogo totalmente novo e onde obter ideias para novas estratégias. Também respondemos às perguntas do leitor na terceira parte da entrevista.
Alguma pergunta para o nosso quant? Comentários? Deixe-os abaixo e ela responderá a você. Gostaríamos de saber sobre seu processo de criação de estratégias de negociação.
Комментариев нет:
Отправить комментарий