Tuesday 4 July 2017

Estratégias De Negociação Quantitativa Excel


Um leitor comenta sobre a negociação usando o Excel VBA e Factor Model Comentários pensativos de um leitor John S. do Reino Unido sobre sua experiência com tecnologia de negociação e modelos: desenvolvi meus próprios sistemas de troca automática pessoal usando o Excel VBA e com base em regras que eu tenho Desenvolvido ao longo dos anos como um investidor comercial privado ativo, usando análises técnicas e fundamentais de dados. Um dos principais méritos na adoção de uma abordagem automática do sistema de negociação que me ajudou é evitar a tentação de interferências manuais e, assim, melhorar a lucratividade, mantendo a consistência. Eu encontrei o desafio de desenvolver um sistema bem sucedido muito gratificante a partir de uma perspectiva pessoal, pois reconheço que há muitos que tentaram e falharam. No entanto, um problema que encontrei é o meu desejo contínuo de modificar e melhorar regularmente o sistema que encontrei pode tornar-se contraproducente, pois existe um perigo real de que o desenvolvimento do sistema se torne um fim em si. Eu simplesmente não consigo parar de mexer tão logo eu Apresentar uma nova ideia ou recurso Uma das vantagens de usar o Excel VBA que encontrei é que ele é inerentemente flexível, pois facilita o processamento de dados que podem ser importantes, especialmente quando se utilizam dados fundamentais como parte do sistema. A este respeito, reconheço que todo comerciante está tentando construir uma vantagem que tornará o sistema mais lucrativo. Tenho notado que muitos comerciantes parecem apenas se concentrar no preço, tentando buscar uma vantagem, observando indicadores especiais ou combinação de indicadores, etc. Combinando análise de dados de preços com uma abordagem de Modelo de Fator é um desafio que é ideal para Excel VBA como pode Ser facilmente usado para processar dados fundamentais e macroeconômicos em uma forma que pode ser integrada com a análise de dados de preços. Reconheço do seu livro que o Matlab é mais poderoso do que o Excel VBA e pode ser tão flexível na integração de dados fundamentais e macroeconômicos, mas eu só queria chamar sua atenção para os benefícios que encontrei usando o Excel VBA, que pode ser adequado para aqueles que gostam de mim são mais Confortável em usar o Excel VBA e reluta em mudar. Outros recursos que podem ser explorados que eu encontrei úteis quando o teste de volta produzem automaticamente Gráficos de preços que incorporam pontos de Entrada e Saída que garantem a segurança visual que o sistema está funcionando como pretendido, além de gerar relatórios automáticos da Word, registrando a saída da chave para referência futura. Desculpe-me, se eu soar muito como um anúncio para os comentários da Microsoft 7: considero que os principais motivos da popularidade do ExcelVBA em um mundo comercial quant e quant são: 1. Muitas pessoas já o usam - então todos pensam que é isso Caminho a percorrer. 2. Simplicidade da VBA (não com certeza se correlaciona com a sua flexibilidade) - que possibilita o uso efetivo de qualquer pessoa - seja um comerciante, quant ou um desenvolvedor de desktops. 3. O VBA eo Excel podem ser facilmente estendidos (para melhorar um desempenho, integrar um software de terceiros ou apenas para fins de uso modular) movendo a lógica do modelo real para C, COM ou. NET. Para o posterior (maneira fácil de integrar Análise de quant escrita escrita em. NET com Excel e VBA) - pode-se dar uma olhada na minha solução: excel4net Definitivamente penso que o fator do movimento está em jogo, muitas vezes somos como ovelhas e não vejo nenhuma razão para a estratégia ou os sistemas de investimento seriam Qualquer diferente. Um pouco de sorte não interferirá no forex. No entanto, um problema que encontrei é o meu desejo contínuo de modificar e melhorar regularmente o sistema que encontrei pode tornar-se contraproducente, pois existe um perigo real de que o desenvolvimento do sistema se torne um fim em si mesmo Ponto interessante. Eu acho que a melhor maneira de lidar com isso é aceitar (ou recusar) o tipo de relação WinLoss que seu método de negociação produz. O que quero dizer é que, se você negociar contra tendência e, psicologicamente, você só se sente confortável com um alto nível de negociações vencedoras, você terá dificuldade em lidar com um sistema que gera tantas vitórias ou perdas. Nessas circunstâncias, talvez você (e o sistema) seja melhor, estabelecendo critérios mais rigorosos e sacrificando algumas configurações - mas não muitas - para alcançar um maior nível de negociações vencedoras (mesmo assim, no processo, você também Pode reduzir o seu índice de perda média de ganância média). Mas eu concordo: é um problema complicado que afasta o evento dos comerciantes mais experientes. No entanto, um problema que encontrei é o meu desejo contínuo de modificar e melhorar regularmente o sistema que encontrei pode tornar-se contraproducente, pois existe um perigo real de que o desenvolvimento do sistema se torne um fim em si. Fiquei muito surpreso com a sua publicação. No mundo dos analistas quantitativos (design e implementação de modelos de derivados, etc. para bancos de investimento de nível superior, eu passei 6 anos fazendo isso) Excel VBA é acreditado para ser a linguagem de programação menos flexível e sustentável, temos que lidar com sistemas escritos usando estes As línguas estão prestes a se aposentar. Eu entendo que agora você ainda está feliz com isso, mas pensou que talvez desejasse estudar as alternativas. A um preço de entrada relativamente modesto, você pode obter desempenho e sustentabilidade que o surpreenderão. As questões da VBA que me vêm à mente são: desempenho fraco, gerenciamento de memória fraco (isso pode tornar o desempenho ainda pior), você não pode usar o sistema de controle de versão que lhe permita rastrear mudanças (quem-o que-porquê-quando) e facilitar a colaboração (Veja, por exemplo, svnbook. red-beannightlyensvn. intro. whatis. htmlsvn. intro. righttool e tortoisesvn. tigris. org deve haver algumas ferramentas de controle de versão da Microsoft). Com base na minha experiência, a partir de algum código VBA de volume torna-se incontrolável, uma das razões para isso ser que você não pode usar o controle de versão. Má flexibilidade (em comparação com as alternativas, faltará aulas (métodos de estrutura de classes que podem acessar e modificar os conteúdos da estrutura) ausência virtual de mecanismos de abstração (Variant é muito propenso a erros). Você pode precisar deles se desejar Use o mesmo algoritmo para um estoque e para uma curva de rendimento (mesma ação, objetos diferentes). Alternativas de linguagens de programação fáceis de usar seriam Matlab e Python. Ambos os idiomas são compatíveis com o SVN (veja a terceira bala), Excel-friendly, mas Tem um desempenho fraco. O Matlab é bastante caro (1K - 10K, dependendo dos pacotes que você precisa e da sua localização), muito mais agradável e mais amigável do usuário. A equipe de suporte está pronta. Ponta de desempenho do Matlab: vectorize seu código (opere com vetores E matrizes em vez de elementos por elemento, por exemplo, vetor onde o elemento i seria um preço do estoque X na data de observação da data i dias ou matriz onde o elemento ij seria um rendimento da moeda Y na data i para o vencimento j). Outra maneira de s Peed Matlab é comprar um pacote que pode converter código de código Matlab em código C, que pode ser compilado em uma DLL que você pode usar no Excel. Essa DLL funcionaria muito mais rápido (pode ser cem vezes mais rápido depende da sua tarefa). Python é um freeware, bastante austero, leva um pouco de tempo para entrar, mas valeria a pena. É mais flexível, mais uma linguagem de programação adequada. Outros idiomas que você pode considerar são C, VB. NET e VB autônomo (tudo pela Microsoft, com preços razoáveis). Eu os posicionaria entre C (veja abaixo) e o Excel VBA C seria o mais poderoso, o VB seria o mais simples para você usar - é quase idêntico ao VBA. Mais uma vez, existe um trade-off entre performanceflexibility e straight-forwardnessimilidade ao Excel VBA. O código C escrito à mão é o melhor do ponto de vista do desempenho, esta é uma linguagem bastante versátil, mas leva muito mais tempo para aprender. Espero que você ache isso interessante. Oi, Dr. Ernie Chan Eu li seu livro sobre negociação quantitativa. Diz-se que MATLAB é uma boa ferramenta para desenvolver estratégias complexas. Mas não existe uma API bem aprovada para isso. Existe um MATLAB2IB recentemente encontrado. Mas é bom o suficiente e bem testado É dito em seu livro que o ExcelVBA é lento, em comparação com C. Estou interessado em desenvolver um Sistema Automatizado de Negociação. Devo usar este novo MATLAB2IB e continuar a desenvolver estratégias em Matlab. Estou bem em Matlab e usei-o extensivamente durante meu Ph. D. e outros trabalhos. Eu não usei C muito e achei isso mais difícil em comparação com o MATLAB. Dada a escolha, sempre vou fazer codificação no MATLAB. Mas é necessário desenvolver estratégias em C, se eu quiser desenvolver um sistema de comércio automático. Oi Vinay, usei matlab2ibapi há vários meses e achei que seja bastante útil e confiável para automatizar minhas estratégias. Na verdade, vou publicar um artigo ilustrando como usá-lo. ErnieMany estratégias de negociação quantitativas populares são públicas há bastante tempo. Agora, se você gosta de utilizar essa estratégia com dinheiro real, você deve se certificar de que sua estratégia funciona bem. Para estratégias simples, o MS Excel é perfeito para esta tarefa. Mas, como gostaríamos de usar uma otimização e uma visualização específica mais tarde, usamos Theta Suite e Matlab. Isso também permite a análise de estratégias mais complexas se você quiser. Criando uma estratégia de negociação quantitativa: sinal MACD 8211 Um dos indicadores técnicos mais populares é a Divisão de Convergência Média Mover (MACD), que essencialmente é a diferença entre duas médias móveis. A literatura diz que o cruzamento zero de uma linha MACD daria uma boa indicação para a compra de ações vendidas. Algumas vezes, eles adicionam algum sinal de gatilho e reivindicam, isso seria ainda melhor. Let8217s ver se isso é verdade. Mais precisamente, o MACD comercial é geralmente definido como resp. Em um loop ao longo do tempo, isso parece que EMA12 e EMA26 são duas médias móveis exponenciais diferentes com constantes 8220constl128221 e 82208221constl268221. O EMA é definido como: O sistema de negociação apropriado com um período de sinal de 8220constl 98221 parece Testar a estratégia com dados históricos reais Esta parte é muito importante. Eu não posso enfatizar demais esse fato: em uma publicação posterior, falaremos de back-testing muito mais. A atribuição desses dados a um processo ThetaML via permite a estimativa do desempenho da estratégia de negociação baseada em MACD. Aqui está um gráfico dos preços das ações da IBM de 2000-01-01 a 2011-12-31: Matlab parcela do preço das ações da IBM Backtesting da estratégia de negociação MACD Podemos executar os modelos ThetaML acima usando o Theta Suite Orchestrator e conectá-lo ao histórico Dados da IBM em Matlab no Configurador. Então, no Explorador de resultados, obtemos o desempenho da estratégia de negociação de sinal de MACD correspondente sem venda a descoberto Plot de desempenho da estratégia de negociação MACD e com venda a descoberto. Parece Performance de estratégia de negociação MACD com vendas curtas Note que durante a maioria dos anos , A estratégia de sinal MACD não funciona melhor do que a própria subjacente. Tendo em conta os custos de transação, isso parece ainda pior. Curiosamente, o ano de 2000 apresentou uma ótima performance da estratégia MACD, mas todos os anos mais atrasados ​​não foram tão bons. Conclusão É fácil verificar se uma estratégia teria funcionado bem usando dados históricos. ThetaML e Matlab são excelentes ferramentas para esta tarefa. A estratégia de negociação baseada em MACD que analisamos não é significativamente melhor do que manter a própria subjacente. Outros parâmetros da estratégia de negociação podem levar a melhores resultados, para que possamos realizar uma otimização. Veremos que na próxima semana. Guia inicial de negociação quantitativa Neste artigo, vou apresentar alguns dos conceitos básicos que acompanham um sistema de negociação quantitativa de ponta a ponta. Esta postagem esperará servir duas pessoas. O primeiro será indivíduos tentando obter um emprego em um fundo como um comerciante quantitativo. O segundo será indivíduos que desejam tentar e configurar seu próprio negócio de negociação algorítmica de varejo. Negociação quantitativa é uma área extremamente sofisticada de financiamento quantitativo. 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 exige uma ampla experiência em programação, pelo menos em uma linguagem como MATLAB, R ou Python. No entanto, à medida que a frequência comercial da estratégia aumenta, os aspectos tecnológicos tornam-se muito mais relevantes. Assim, estar familiarizado com CC será de suma importância. Um sistema de negociação quantitativo consiste em quatro componentes principais: Identificação de Estratégia - Encontrar uma estratégia, explorar uma vantagem e decidir sobre a freqüência comercial Estratégia Backtesting - Obter dados, analisar o desempenho da estratégia e remover os viés Sistema de Execução - Vinculação a uma corretora, automatizando a negociação e minimizando Custos de transação Gerenciamento de riscos - Alocação de capital ótima, critério de aposta e critério Kelly Bem, comece por analisar 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 abrange a busca de uma estratégia, considerando se a estratégia se enquadra em um portfólio de outras estratégias que você pode estar executando, obtendo todos os dados necessários para testar a estratégia e tentar otimizar a estratégia para maiores retornos e / ou menor risco. Você precisará avaliar seus próprios requisitos de capital se estiver executando a estratégia como um comerciante de varejo e como qualquer custo de transação afetará a estratégia. Contrariamente à crença popular, é realmente bastante direto encontrar estratégias rentáveis ​​através de várias fontes públicas. Os acadêmicos publicam periódicamente resultados teóricos de negociação (embora na maioria dos custos de transação). Os blogs quantitativos de finanças discutirão estratégias em detalhes. As revistas comerciais descreverã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 rentáveis, especialmente quando sabem que outras pessoas que se aglomeram podem impedir que a estratégia funcione no longo prazo. A razão reside no fato de que eles geralmente não discutem os parâmetros exatos e os métodos de afinação que realizaram. Essas otimizações são a chave para transformar uma estratégia relativamente medíocre em uma altamente rentável. 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 idéias de estratégia: muitas das estratégias que você olhará cairão nas categorias de reversão média e tendência-seguimento. 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 a propagação entre dois ativos correlacionados) e que desvios de curto prazo dessa média eventualmente reverterão. Uma estratégia de impulso tenta explorar a psicologia dos investidores e a grande estrutura do fundo, engajando uma tendência de mercado, que pode aumentar o impulso em uma direção e seguir a tendência até reverter. Outro aspecto extremamente importante da negociação quantitativa é a freqüência da estratégia de negociação. A negociação de baixa freqüência (LFT) geralmente se refere a qualquer estratégia que detenha ativos por mais tempo do que um dia de negociação. Correspondentemente, a negociação de alta freqüência (HFT) geralmente se refere a uma estratégia que mantém ativos intraday. Ultra-high frequency trading (UHFT) refere-se a estratégias que possuem ativos na ordem de segundos e milissegundos. Como um profissional de varejo HFT e UHFT são certamente possíveis, mas apenas com conhecimento detalhado da pilha de tecnologia comercial e da dinâmica do livro de pedidos. Não discutiremos esses aspectos em grande medida neste artigo introdutório. Uma vez que uma estratégia, ou conjunto de estratégias, foi identificado, agora precisa ser testado quanto à lucratividade em dados históricos. Esse é o domínio do backtesting. Estratégia Backtesting O objetivo do backtesting é fornecer provas de que a estratégia identificada através do processo acima é rentável quando aplicado a dados históricos e fora da amostra. Isso define a expectativa de como a estratégia irá atuar no mundo real. No entanto, backtesting NÃO é uma garantia de sucesso, por vários motivos. É talvez a área mais sutil de negociação quantitativa, uma vez que implica numerosos preconceitos, que devem ser cuidadosamente considerados e eliminados o máximo possível. Discutiremos os tipos comuns de viés, incluindo viés avançado. Viés de sobrevivência e viés de otimização (também conhecido como viés de divulgação de dados). Outras áreas de importância no backtesting incluem disponibilidade e limpeza de dados históricos, com base em custos de transação realistas e na decisão de uma plataforma robusta de backtesting. Bem, discuta os custos de transação ainda mais na seção Sistemas de Execução abaixo. Uma vez que uma estratégia foi 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. Os seus custos geralmente variam com a qualidade, a profundidade e a pontualidade dos dados. O ponto de partida tradicional para os comerciantes quantos iniciais (pelo menos no nível de varejo) é usar o conjunto de dados gratuitos da Yahoo Finance. Não me preocuparia muito com os prestadores, e gostaria de me concentrar nas questões gerais quando lido com conjuntos de dados históricos. As principais preocupações com os dados históricos incluem limpeza de precisão, viés de sobrevivência e ajuste para ações corporativas, como dividendos e divisões de estoque: a precisão pertence à qualidade geral dos dados - quer contenha algum erro. Os erros podem às vezes ser fáceis de identificar, como, por exemplo, com um filtro de espiga. Que irá escolher picos incorretos em dados da série temporal e correto para eles. Em outras ocasiões, eles 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 negociados. No caso das ações, isso significa que os estoques são cancelados. Este viés significa que qualquer estratégia de negociação de estoque testada em tal conjunto de dados provavelmente funcionará 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 de função gradual no preço bruto, que não deve ser incluído no cálculo dos retornos do preço. Ajustes para dividendos e divisões de estoque são os culpados comuns. Um processo conhecido como ajuste de volta é necessário para ser realizado em cada uma dessas ações. É preciso ter muito cuidado para não confundir uma divisão de ações com um verdadeiro ajuste de retorno. Muitos comerciantes foram capturados por uma ação corporativa. Para realizar um procedimento de backtest, é necessário usar uma plataforma de software. Você tem a opção entre o software de back-back dedicado, 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. Não demorarei muito em Tradestation (ou similar), Excel ou MATLAB, como acredito na criação de uma pilha de tecnologia interna completa (por razões descritas abaixo). Um dos benefícios de fazer isso é que o software de backtest e o sistema de execução podem ser integrados, mesmo com estratégias estatísticas extremamente avançadas. Para as estratégias de HFT em particular, é essencial usar uma implementação personalizada. Quando testar um sistema, é preciso quantificar o desempenho. As métricas padrão da indústria para estratégias quantitativas são a redução máxima e a Razão Sharpe. O drawdown máximo caracteriza a maior queda de pico para a parcela na curva de equidade da conta em um determinado período de tempo (geralmente anual). Isso geralmente é citado como uma porcentagem. As estratégias de LFT tendem a ter maiores disparidades do que as estratégias de HFT, devido a uma série de fatores estatísticos. Um backtest histórico mostrará a retirada máxima do passado, que é um bom guia para o futuro desempenho de redução da estratégia. A segunda medida é a Ratia de Sharpe, que é heuristicamente definida como a média dos retornos em excesso divididos pelo desvio padrão desses retornos em excesso. Aqui, os retornos em excesso referem-se ao retorno da estratégia acima de um benchmark pré-determinado. Como o SP500 ou um projeto de lei do Tesouro de 3 meses. Observe que o retorno anualizado não é uma medida usualmente utilizada, pois não leva em consideração a volatilidade da estratégia (ao contrário do Ratio de Sharpe). Uma vez que uma estratégia foi testada novamente e é considerada livre de preconceitos (na medida em que é possível), com um bom Sharpe e reduções minimizadas, é hora de criar um sistema de execução. Sistemas de Execução Um sistema de execução é o meio pelo qual a lista de negócios gerados pela estratégia é enviada e executada pelo corretor. Apesar do fato de que a geração de comércio pode ser semi - ou mesmo totalmente automatizada, o mecanismo de execução pode ser manual, semi-manual (ou seja, um clique) ou totalmente automatizado. Para estratégias LFT, as 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 comercial (devido à interdependência da estratégia e da tecnologia). As principais considerações ao criar um sistema de execução são a interface para a corretora. Minimização dos custos de transação (incluindo comissão, deslizamento e propagação) e divergência de desempenho do sistema ao vivo com o desempenho testado. Há muitas maneiras de se conectar a uma corretora. Eles variam de chamar seu corretor no telefone diretamente para uma interface de programação de aplicativos (API) de alto desempenho totalmente automatizada. O ideal é que você automatize a execução de seus negócios o máximo possível. Isso liberta você para se concentrar em novas pesquisas, além de permitir que você execute várias estratégias ou mesmo estratégias de maior freqüência (na verdade, o HFT é essencialmente impossível sem execução automática). O software comum de backtesting descrito acima, como MATLAB, Excel e Tradestation são bons para estratégias mais baixas e mais simples. 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 com o qual eu costumava trabalhar, tivemos um loop de negociação de 10 minutos, onde iremos baixar novos dados de mercado a cada 10 minutos e, em seguida, executar negócios com base nessas informações no mesmo período. Isso estava usando um script Python otimizado. Para qualquer coisa que se aproxime de dados de minuto ou de segunda frequência, acredito que CC seria mais ideal. Em um fundo maior, muitas vezes não é o domínio do comerciante quant para otimizar a execução. No entanto, em lojas menores ou empresas HFT, os comerciantes são os executores e, portanto, um conjunto de habilidades muito mais amplo é muitas vezes desejável. Tenha 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 de econometria. Outra questão importante que se enquadra no banner de execução é a redução de custos de transação. Em geral, existem três componentes para os custos de transação: as comissões (ou taxas), que são as taxas cobradas pela corretora, a troca e o derrapagem SEC (ou órgão regulador governamental similar), que é a diferença entre o que você pretende que seu pedido seja Preenchido em relação ao que foi preenchido na propagação, que é a diferença entre o preço bidask da segurança negociada. Observe que o spread NÃO é constante e depende da liquidez atual (ou seja, disponibilidade de ordens Buysell) no mercado. Os custos de transação podem fazer a diferença entre uma estratégia extremamente rentável com uma boa relação Sharpe e uma estratégia extremamente rentável com uma relação 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á de acesso a dados de troca histórica, que incluirão dados de marca para os preços da bidask. Equipes completas de quants dedicam-se a otimização de execução nos fundos maiores, por estas razões. Considere o cenário em que um fundo precisa descarregar uma quantidade substancial de negócios (dos quais os motivos para isso são muitos e variados). Ao despejar tantas ações no mercado, elas comprimem rapidamente o preço e não podem obter uma execução ótima. Daí existem algoritmos que gotejam pedidos de alimentação no mercado, embora o fundo corra o risco de derrapagem. Além disso, outras estratégias adotam essas necessidades e podem explorar as ineficiências. Este é o domínio da arbitragem da estrutura do fundo. A principal questão principal para os sistemas de execução diz respeito à divergência do desempenho da estratégia com o desempenho testado. Isso pode acontecer por vários motivos. Já discutimos o viés avançado e o viés de otimização em profundidade, quando se considera backtests. No entanto, algumas estratégias não facilitam a verificação desses preconceitos antes da implantação. Isso ocorre em HFT mais predominantemente. Pode haver erros no sistema de execução, bem como a própria estratégia de negociação que não aparecem em um backtest, mas DO show up em negociação ao vivo. O mercado pode estar sujeito a uma mudança de regime posterior à implantação de sua estratégia. Novos ambientes regulatórios, mudança do sentimento dos investidores e fenômenos macroeconômicos podem levar a divergências em como o mercado se comporta e, assim, a rentabilidade da sua estratégia. Gerenciamento de riscos A peça final para o enigma comercial quantitativo é o processo de gerenciamento de riscos. O risco inclui todos os preconceitos anteriores que discutimos. Inclui o risco de tecnologia, como servidores co-localizados no intercâmbio de repente, desenvolvendo um mau funcionamento do disco rígido. Inclui o risco de corretagem, como o corretor se quebrando (não tão louco quanto parece, dado o susto recente com o MF Global). Em suma, abrange quase tudo o que poderia interferir na implementação da negociação, de que existem muitas fontes. Livros inteiros são dedicados ao gerenciamento de risco para estratégias quantitativas, por isso não tento elucidar sobre todas as possíveis fontes de risco aqui. O gerenciamento de riscos também abrange o que é conhecido como alocação ótima de capital. Que é um ramo da teoria do portfólio. Este é o meio pelo qual o capital é alocado para um conjunto de estratégias diferentes e para os 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 Kelly. Uma vez que este é um artigo introdutório, eu não penso em seu cálculo. O critério Kelly faz alguns pressupostos sobre a natureza estatística dos retornos, que geralmente não são válidos nos mercados financeiros, de modo que os comerciantes geralmente são conservadores quando se trata da implementação. Outro componente fundamental da gestão de riscos é o de lidar com o próprio perfil psicológico. Existem muitos viés cognitivos que podem entrar na negociação. Embora isso seja certamente menos problemático com o comércio algorítmico se a estratégia for deixada sozinha. 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á obtido pode ser muito grande. Outro viés comum é conhecido como viés de recência. Isso se manifesta quando os comerciantes colocam muita ênfase nos eventos recentes e não no longo prazo. Então, é claro, há o par clássico de viés emocional - medo e ganância. Estes podem, muitas vezes, levar a alavancagem insuficiente ou excessiva, o que pode causar explosão (ou seja, o patrimônio da conta em 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 que eu apenas dediquei uma ou duas sentenças. Por esse motivo, antes de se candidatar a empregos quantitativos em bolsa de fundos, é necessário realizar uma quantidade significativa de estudo de base. No mínimo, você precisará de uma ampla experiência em estatística e econometria, com muita experiência na implementação, através de uma linguagem de programação como MATLAB, Python ou R. Para estratégias mais sofisticadas no final da freqüência mais alta, seu conjunto de habilidades é provável Para incluir modificação do kernel do Linux, CC, programação de montagem e otimização de latência da rede. Se você está interessado em tentar criar suas próprias estratégias de negociação algorítmicas, minha primeira sugestão seria melhorar a programação. A minha preferência é criar tanto quanto possível o captador de dados, o backtester de estratégia e o sistema de execução. Se o seu próprio capital estiver na linha, você não dormiria melhor à noite sabendo que você testou completamente seu sistema e está ciente de suas armadilhas e questões específicas. Terceirizando isso para um fornecedor, embora potencialmente economizando tempo no curto prazo, poderia ser extremamente Caro a longo prazo.

No comments:

Post a Comment