Wednesday 8 November 2017

Crie seu próprio sistema de negociação de alta freqüência


Como os Algoritmos de Negociação são Criados O comércio quantitativo não é acessível apenas aos comerciantes institucionais. Os comerciantes de varejo estão se envolvendo também. Embora as habilidades de programação sejam recomendadas se você quiser produzir algoritmos, mesmo aqueles que sempre são necessários. São disponíveis programas e serviços que escrevem o código de programação para uma estratégia com base nas entradas que você fornece. O código produzido pelo serviço de programas é então conectado à plataforma de negociação e as negociações começam. Mas antes que tudo isso possa ocorrer, os comerciantes algorítmicos desejosos progridem através de várias etapas, decidindo exatamente o que eles querem realizar com o algoritmo. e como. Time Frame e Restrições Enquanto um algoritmo bem programado pode ser executado sozinho, recomenda-se algum descuido humano. Portanto, escolha um cronograma e uma freqüência comercial que você possa monitorar. Se você tem um emprego a tempo inteiro e seu algoritmo está programado para fazer centenas de negócios por dia em um gráfico de um minuto enquanto você está no trabalho, isso pode não ser o ideal. Você pode desejar escolher um quadro um pouco mais longo para suas negociações e menos frequência comercial para que você possa seguir abas. A rentabilidade na fase de teste do algoritmo não significa que continuará a produzir esses retornos para sempre. Ocasionalmente, você precisará intervir e alterar o algoritmo de negociação se os resultados revelarem que ele já não está funcionando bem. Este é também um compromisso de tempo que qualquer pessoa que se compromete a negociar algorítmica deve aceitar. As restrições financeiras também são um problema. As comissões se acumulam muito rapidamente com uma estratégia de negociação de alta freqüência, portanto, assegure-se de que você esteja com o corretor de menor custo disponível e que o potencial de lucro de cada negociação garante o pagamento dessas comissões, potencialmente muitas vezes por dia. O capital inicial também é uma consideração. Diferentes mercados e produtos financeiros exigem valores diferentes de capital. Se o dia de negociação de ações você precisará de pelo menos 25.000 (mais é recomendado), mas negociação forex ou futuros você pode potencialmente começar com menos. As restrições de mercado são outra questão. Nem todos os mercados são adequados ao comércio algorítmico. Escolha ações, ETFs, pares de divisas ou futuros com ampla liquidez para lidar com as ordens que o algoritmo estará produzindo. Desenvolva ou ajuste uma estratégia Uma vez que as restrições financeiras e de tempo são compreendidas, desenvolva ou ajuste uma estratégia que pode ser programada. Você pode ter uma estratégia que você troca manualmente, mas é facilmente codificado. Se sua estratégia é altamente subjetiva e não baseada em regras, a programação da estratégia pode ser impossível. As estratégias baseadas em regras são as mais fáceis de codificar estratégias com entradas, parar de perdas e metas de preços com base em dados quantificáveis ​​ou movimentos de preços. Uma vez que as estratégias baseadas em regras são facilmente copiadas e testadas, há uma abundância disponível gratuitamente se você não tiver idéias próprias. A Quantpedia é um desses recursos, fornecendo documentos acadêmicos e resultados comerciais para vários métodos de negociação quantitativos. As regras descritas podem ser codificadas e, em seguida, testadas quanto à rentabilidade nos dados passados ​​e atuais. Codificar um algoritmo requer habilidade de programação ou acesso a software ou alguém que possa codificar para você. Testando um Algoritmo de Negociação O passo mais importante é testar. Uma vez que uma estratégia de negociação foi codificada, não troque o capital real com ela até que ela tenha sido testada. O teste inclui permitir que o algoritmo funcione em dados de preços históricos, mostrando como o algoritmo foi realizado em milhares de negócios. Se a fase de teste histórico for rentável e as estatísticas produzidas são aceitáveis ​​para suas tolerâncias de risco, como redução máxima, relação de ganhos, risco de ruína. Por exemplo, proceda a testar o algoritmo em condições de vida em uma conta demo. Mais uma vez, esta fase deve produzir centenas de negócios para que você possa acessar o desempenho. Se o algoritmo é rentável em dados de preços históricos e negociando uma conta de demonstração ao vivo, use-o comercialmente de capital real, mas com um olhar atento. As condições ao vivo são diferentes dos testes históricos ou de demonstração, porque as ordens de algoritmos realmente afetam o mercado e podem causar derrapagens. Até que seja verificado, o algoritmo funciona no mercado real, como fez nos testes, mantenha um olhar atento. Enquanto o algoritmo estiver operando dentro dos parâmetros estatísticos estabelecidos durante o teste, deixe o algoritmo sozinho. Algoritmos têm o benefício de negociar sem emoção. Mas um comerciante que constantemente brincadeira com o algoritmo está anulando esse benefício. O algoritmo exige atenção. Monitorize o desempenho e, se as condições de mercado mudam tanto que o algoritmo já não está funcionando como deveria, então os ajustes podem ser necessários. A negociação algorítmica não é um esforço de set-and-forget que o faz rico durante a noite. De fato, a negociação quantitativa pode ser tanto trabalho quanto a negociação manual. Se você optar por criar um algoritmo, esteja ciente de como o tempo, as restrições financeiras e de mercado podem afetar sua estratégia e planejar de acordo. Transforme uma estratégia atual em uma regra baseada em uma que possa ser mais facilmente programada ou selecione um método quantitativo que já foi testado e pesquisado. Em seguida, execute sua própria fase de teste usando dados históricos e atuais. Se isso for verificado, então execute o algoritmo com dinheiro real sob um olhar atento. Ajustar, se necessário, mas, de outra forma, deixá-lo fazer o seu trabalho. Como identificar estratégias de negociação algorítmicas Neste artigo, quero apresentar-lhe os métodos pelos quais eu próprio identifico estratégias de negociação algorítmicas rentáveis. Nosso objetivo hoje é entender detalhadamente como encontrar, avaliar e selecionar esses sistemas. Vou explicar como a identificação de estratégias é tanto sobre preferências pessoais como sobre o desempenho da estratégia, como determinar o tipo e quantidade de dados históricos para o teste, como avaliar de forma imparcial uma estratégia de negociação e, finalmente, como proceder para a fase de teste e a implementação da estratégia. . Identificando suas próprias preferências pessoais para negociação Para ser um comerciante bem-sucedido - de forma discricionária ou algorítmica - é necessário fazer-se algumas perguntas honestas. O Trading fornece-lhe a capacidade de perder dinheiro a um ritmo alarmante, por isso é necessário conhecer-se tanto quanto for necessário entender a estratégia escolhida. Eu diria que a consideração mais importante na negociação é estar ciente de sua própria personalidade. O comércio e o comércio algorítmico em particular, requer um grau significativo de disciplina, paciência e distanciamento emocional. Uma vez que você está deixando um algoritmo executar sua negociação para você, é necessário ser resolvido para não interferir com a estratégia quando está sendo executado. Isso pode ser extremamente difícil, especialmente em períodos de redução prolongada. No entanto, muitas estratégias que demonstraram ser altamente rentáveis ​​em um backtest podem ser arruinadas por uma simples interferência. Compreenda que, se você deseja entrar no mundo da negociação algorítmica, você será testado emocionalmente e, para ser bem sucedido, é necessário trabalhar com essas dificuldades. A próxima consideração é uma vez. Você trabalha em tempo integral Você trabalha em meio período Você trabalha em casa ou tem uma longa jornada diária? Essas perguntas ajudarão a determinar a freqüência da estratégia que você deve procurar. Para aqueles que trabalham em tempo integral, uma estratégia de futuros intradía pode não ser apropriada (pelo menos até que seja totalmente automatizada). Suas restrições de tempo também ditarão a metodologia da estratégia. Se sua estratégia é freqüentemente negociada e dependente de feeds de notícias caras (como um terminal da Bloomberg), você terá claramente que ser realista sobre a sua capacidade de executar com sucesso enquanto estiver no escritório Para aqueles com você com muito tempo, ou as habilidades Para automatizar sua estratégia, você pode querer examinar uma estratégia mais técnica de negociação de alta freqüência (HFT). Minha opinião é que é necessário realizar pesquisas contínuas sobre suas estratégias de negociação para manter um portfólio consistentemente lucrativo. Poucas estratégias permanecem sob o radar para sempre. Assim, uma parcela significativa do tempo atribuído à negociação será na realização de pesquisas em andamento. Pergunte a si mesmo se você está preparado para fazer isso, pois pode ser a diferença entre uma forte rentabilidade ou um declínio lento em relação a perdas. Você também precisa considerar seu capital de negociação. 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 novamente, eu começaria com um montante maior, provavelmente mais perto de 100.000 USD (aproximadamente 70.000). Isso ocorre porque os custos de transação podem ser extremamente caros para estratégias de média a alta freqüência e é necessário ter capital suficiente para absorvê-los em tempos de redução. Se você está considerando começar com menos de 10.000 USD, então você precisará se restringir a estratégias de baixa freqüência, negociando em um ou dois ativos, já que os custos de transação irão comer rapidamente em seus retornos. Interactive Brokers, que é um dos corretores mais amigáveis ​​para aqueles com habilidades de programação, devido à sua API, tem uma conta de varejo mínima de 10.000 USD. A habilidade de programação é um fator importante na criação de uma estratégia de negociação algorítmica automatizada. Estar bem informado em uma linguagem de programação como C, Java, C, Python ou R permitirá que você crie o sistema de armazenamento de dados, back-test e execução de ponta a ponta você mesmo. Isso tem uma série de vantagens, cujo chefe é a capacidade de estar completamente atento a todos os aspectos da infra-estrutura comercial. Também permite que você explore as estratégias de maior freqüência, pois você terá o controle total da sua pilha de tecnologia. Embora isso signifique que você possa testar seu próprio software e eliminar erros, também significa mais tempo gasto na codificação de infra-estrutura e menos na implementação de estratégias, pelo menos na parte anterior da sua carreira de trading. Você pode achar que você está confortável negociando no Excel ou MATLAB e pode terceirizar o desenvolvimento de outros componentes. Eu não recomendaria isso no entanto, especialmente para aqueles que negociavam em alta freqüência. Você precisa se perguntar o que você espera alcançar por meio de negociação algorítmica. Você está interessado em um rendimento regular, pelo qual você deseja obter lucros da sua conta de negociação Ou você está interessado em um ganho de capital a longo prazo e pode se negociar sem a necessidade de retirar recursos. A dependência da renda determinará a freqüência de sua estratégia . As retiradas de renda mais regulares exigirão uma estratégia de negociação de maior freqüência com menor volatilidade (ou seja, uma proporção Sharpe mais alta). Os comerciantes de longo prazo podem pagar uma frequência comercial mais tranquila. Finalmente, não se ilude com a noção de tornar-se extremamente rico em um curto espaço de tempo. A negociação de Algo não é um esquema rápido e rico, se alguma coisa pode ser um esquema rápido e rápido. É preciso disciplina, pesquisa, diligência e paciência significativas para serem bem-sucedidas no comércio algorítmico. Pode levar meses, senão anos, gerar rentabilidade consistente. Sourcing Algorithmic Trading Ideas Apesar das percepções comuns ao contrário, é realmente bastante direto para localizar estratégias comerciais rentáveis ​​no domínio público. Nunca as idéias comerciais estão mais disponíveis do que hoje. Revistas de finanças acadêmicas, servidores de pré-impressão, blogs comerciais, fóruns de negociação, revistas comerciais semanais e textos especializados fornecem milhares de estratégias de negociação com as quais basear suas idéias. Nosso objetivo como pesquisadores quantitativos de negócios é estabelecer um pipeline estratégico que nos forneça um fluxo de idéias comerciais em andamento. Idealmente, queremos criar uma abordagem metódica para sourcing, avaliação e implementação de estratégias que encontramos. Os objetivos do pipeline são gerar uma quantidade consistente de novas idéias e fornecer-nos uma estrutura para rejeitar a maioria dessas idéias com o mínimo de consideração emocional. Devemos ser extremamente cuidadosos para não permitir influências cognitivas na nossa metodologia de tomada de decisão. Isso poderia ser tão simples como ter uma preferência por uma classe de ativos sobre outra (o ouro e outros metais preciosos vêm à mente) porque são percebidos como mais exóticos. Nosso objetivo sempre deve ser encontrar estratégias consistentemente lucrativas, com expectativas positivas. A escolha da classe de ativos deve basear-se em outras considerações, como restrições de capital de negociação, taxas de corretagem e capacidades de alavancagem. Se você não está completamente familiarizado com o conceito de estratégia comercial, então o primeiro lugar a olhar é com os livros didáticos estabelecidos. Os textos clássicos fornecem uma ampla gama de idéias mais simples e diretas, para se familiarizarem com a negociação quantitativa. Aqui está uma seleção que eu recomendo para aqueles que são novos para o comércio quantitativo, que gradualmente se tornam mais sofisticados conforme você trabalha através da lista: Para uma lista mais longa de livros de negociação quantitativos, visite a lista de leitura QuantStart. O próximo local para encontrar estratégias mais sofisticadas é com fóruns comerciais e blogs comerciais. No entanto, uma nota de cautela: muitos blogs comerciais dependem do 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 pouco ineficaz na comunidade de finanças quantitativas. 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, há indivíduos bem sucedidos que fazem uso da análise técnica. No entanto, como quants com uma caixa de ferramentas matemática e estatística mais sofisticada à nossa disposição, podemos avaliar facilmente a eficácia de tais estratégias baseadas em TA e tomar decisões baseadas em dados, em vez de basear nossa em considerações emocionais ou preconceitos. Aqui está uma lista de blogs e fóruns de negociação algorítmica bem respeitados: uma vez que você teve alguma experiência na avaliação de estratégias mais simples, é hora de analisar as ofertas acadêmicas mais sofisticadas. Algumas revistas acadêmicas serão de difícil acesso, sem inscrições elevadas ou custos pontuais. Se você é um membro ou ex-aluno de uma universidade, você poderá obter acesso a algumas dessas revistas financeiras. Caso contrário, você pode olhar para servidores de pré-impressão. Que são repositórios de internet de rascunhos finais de documentos acadêmicos que estão sendo submetidos a revisão pelos pares. Uma vez que estamos apenas interessados ​​em estratégias que possamos replicar com sucesso, backtest e obter rentabilidade, uma revisão pelos pares é de menor importância para nós. A principal desvantagem das estratégias acadêmicas é que muitas vezes podem estar desatualizadas, exigir dados históricos obscuros e dispendiosos, negociar em classes de ativos ilíquidas ou não influenciar taxas, derrapagens ou spread. Também não é claro se a estratégia de negociação deve ser realizada com ordens de mercado, ordens limitadas ou se contém perdas de parada, etc. Portanto, é absolutamente essencial replicar a estratégia o melhor que puder, fazer uma prova e fazer uma transação realista 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 jornais financeiros dos quais você pode gerar idéias: o que é sobre a formação de suas próprias estratégias quantitativas. Mas não está limitado a) experiência em uma ou mais das seguintes categorias: Microestrutura de mercado - Para estratégias de maior freqüência em particular, pode-se usar a microestrutura do mercado. Isto é, compreensão da dinâmica do livro de pedidos para gerar rentabilidade. Diferentes mercados terão várias limitações tecnológicas, regulamentos, participantes do mercado e restrições que estão abertas à exploração através 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 - Os fundos de investimento em conjunto, como fundos de pensão, parcerias de investimentos privados (hedge funds), consultores de negociação de commodities e fundos de investimento, são limitados por uma regulamentação pesada e 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 tamanho deles. Assim, se eles precisam rapidamente descarregar (vender) uma quantidade de valores mobiliários, eles terão que escaloná-lo para evitar mover o mercado. Algoritmos sofisticados podem tirar proveito disso, e outras idiossincrasias, em um processo geral conhecido como arbitragem de estrutura de fundos. Aprendizagem mecânica de inteligência artificial - Os algoritmos de aprendizagem de máquinas tornaram-se mais prevalentes nos últimos anos nos mercados financeiros. Os classificadores (como Naive-Bayes, et al.) Correspondentes de função não-linear (redes neurais) e rotinas de otimização (algoritmos genéticos) foram todos usados ​​para prever caminhos de ativos ou otimizar estratégias de negociação. Se você tem um histórico nesta área, você pode ter alguma visão sobre como determinados algoritmos podem ser aplicados a certos mercados. Há, é claro, muitas outras áreas para investigar quants. Bem, discuta como encontrar estratégias detalhadas em detalhes em um artigo posterior. Ao continuar monitorando essas fontes numa base semanal, ou mesmo diária, você está se preparando para receber uma lista consistente de estratégias de uma variedade diversificada de fontes. O próximo passo é determinar como rejeitar um grande subconjunto destas estratégias, a fim de minimizar o desperdício do seu tempo e os recursos de teste em estratégias que provavelmente não serão lucrativas. Avaliando Estratégias de Negociação A primeira e, possivelmente, a consideração mais óbvia é se você realmente entende a estratégia. Você poderia explicar a estratégia de forma concisa ou exigir uma série de advertências e listas de parâmetros intermináveis. Além disso, a estratégia tem uma base boa e sólida na realidade. Por exemplo, você poderia apontar alguma lógica comportamental ou restrição de estrutura de fundos que Pode estar causando o (s) padrão (s) que você está tentando explorar. Essa restrição suportaria uma mudança de regime, como uma ruptura dramática do ambiente regulatório. A estratégia depende de regras estatísticas ou matemáticas complexas Aplica-se a qualquer série de tempo financeiro ou é É específico para a classe de ativos que se afirma ser rentável. Você deve estar pensando constantemente nesses fatores ao avaliar novos métodos comerciais, caso contrário você pode desperdiçar uma quantidade significativa de tempo tentando fazer backtest e otimizar estratégias não lucrativas. Uma vez que você tenha determinado que você entende os princípios básicos da estratégia, você precisa decidir se ele se encaixa com o seu perfil de personalidade acima mencionado. Esta não é uma consideração tão vaga quanto parece. As estratégias diferirão substancialmente em suas características de desempenho. Existem certos tipos de personalidade que podem lidar com períodos mais significativos de redução ou estão dispostos a aceitar um maior risco de retorno maior. Apesar do fato de que nós, como quants, tentamos eliminar todo o viés cognitivo possível e devemos avaliar uma estratégia de forma desapaixonada, os preconceitos sempre fluirão. Portanto, precisamos de um meio consistente e sem emoção para avaliar o desempenho das estratégias . Aqui está a lista de critérios que eu julgo uma nova estratégia potencial por: Metodologia - É o impulso da estratégia, o retorno médio, o mercado neutro, direcional. A estratégia depende de técnicas de aprendizado estatístico ou de máquinas sofisticadas (ou complexas) que são difíceis Para entender e exigir um doutorado 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. A estratégia provavelmente suportará uma mudança de regime (ou seja, uma nova regulamentação potencial de mercados financeiros). Razão de Sharpe - A relação de Sharpe Caracteriza heuristicamente a proporção de risco de risco da estratégia. Quantifica quanto retorno você consegue para o nível de volatilidade suportado pela curva patrimonial. Naturalmente, precisamos determinar o período e a frequência em que esses retornos e volatilidade (ou seja, o desvio padrão) são medidos. Uma estratégia de freqüência mais alta exigirá maior taxa de amostragem do desvio padrão, mas um período de tempo geral mais curto, por exemplo. Alavancagem - A estratégia exige alavancagem significativa para ser lucrativa. A estratégia requer o uso de contratos de derivativos alavancados (futuros, opções, swaps) para fazer um retorno. Estes contratos alavancados podem ter uma forte volatilidade e, portanto, podem facilmente levar a Chamadas de margem. Você tem o capital de negociação e o temperamento dessa volatilidade Frequência - A freqüência da estratégia está intimamente ligada à sua pilha de tecnologia (e, portanto, experiência tecnológica), ao índice Sharpe e ao nível geral dos custos de transação. Todas as outras questões consideradas, estratégias de maior freqüência requerem mais capital, são mais sofisticadas e mais difíceis de implementar. No entanto, assumindo que seu mecanismo de teste de backtest é sofisticado e livre de erros, eles geralmente terão taxas de Sharpe muito maiores. Volatilidade - A volatilidade está fortemente relacionada ao risco da estratégia. A relação Sharpe caracteriza isso. A maior volatilidade das classes de ativos subjacentes, se não coberta, muitas vezes leva a uma maior volatilidade na curva de patrimônio e, portanto, menores índices de Sharpe. Naturalmente, suponho que a volatilidade positiva seja aproximadamente igual à volatilidade negativa. Algumas estratégias podem ter maior volatilidade negativa. Você precisa estar ciente desses atributos. WinLoss, Average ProfitLoss - As estratégias serão diferentes nas suas características de ganhos e ganhos de lucro. Pode-se ter uma estratégia muito lucrativa, mesmo que o número de negociações perdidas exceda o número de negócios vencedores. 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 em que mais dos negócios são vencedores, mas os negócios perdidos podem ser bastante graves. Drawdown máximo - A redução máxima é a maior queda percentual global na curva de equidade da estratégia. As estratégias de Momentum são bem conhecidas por sofrerem períodos de alongamento prolongado (devido a uma série de muitas operações perdidas incrementais). Muitos comerciantes vão desistir em períodos de redução prolongada, mesmo que os testes históricos sugeriram que este é um negócio como de costume para a estratégia. Você precisará determinar qual porcentagem de redução (e em que período de tempo) você pode aceitar antes de deixar de negociar sua estratégia. Esta é uma decisão altamente pessoal e, portanto, deve ser considerada com cuidado. CapacityLiquidity - No nível de varejo, a menos que você esteja negociando em um instrumento altamente ilíquido (como um estoque de pequena capitalização), você não terá que se preocupar muito com a capacidade da estratégia. A capacidade determina a escalabilidade da estratégia para aumentar o capital. Muitos dos maiores hedge funds sofrem de importantes problemas de capacidade à medida que suas estratégias aumentam em alocação de capital. Parâmetros - Certas estratégias (especialmente aquelas encontradas na comunidade de aprendizagem de máquinas) exigem uma grande quantidade de parâmetros. Todo parâmetro adicional 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 e alvejar estratégias com o menor número possível de parâmetros ou garantir que você tenha 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 um benchmark de desempenho. O benchmark geralmente é um índice que caracteriza uma grande amostra da classe de ativos subjacentes em que a estratégia negocia. Se a estratégia negociar ações americanas de grande capitalização, o SP500 seria um benchmark natural para medir a sua estratégia. Você ouvirá os termos alfa e beta, aplicado a estratégias deste tipo. Vamos discutir estes coeficientes em profundidade em artigos posteriores. Observe que não discutimos os retornos reais da estratégia. Por que isso é isolado, os retornos realmente nos fornecem informações limitadas sobre a eficácia da estratégia. Eles não lhe dão uma visão de alavancagem, volatilidade, benchmarks ou requisitos de capital. Assim, as estratégias raramente são avaliadas apenas em seus retornos. Considere sempre os atributos de risco de uma estratégia antes de analisar os retornos. Nesta fase, muitas das estratégias encontradas no seu pipeline serão rejeitadas, uma vez que não atendem aos requisitos de capital, alavancam restrições, tolerâncias máximas de tolerância ou preferências de volatilidade. As estratégias que permanecem podem agora ser consideradas para testes anteriores. No entanto, antes disso é possível, é necessário considerar um critério final de rejeição - o dos dados históricos disponíveis para testar essas estratégias. Obtenção de dados históricos Atualmente, a amplitude dos requisitos técnicos em todas as classes de ativos para o armazenamento histórico de dados é substancial. Para se manterem competitivos, tanto o lado da compra (fundos) quanto os de venda (bancos de investimento) investem fortemente em sua infraestrutura técnica. É imperativo considerar sua importância. Em particular, estamos interessados ​​em requisitos de tempo, precisão e armazenamento. Vou agora descrever os conceitos básicos de obtenção de dados históricos e como armazená-lo. Infelizmente, este é um tópico muito profundo e técnico, então não consigo dizer tudo neste artigo. No entanto, vou escrever muito mais sobre isso no futuro, já que minha experiência na indústria anterior no setor financeiro estava principalmente preocupada com aquisição, armazenamento e acesso de dados financeiros. Na seção anterior, montamos um pipeline de estratégia que nos permitiu rejeitar certas estratégias com base em nossos próprios critérios de rejeição pessoal. Nesta seção, vamos filtrar 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 varejista) são os custos dos dados, dos requisitos de armazenamento e do 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 importam. Comece por discutir os tipos de dados disponíveis e as questões-chave que precisaremos para pensar: Dados Fundamentais - Isso inclui dados sobre tendências macroeconômicas, tais como taxas de juros, números de inflação, ações corporativas (dividendos, estoque-divisão), registros da SEC , Contas corporativas, números de ganhos, relatórios de culturas, dados meteorológicos, etc. Estes dados são freqüentemente usados ​​para avaliar empresas ou outros ativos em uma base fundamental, ou seja, por meio de fluxos de caixa futuros esperados. Não inclui séries de preços de ações. Alguns dados fundamentais estão disponíveis gratuitamente nos sites do governo. Outros dados fundamentais históricos de longo prazo podem ser extremamente caros. Os requisitos de armazenamento geralmente 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 muitas vezes de natureza qualitativa. Consiste em artigos, postagens de blog, postagens de microblog (tweets) e editoriais. As técnicas de aprendizagem de máquinas, como os classificadores, costumam ser usadas para interpretar o sentimento. Esses dados também são freqüentemente disponíveis gratuitamente ou baratos, por meio da assinatura de meios de comunicação. Os bancos de dados de armazenamento de documentos Novos NoSQL são projetados para armazenar esse tipo de dados qualitativos não estruturados. Dados do preço do recurso - Este é o domínio de dados tradicional do quant. Consiste em séries temporais de preços dos ativos. As ações (ações), produtos de renda fixa (títulos), commodities e preços de câmbio se enquadram nesta classe. Os dados históricos diários geralmente são simples de obter para as classes de ativos mais simples, como ações. No entanto, uma vez que a precisão e a limpeza estão incluídas e os preconceitos estatísticos removidos, os dados podem se tornar caros. Além disso, os dados das séries temporais geralmente possuem requisitos de armazenamento significativos, especialmente quando os dados intradiários são considerados. Instrumentos Financeiros - Ações, títulos, futuros e opções derivadas mais exóticas possuem características e parâmetros muito diferentes. Assim, não existe um tamanho único para toda a estrutura de banco de dados que possa acomodá-los. Deve ser dado um cuidado significativo à concepção e implementação de estruturas de banco de dados para vários instrumentos financeiros. Vamos discutir a situação ao longo de quando chegarmos a construir um banco de dados mestre de valores mobiliários em futuros artigos. Frequê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 são frequentemente suficientes. Para estratégias de alta freqüência, talvez seja necessário obter dados de nível de tiquetaque e até cópias históricas de determinados dados do livro de pedidos de troca de negócios. Implementar um mecanismo de armazenamento para este tipo de dados é muito tecnicamente intensivo e só é adequado para aqueles que possuem um sólido cenário técnico de programação. Pontos de referência - As estratégias descritas acima serão comparadas com um benchmark. Isso geralmente se manifesta como uma série de tempo financeiro adicional. Para as ações, isso geralmente é uma referência de estoque nacional, como o índice SP500 (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, a taxa de juros adequada) também é outra referência amplamente aceita. Todas as categorias de classe de ativos possuem uma referência preferencial, por isso será necessário pesquisar isso com base em sua estratégia específica, se desejar ganhar 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 apenas pode arranhar a superfície sobre o que está envolvido na construção de um. No entanto, ele se centra em torno de um mecanismo de banco de dados, como um Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS), como MySQL, SQL Server, Oracle ou um Document Storage Engine (ou seja, NoSQL). Isso é acessado através do código de aplicativo de lógica comercial 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 está escrita em C, C, Java ou Python. Você também precisará hospedar esses dados em algum lugar, seja em seu próprio computador pessoal, seja remotamente através de servidores de internet. Produtos como o Amazon Web Services tornaram isso mais simples e barato nos últimos anos, mas ainda exigirá conhecimentos técnicos significativos para alcançar de forma robusta. Como pode ser visto, uma vez que uma estratégia tenha sido identificada através 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 que é necessário rejeitar uma estratégia baseada unicamente em considerações de dados históricos. Esta é uma grande área e equipes de doutorados trabalham em grandes fundos garantindo que os preços sejam precisos e oportunos. Do not underestimate the difficulties of creating a robust data centre for your backtesting purposes I do want to say, however, that many backtesting platforms can provide this data for you automatically - at a cost. Thus it will take much of the implementation pain away from you, and you can concentrate purely on strategy implementation and optimisation. Tools like TradeStation possess this capability. However, my personal view is to implement as much as possible internally and avoid outsourcing parts of the stack to software vendors. I prefer higher frequency strategies due to their more attractive Sharpe ratios, but they are often tightly coupled to the technology stack, where advanced optimisation is critical. Now that we have discussed the issues surrounding historical data it is time to begin implementing our strategies in a backtesting engine. This will be the subject of other articles, as it is an equally large area of discussionSlideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. Se continuar a navegar no site, você concorda com o uso de cookies neste site. Veja o nosso Contrato de Usuário e Política de Privacidade. O Slideshare usa cookies para melhorar a funcionalidade e o desempenho, e fornecer publicidade relevante. Se continuar a navegar no site, você concorda com o uso de cookies neste site. Consulte nossa Política de Privacidade e Contrato de Usuário para obter detalhes. Explore all your favorite topics in the SlideShare app Get the SlideShare app to Save for Later even offline Continue to the mobile site Upload Login Signup Double tap to zoom out How to build a trading system Share this SlideShare LinkedIn Corporation copy 2017

No comments:

Post a Comment