O recurso está a ser carregado... Carregamento...

Teste de retorno bem sucedido das estratégias de negociação algorítmica - Parte II

Autora:Bem-estar, Criado: 2019-03-21 14:09:21, Atualizado:

No primeiro artigo sobre backtesting bem-sucedido, discutimos preconceitos estatísticos e comportamentais que afetam nosso desempenho de backtest. Também discutimos pacotes de software para backtesting, incluindo Excel, MATLAB, Python, R e C ++. Neste artigo, consideraremos como incorporar custos de transação, bem como certas decisões que precisam ser tomadas ao criar um mecanismo de backtest, como tipos de ordem e frequência de dados.

Custos de transacção

Um dos erros mais comuns dos iniciantes ao implementar modelos de negociação é negligenciar (ou subestimar grosseiramente) os efeitos dos custos de transação em uma estratégia.

Comissões/Taxas

A forma mais direta de custos de transação incorridos por uma estratégia de negociação algorítmica são comissões e taxas.

Os corretores geralmente fornecem muitos serviços, embora os algoritmos quantitativos apenas façam realmente uso da infraestrutura de troca. Portanto, as comissões de corretagem são geralmente pequenas por base comercial. Os corretores também cobram taxas, que são custos incorridos para limpar e liquidar negócios. Além disso, há impostos impostos pelos governos regionais ou nacionais.

Deslizamento/Latência

O slippage é a diferença de preço alcançada entre o momento em que um sistema de negociação decide realizar uma transação e o momento em que uma transação é efetivamente realizada em uma bolsa. O slippage é um componente considerável dos custos de transação e pode fazer a diferença entre uma estratégia muito lucrativa e uma que tem um desempenho ruim.

Um instrumento com maior volatilidade é mais propenso a se mover e, portanto, os preços entre o sinal e a execução podem diferir substancialmente. A latência é definida como a diferença de tempo entre a geração do sinal e o ponto de execução. Estratégias de frequência mais alta são mais sensíveis aos problemas de latência e melhorias de milissegundos nesta latência podem fazer toda a diferença para a lucratividade. O tipo de estratégia também é importante. Os sistemas de impulso sofrem mais de deslizamento em média porque estão tentando comprar instrumentos que já estão se movendo na direção prevista. O oposto é verdade para as estratégias de reversão média, pois essas estratégias estão se movendo em uma direção oposta ao comércio.

Impacto no mercado/Liquididade

O impacto do mercado é o custo incorrido pelos traders devido à dinâmica de oferta/demanda da bolsa (e do ativo) através da qual eles estão tentando negociar. Uma grande ordem em um ativo relativamente ilíquido provavelmente moverá o mercado substancialmente, pois o comércio precisará acessar um grande componente da oferta atual. Para combater isso, grandes blocos de negociações são divididos em pequenos blocos que são transacionados periodicamente, à medida que a nova liquidez chega à bolsa.

Os ativos mais ilíquidos são caracterizados por um spread maior, que é a diferença entre os preços de compra e venda atuais no livro de ordens de limite. Este spread é um custo adicional de transação associado a qualquer negociação. O spread é um componente muito importante do custo total da transação - como evidenciado pela miríade de empresas de apostas em spread no Reino Unido cujas campanhas publicitárias expressam a tightness de seus spreads para instrumentos altamente negociados.

Modelos de custos de transacção

Para modelar com sucesso os custos acima em um sistema de backtesting, vários graus de modelos de transação complexos foram introduzidos. Eles variam de modelagem plana simples até uma aproximação quadrática não linear. Aqui vamos delinear as vantagens e desvantagens de cada modelo:

Modelos de custos de transação fixos

Os custos de transação planos são a forma mais simples de modelagem de custos de transação. Eles assumem um custo fixo associado a cada negociação. Assim, eles melhor representam o conceito de comissões e taxas de corretagem. Eles não são muito precisos para modelagem de comportamento mais complexo, como deslizamento ou impacto no mercado.

Modelos de custos de transação lineares/peças lineares/quadrados

Os modelos de custo de transação mais avançados começam com modelos lineares, continuam com modelos lineares por peças e concluem com modelos quadráticos. Eles se encontram em um espectro de menor a mais preciso, embora com menos a maior esforço de implementação.

Os traders algorítmicos também tentam fazer uso dos custos históricos reais de transação para suas estratégias como entradas para seus modelos de transação atuais para torná-los mais precisos. Este é um negócio complicado e muitas vezes faz fronteira com as áreas complicadas de modelagem de volatilidade, deslizamento e impacto no mercado. No entanto, se a estratégia de negociação estiver transacionando grandes volumes em curtos períodos de tempo, então estimativas precisas dos custos de transação incorridos podem ter um efeito significativo na linha de fundo da estratégia e, portanto, vale a pena o esforço para investir na pesquisa desses modelos.

Questões de implementação do backtest da estratégia

Embora os custos de transação sejam um aspecto muito importante das implementações de backtesting bem-sucedidas, existem muitos outros problemas que podem afetar o desempenho da estratégia.

Tipos de ordens de negociação

Uma escolha que um comerciante algorítmico deve fazer é como e quando fazer uso das diferentes ordens de troca disponíveis. Esta escolha geralmente se enquadra no domínio do sistema de execução, mas vamos considerá-lo aqui, pois pode afetar muito o desempenho do backtest da estratégia.

Uma ordem de mercado executa um comércio imediatamente, independentemente dos preços disponíveis. Assim, grandes negócios executados como ordens de mercado geralmente obterão uma mistura de preços à medida que cada ordem de limite subsequente no lado oposto é preenchida.

As ordens de limite fornecem um mecanismo para a estratégia determinar o pior preço a que o comércio será executado, com a ressalva de que o comércio pode não ser preenchido parcial ou totalmente. As ordens de limite são consideradas ordens passivas, pois muitas vezes não são preenchidas, mas quando são um preço é garantido.

Quando se faz backtesting, é essencial modelar corretamente os efeitos da utilização de ordens de mercado ou de limite.

Idiossincrasias de dados OHLC

Existem questões particulares relacionadas com as estratégias de backtesting ao fazer uso de dados diários na forma de números Open-High-Low-Close (OHLC), especialmente para ações.

Os conjuntos de dados baratos ou gratuitos, enquanto sofrem de viés de sobrevivência (que já discutimos na Parte I), também são frequentemente feeds de preços compostos de várias bolsas. Isso significa que os pontos extremos (ou seja, o aberto, fechado, alto e baixo) dos dados são muito suscetíveis a valores outlying devido a pequenas ordens em bolsas regionais. Além disso, esses valores também são às vezes mais propensos a serem erros de tick que ainda não foram removidos do conjunto de dados.

Isso significa que, se a sua estratégia de negociação faz uso extensivo de qualquer um dos pontos OHLC especificamente, o desempenho do backtest pode diferir do desempenho ao vivo, pois as ordens podem ser encaminhadas para diferentes exchanges dependendo do seu corretor e do seu acesso disponível à liquidez.

Nos próximos dois artigos, consideraremos a medição do desempenho do backtest, bem como um exemplo real de um algoritmo de backtest, com muitos dos efeitos acima incluídos.


Mais.