Saturday 2 September 2017

Estratégias De Negociação Séries Temporais


Guia do iniciante para análise da série de tempo Nos últimos anos, analisamos várias ferramentas para nos ajudar a identificar padrões de exploração nos preços dos ativos. Em particular, consideramos econometria básica, aprendizagem de máquinas estatísticas e estatísticas bayesianas. Embora essas sejam todas ferramentas modernas para a análise de dados, a grande maioria da modelagem de ativos na indústria ainda faz uso de análises estatísticas de séries temporais. Neste artigo, vamos examinar o que é a análise de séries temporais, delinear seu escopo e aprender como podemos aplicar as técnicas a várias freqüências de dados financeiros. O que é a análise da série de tempo Em primeiro lugar, uma série de tempo é definida como alguma quantidade que é medida sequencialmente no tempo ao longo de algum intervalo. Na sua forma mais ampla, a análise de séries temporais é sobre inferir o que aconteceu com uma série de pontos de dados no passado e tentar prever o que acontecerá com o futuro. No entanto, vamos adotar uma abordagem estatística quantitativa para séries temporais, assumindo que nossas séries temporais são realizações de seqüências de variáveis ​​aleatórias. Ou seja, vamos assumir que existe algum processo gerador subjacente para nossas séries temporais com base em uma ou mais distribuições estatísticas a partir das quais essas variáveis ​​são desenhadas. A análise de séries temporais tenta entender o passado e prever o futuro. Essa seqüência de variáveis ​​aleatórias é conhecida como um processo estocástico discreto (DTSP). Na negociação quantitativa estamos preocupados em tentar ajustar modelos estatísticos a esses DTSPs para inferir relações subjacentes entre séries ou prever valores futuros para gerar sinais de negociação. As séries temporais em geral, incluindo as que estão fora do mundo financeiro, muitas vezes contêm os seguintes recursos: Tendências - Uma tendência é um movimento direcional consistente em uma série temporal. Essas tendências serão deterministas ou estocásticas. O primeiro nos permite fornecer um raciocínio subjacente à tendência, enquanto o último é uma característica aleatória de uma série que provavelmente não seríamos capazes de explicar. As tendências aparecem frequentemente em séries financeiras, particularmente preços de commodities, e muitos fundos de consultoria de commodities Trading (CTA) usam modelos de identificação de tendência sofisticados em seus algoritmos de negociação. Variação sazonal - Muitas séries temporais contêm variação sazonal. Isto é particularmente verdadeiro em séries que representam vendas comerciais ou níveis climáticos. Em finanças quantitativas, muitas vezes vemos variações sazonais em commodities, particularmente aquelas relacionadas a períodos de crescimento ou variação anual de temperatura (como gás natural). Dependência serial - Uma das características mais importantes das séries temporais, particularmente as séries financeiras, é a correlação serial. Isso ocorre quando as observações das séries temporais que estão próximas entre si no tempo tendem a ser correlacionadas. O agrupamento de volatilidade é um aspecto da correlação serial que é particularmente importante na negociação quantitativa. Como podemos aplicar a análise de séries temporais em finanças quantitativas Nosso objetivo, como pesquisadores quantitativos, é identificar tendências, variações sazonais e correlação usando métodos estatísticos de séries temporais e, finalmente, gerar sinais ou filtros de negociação com base em inferências ou previsões. Nossa abordagem será: Prever e prever os valores futuros - Para negociar com sucesso, precisamos prever com precisão os preços dos ativos futuros, pelo menos em um sentido estatístico. Simular séries - Uma vez que identificamos as propriedades estatísticas das séries temporais financeiras, podemos usá-las para gerar simulações de cenários futuros. Isso nos permite estimar o número de negócios, os custos de negociação esperados, o perfil de retorno esperado, o investimento técnico e financeiro necessário na infra-estrutura e, portanto, o perfil de risco e a rentabilidade de uma determinada estratégia ou portfólio. Relações inferentes - A identificação de relações entre séries temporais e outros valores quantitativos nos permite melhorar nossos sinais comerciais através de mecanismos de filtração. Por exemplo, se podemos inferir como o spread em um par de câmbio varia de acordo com o volume do bidask, podemos filtrar quaisquer negociações prospectivas que possam ocorrer em um período em que prevemos um amplo spread para reduzir os custos de transação. Além disso, podemos aplicar testes estatísticos padrão (clássicofrequentista ou bayesiano) a nossos modelos de séries temporais para justificar certos comportamentos, como a mudança de regime nos mercados de ações. Software de análise de séries temporais Até o momento, utilizamos quase exclusivamente o C e o Python para a implementação da nossa estratégia comercial. Ambos os idiomas são ambientes de primeira classe para escrever uma pilha comercial inteira. Ambos contêm muitas bibliotecas e permitem uma construção de ponta a ponta de um sistema comercial exclusivamente dentro desse idioma. Infelizmente, C e Python não possuem extensas bibliotecas estatísticas. Esta é uma das suas deficiências. Por este motivo, estaremos usando o ambiente estatístico R como meio de realizar pesquisas em séries temporais. R é adequado para o trabalho devido à disponibilidade de bibliotecas de séries temporais, métodos estatísticos e capacidades de traçado direto. Aprenderemos R em uma forma de resolução de problemas, pelo que novos comandos e sintaxe serão introduzidos conforme necessário. Felizmente, há muitos tutoriais extremamente úteis para o R availabile na internet e vou apontá-los enquanto passamos pela sequência de artigos de análise de séries temporais. Folheto de Análise da Série Séria QuantStart Os artigos anteriores até à data sobre os temas de aprendizagem estatística, econometria e análises bayesianas têm sido principalmente de natureza introdutória e não foram consideradas aplicações de tais técnicas para informações de preços modernas e de alta freqüência. Para aplicar algumas das técnicas acima para dados de freqüência mais alta, precisamos de um quadro matemático para unificar nossa pesquisa. A análise de séries temporais fornece essa unificação e nos permite discutir modelos separados dentro de uma configuração estatística. Eventualmente, utilizaremos ferramentas bayesianas e técnicas de aprendizado de máquinas, em conjunto com os seguintes métodos, para prever o nível de preços e a direção, agir como filtros e determinar a mudança de regime, ou seja, determinar quando nossas séries temporais mudaram seu comportamento estatístico subjacente. O nosso roteiro da série temporal é o seguinte. Cada um dos tópicos abaixo formará seu próprio artigo ou conjunto de artigos. Uma vez que examinamos esses métodos em profundidade, estaremos em condições de criar alguns modelos modernos sofisticados para examinar dados de alta freqüência. Introdução à Série de Tempo - Este artigo descreve a área de análise de séries temporais, seu escopo e como ele pode ser aplicado a dados financeiros. Correlação - Um aspecto absolutamente fundamental da série de tempo de modelagem é o conceito de correlação em série. Vamos defini-lo e descrever uma das maiores armadilhas da análise de séries temporais, a saber, que a correlação não implica causalidade. Previsão - Nesta seção consideramos o conceito de previsão. Isso está fazendo previsões de direção futura ou nível para uma série de tempo particular e como ela é realizada na prática. Modelos estocásticos - Passamos algum tempo considerando modelos estocásticos no campo do preço de opções no site, nomeadamente com Geometric Brownian Motion e Volatilidade Estocástica. Nós estaremos olhando outros modelos, incluindo o ruído branco e modelos autoregressivos. Regressão - Quando temos tendências deterministas (ao contrário de estocásticas) nos dados, podemos justificar sua extrapolação usando modelos de regressão. Consideraremos a regressão linear e não-linear, e explicaremos a correlação serial. Modelos estacionários - Os modelos estacionários assumem que as propriedades estatísticas (ou seja, a média e variância) das séries são constantes no tempo. Podemos usar modelos de média móvel (MA), bem como combiná-los com modelos autorregressivos para formar modelos ARMA. Modelos não estacionários - Muitas séries temporais financeiras não são estacionárias, ou seja, elas têm variável média e variância. Em particular, os preços dos ativos geralmente têm períodos de alta volatilidade. Para essas séries, precisamos usar modelos não estacionários, como ARIMA, ARCH e GARCH. Modelagem multivariada - Consideramos modelos multivariados no QuantStart no passado, ou seja, quando consideramos pares de ações de reversão média. Nesta seção, definiremos mais rigorosamente a cointegração e analisaremos mais testes para isso. Também consideraremos os modelos vetoriais autorregressivos (VAR) que não devem ser confundidos com Value-in-Risk. Modelos de espaço estadual - State Space Modeling empresta uma longa história de teoria de controle moderna usada na engenharia para nos permitir modelar séries temporais com parâmetros que variam rapidamente (como a variável de inclinação beta entre dois ativos cointegados em uma regressão linear). Em particular, consideraremos o famoso Filtro de Kalman e o Modelo de Markov Oculto. Este será um dos principais usos da análise bayesiana em séries temporais. Como isso se relaciona com outros artigos estatísticos do QuantStart Meu objetivo com o QuantStart sempre foi tentar descrever o quadro matemático e estatístico para análise quantitativa e negociação quantitativa, desde o básico até as técnicas modernas mais avançadas. Até agora, passamos a maior parte do tempo em técnicas introdutórias e intermediárias. No entanto, agora vamos dirigir nossa atenção para as técnicas avançadas recentes utilizadas em empresas quantitativas. Isso não só ajudará aqueles que desejam obter uma carreira na indústria, mas também dará aos comerciantes de varejo quantitativos entre vocês um conjunto de ferramentas muito mais amplo, bem como uma abordagem unificadora para a negociação. Tendo trabalhado anteriormente na indústria, posso afirmar com certeza que uma fração substancial de profissionais de fundos quantitativos usa técnicas muito sofisticadas para buscar alfa. No entanto, muitas dessas empresas são tão grandes que não estão interessadas em estratégias de capacidade restrita, ou seja, aquelas que não são escaláveis ​​acima de 1-2 milhões de dólares. Como varejistas, se podemos aplicar uma estrutura de negociação sofisticada a essas áreas, podemos alcançar a lucratividade a longo prazo. Nós eventualmente combinaremos nossos artigos sobre a análise de séries temporais, com a abordagem bayesiana para teste de hipóteses e seleção de modelo, juntamente com o código C, R e Python otimizado, para produzir modelos de séries temporais não-lineares e não estacionárias que podem trocar em alta - freqüência. Agora que o software QSForex se aproximou da viabilidade para backtesting de alta freqüência de múltiplos pares de moedas, temos uma estrutura pré-fabricada para testar esses modelos, pelo menos nos mercados cambiais. O próximo artigo da série discutirá a correlação e por que é um dos aspectos mais fundamentais da análise de séries temporais. Forecasting Financial Time Series - Parte I Nesta série de artigos, vamos criar um processo estatisticamente robusto para a previsão de séries temporais financeiras . Essas previsões constituirão a base de um grupo de estratégias de negociação automatizadas. O primeiro artigo da série discutirá a abordagem de modelagem e um grupo de algoritmos de classificação que nos permitirão prever a direção do mercado. Dentro desses artigos, iremos fazer uso do scikit-learn. Uma biblioteca de aprendizagem de máquinas para Python. Scikit-learn contém implementações de muitas técnicas de aprendizagem de máquinas. Não só isso nos poupa muito tempo na implementação do nosso próprio, mas minimiza o risco de erros introduzidos pelo nosso próprio código e permite uma verificação adicional em relação a bibliotecas escritas em outros pacotes, como R. Isso nos dá uma grande quantidade de Confiança se precisarmos criar nossa própria implementação personalizada (por razões de velocidade de execução, digamos). Processo para Previsão Uma explicação detalhada do campo da aprendizagem de máquina estatística está além desse artigo. Para utilizar técnicas como Logistic Regression. Análise Discriminante Linear e Análise Discriminante Quadratic, precisamos delinear alguns conceitos básicos. Técnicas de aprendizagem supervisionadas As técnicas de aprendizagem supervisionadas envolvem um conjunto de tuplas conhecidas (xi, yi), i in, com xi representando as variáveis ​​predictoras (como retornos de mercado de ações atrasados ​​ou volume negociado) e yi representando as variáveis ​​de monitoração de resposta associadas (como o estoque Retorno do mercado hoje). Nessa situação, estamos interessados ​​em prever. Dadas as futuras variáveis ​​preditoras, desejamos estimar as respostas desses preditores. Isto é contrário à inferência em que estamos mais interessados ​​na relação entre as variáveis. Todos os algoritmos que utilizamos neste artigo, juntamente com muitos outros que empregaremos no futuro, são do domínio de aprendizagem supervisionado. Medindo Precisão de Previsão A classe particular de métodos que nos interessa envolve classificação binária. Ou seja, tentaremos alocar o retorno de porcentagem para um determinado dia em dois baldes: para cima ou para baixo. Em um previsor de produção, estaríamos muito preocupados com a magnitude dessa previsão e os desvios da predição a partir do valor real. Nesses casos, podemos usar o erro Mean-Squared. Mean Absolute Deviation e Root-Mean-Squared Error para fornecer uma estimativa de precisão de previsão. A literatura fornece muitos outros exemplos de medidas de precisão de previsão. Neste caso, só nos preocuparemos com a taxa de sucesso. Que é simplesmente a porcentagem de vezes que o provisorista alcançou uma previsão precisa (ou seja, quando o dia estava em dia e vice-versa). Em exemplos posteriores, usaremos uma matriz de confusão para determinar o desempenho da previsão em uma classe por classe. Além disso, calcularemos os valores acima mencionados e os incorporaremos ao nosso processo de pesquisa comercial. Fatores de previsão Uma metodologia de previsão é tão boa quanto os fatores escolhidos como preditores. Há um número impressionante de fatores potenciais a serem escolhidos quando prevêem o retorno do índice de mercado de ações. Neste artigo, vamos restringir os fatores aos atrasos de tempo dos retornos percentuais atuais. Isso não é porque eles são os melhores preditores, mas é porque é direto demonstrar o processo de previsão em um conjunto de dados facilmente obtido. A escolha do fator de previsão é extremamente importante, se não o componente mais importante, do pré-programador. Mesmo técnicas simples de aprendizagem de máquina produzirão bons resultados em fatores bem escolhidos. Note que o inverso não é sempre o caso. Lançar um algoritmo em um problema geralmente levará à má precisão de previsão. Para este provisorista especificamente, escolhi o primeiro e o segundo tempo de atraso da porcentagem de retorno como preditores para a direção atual do mercado de ações. Esta é uma escolha relativamente arbitrária e há muitos marcos para modificação, por exemplo, adicionando atrasos adicionais ou o volume de ações negociadas. Geralmente, é melhor ter menos preditores em um modelo, embora haja testes estatísticos disponíveis que possam demonstrar a capacidade preditiva de cada fator. Previsão do SampP500 com Regressão Logística, LDA e QDA O SampP500 é um índice ponderado das 500 maiores empresas de capital aberto (por capitalização de mercado) no mercado de ações dos EUA. Muitas vezes, é considerado uma referência de ações. Existem muitos produtos derivados para permitir a especulação ou cobertura no índice. Em particular, o SampP500 E-Mini Index Futures Contract é um meio extremamente líquido de negociação do índice. Nesta seção, vamos usar três classificadores para prever a direção do preço de fechamento no dia N com base apenas na informação de preços conhecida no dia N-1. Uma movimentação direcional para cima significa que o preço de fechamento em N é maior do que o preço em N-1, enquanto um movimento descendente implica um preço de fechamento em N inferior ao de N-1. Se pudermos determinar a direção do movimento de uma maneira que exceda significativamente uma taxa de sucesso de 50, com baixo erro e uma boa significância estatística, estamos no caminho para formar uma estratégia básica de negociação sistemática com base em nossas previsões. Nesta fase, não se preocupavam com os algoritmos de classificação de aprendizado de máquinas mais atualizados. No momento, apenas apresentávamos conceitos e começámos tão bem a discussão sobre a previsão com alguns métodos elementares. Regressão Logística A primeira técnica que consideramos é a regressão logística (LR). No nosso caso, vamos usar o LR para medir a relação entre uma variável dependente categórica binária (Up ou Down) e variáveis ​​contínuas múltiplas independentes (a porcentagem retardada retorna). O modelo fornece a probabilidade de que um determinado (seguinte) dia seja categorizado como Up ou Down. Nesta implementação, optamos por atribuir cada dia como Up se a probabilidade exceder 0,5. Poderíamos usar um limite diferente, mas, por simplicidade, escolhi 0,5. LR usa a fórmula logística para modelar a probabilidade de obter um Up Day (YU) com base nos fatores de lag (L1, L2): a função logística é usada porque fornece uma probabilidade entre 0,1 para todos os valores de L1 e L2, Ao contrário da regressão linear onde as probabilidades negativas podem ser geradas na mesma configuração. Para ajustar o modelo (ou seja, estimar os coeficientes betai), o método de máxima verossimilhança é usado. Felizmente para nós, a implementação da montagem e previsão do modelo LR é tratada pela biblioteca scikit-learn. Análise de Discriminante Linear A próxima técnica utilizada é a Análise de Discriminação Linear (LDA). LDA difere de LR porque, em LR, modelamos P (YUL1, L2) como uma distribuição condicional da resposta Y dada pelo preditor Li, usando uma função logística. Em LDA, a distribuição das variáveis ​​Li é modelada separadamente, dado Y, e P (YUL1, L2) é obtido através do Teorema de Bayes. Essencialmente, LDA resulta do pressuposto de que preditores são retirados de uma distribuição gaussiana multivariada. Depois de calcular as estimativas para os parâmetros dessa distribuição, os parâmetros podem ser inseridos no teorema de Bayes para fazer previsões sobre a qual classe pertence uma observação. A LDA assume que todas as classes compartilham a mesma matriz de covariância. Não me preocupar com as fórmulas para estimar a distribuição ou as probabilidades posteriores necessárias para fazer previsões, uma vez mais scikit-learn lida com isso para nós. Análise Quadratic Discriminant Análise Quadratic Discriminant (QDA) está intimamente relacionado com LDA. A diferença significativa é que cada classe agora pode possuir sua própria matriz de covariância. O QDA geralmente funciona melhor quando os limites de decisão não são lineares. LDA geralmente funciona melhor quando há menos observações de treinamento (isto é, quando é necessário reduzir a variação). O QDA, por outro lado, funciona bem quando o conjunto de treinamento é grande (ou seja, a variação é menos preocupante). O uso de um ou outro, em última instância, se resume ao compromisso de desvio de tendência. Tal como acontece com LR e LDA, scikit-learn cuida da implementação da QDA, pelo que apenas precisamos fornecer dados de treinamento para estimativa e previsão de parâmetros. Implementação de Python Para a implementação desses previsão, usaremos NumPy. Pandas e scikit-learn. Já escrevi um tutorial sobre como instalar essas bibliotecas. Comentei fortemente o código em si, então deve ser fácil verificar o que está acontecendo. O primeiro passo é importar os módulos e bibliotecas relevantes. Importamos o LogisticRegression. Classificadores LDA e QDA para este provisorista: agora que as bibliotecas são importadas, precisamos criar um DataFrame de pandas que contém os retornos percentuais atrasados ​​para um número anterior de dias (padrão para cinco). O createlaggerieseries terá um símbolo de estoque (conforme reconhecido pelo Yahoo Finance) e crie um DataFrame atrasado ao longo do período especificado: a próxima função auxiliar é projetada para criar uma porcentagem de hitrate para cada modelo, eliminando o código duplicado. Baseia-se no fato de que os objetos Regression Logística, LDA e QDA possuem os mesmos métodos (ajuste e previsão). A taxa de sucesso é enviada para o terminal: Finalmente, nós a amarramos com uma função principal. Neste caso, tentaríamos prever a direção do mercado de ações norte-americano em 2005, usando dados de retorno de 2001 a 2004: a saída do código é a seguinte: pode-se ver que a Regressão Logística e o Analisador Discriminador Linear foram capazes de Ganhe uma taxa de sucesso de 56. No entanto, o Analisador Quadratic Discriminant foi capaz de melhorar em ambos para produzir uma taxa de sucesso de 60. Para o período específico analisado, isso é provável devido ao fato de haver alguma não linearidade na relação entre os fatores retardados e a direção que não está bem capturada na análise linear. Assim, existe a esperança de que possamos prever parcialmente o mercado de ações dos EUA. Existem algumas ressalvas para esta metodologia de previsão: não utilizamos nenhuma forma de validação cruzada para reduzir os erros de montagem. Um provisorista exigiria que essa análise fosse considerada robusta. O pré-mediador só foi treinado em dados entre 2001-2004 inclusive. Os dados mais recentes sobre o mercado de ações podem ter precisão de previsão substancialmente diferente. Nós realmente não tentamos trocar essa informação. Em particular, como é que vamos realmente executar negócios? Utilizaríamos o futuro do e-mini dos Estados Unidos Usaríamos as ordens de mercado aberto (MOO) ou de mercado (MOC) Nós também precisamos considerar os custos de transação. Em artigos subseqüentes, consideramos essas questões em maior profundidade. Um aviso sobre a previsão aleatória Nesta seção, eu quero mostrar o problema da significância estatística quando lidar com os meteorologistas. Além do previsor descrito acima, também gerei uma série de previsão baseada unicamente no sinal de sorteios aleatórios de uma distribuição normal padrão. Note-se que, no mesmo período, produziu uma taxa de acerto de previsão de 53,4 e, no entanto, o método usado para gerar a série é essencialmente não diferente de jogar uma moeda Mantenha isso em mente sempre que você realiza os procedimentos de previsão, pois muitas vezes pode levar a um ataque horrível Desempenho comercial se não for levado em consideração. Nos artigos a seguir, consideramos os classificadores de previsão não-lineares supervisionados mais avançados, como redes neurais artificiais (ANN) e máquinas vetoriais de suporte (SVM). Com um estábulo de técnicas de aprendizado de máquinas à nossa disposição, posteriormente, poderemos usar métodos de conjunto para produzir uma precisão e robustez de previsão que, por vezes, podem exceder as de qualquer pré-visualizador individual. Análise da Série Temática e Arbitragem Estatística G63.2707, Outono de 2009 Como analisamos os dados financeiros históricos para desenvolver estratégias de negociação rentáveis ​​e de baixo risco. Este curso é uma introdução à análise de séries temporais, como usado em finanças e estratégias de negociação relevantes tanto para os participantes do mercado quanto para os vendedores. O curso será dividido em três partes: Modelos lineares: AR e MA para processos escalares e vetoriais, e simples volatilidade e estimativa de covariância. Avaliação do modelo e análise residual. Cointegração e sua aplicação em modelagem de risco e estratégias de negociação de pares. Modelos não-lineares: ARCH, GARCH e modelos de volatilidade mais gerais. Aplicações: microestrutura de mercado, modelagem de custos de transação e estratégias de negociação ótimas tanto para agência quanto para negociação principal. Instrutores Lin Li, ll1084 em nyu Pré-requisitos O curso destina-se a estudantes de segundo ano no Programa MS de Institutos Courant em Matemática em Finanças. Espera-se que esses estudantes tenham uma base excelente em matemática aplicada ao financiamento (cálculo estocástico e PDEs), um histórico razoável em finanças (teoria de portfólio e gerenciamento de riscos) e no computo, mas não necessariamente um conhecimento intensivo de estatísticas. Estudantes com preparação comparável podem se matricular se houver espaço disponível. Cerca de 5 conjuntos de tarefas domésticas (40 no total), um teste (30) e um projeto final (30). Referências Temos uma conta de classe na Wharton Research Data Services. As informações de login serão dadas na aula. Carol Alexander, Modelos de mercado. James D. Hamilton, Análise de séries temporais, Princeton University Press 1994. Joel Hasbrouck, Microstructure do mercado empírico, Oxford University Press 2006 (mais informações na página Hasbroucks). Stephen J. Taylor, Dinâmica de Preços de Ativos, Volatilidade e Previsão, Princeton University Press 2005. Ruey S. Tsay, Análise da Série de Tempo Financeiro, 2ª Edição, Wiley 2005. Os artigos de pesquisa serão disponibilizados conforme necessário. Segunda-feira à noite, das 7h10 às 9h da manhã em Silver 713, de 14 de setembro a 7 ou 14 de dezembro. (Não há feriado de Columbus Day este ano.) O cronograma e o esboço abaixo estão sujeitos a alterações dependendo de como o curso Desenvolve, e sobre as demandas de viagem dos instrutores.

No comments:

Post a Comment