Saturday 9 December 2017

Moving average quantopian


Existem vários indicadores e modelos matemáticos que são amplamente aceitos e utilizados por algum software de negociação (mesmo o MetaStock), como MAMA, Hilbert Transform, Fisher Transform (como substitutos da FFT), Homodyne Discriminator, Hilbert Sine Wave, Instant Trendline, etc. inventados Por John Ehler. Mas é isso. Nunca ouvi falar de ninguém além de John Ehler estudando nesta área. Você acha que vale a pena aprender o processamento do sinal digital. Afinal, cada transação é um sinal e os gráficos de barras são uma forma um tanto filtrada desses sinais. Faz sentido pedir 15 de fevereiro 11 às 20:46 As ondas são apenas uma forma de decomposição de base. As ondulações, em particular, se decompõem tanto na freqüência quanto no tempo e, portanto, são mais úteis do que fourier ou outras decomposições baseadas em pura pureza. Existem outras decomposições de tempo-freq (por exemplo, o HHT), que também devem ser exploradas. A decomposição de uma série de preços é útil na compreensão do movimento primário dentro de uma série. Em geral, com uma decomposição, o sinal original é a soma de seus componentes base (potencialmente com algum multiplicador de escala). Os componentes variam desde a menor freqüência (uma linha direta até a amostra) até a maior freqüência, uma curva que oscila com uma freqüência máxima aproximando-se de N 2. Como isso é útil, denota uma série que determina o componente principal do movimento na série que determina Pivôs O Denoising é realizado recompondo a série resumindo os componentes da decomposição, menos os últimos componentes de alta freqüência. Esta série desmantelada (ou filtrada), se bem escolhida, muitas vezes dá uma visão sobre o processo de preço do núcleo. Supondo a continuação na mesma direção, pode ser usado para extropolar por um curto período de tempo. À medida que os timeseries toquem em tempo real, pode-se observar como o processo de preço desativado (ou filtragem) muda para determinar se um movimento de preços em uma direção diferente é significante ou apenas ruído. Uma das chaves, porém, é determinar quantos níveis de decomposição se recompor em qualquer situação. Poucos níveis (baixo freq) significarão que a série de preços recomposta responde muito devagar aos eventos. Muitos níveis (alta freqüência) significarão para uma resposta rápida, mas. Talvez muito barulho em alguns regimes de preços. Dado que o mercado muda entre movimentos laterais e movimentos momentâneos, um processo de filtragem precisa se ajustar ao regime, tornando-se mais ou menos sensível aos movimentos na projeção de uma curva. Há muitas maneiras de avaliar isso, como se olhe para o poder da série filtrada em relação ao poder da série de preços brutos, visando um determinado regime dependente. Supondo que um tenha empregado com sucesso wavelet ou outras decomposições para produzir um sinal suave e apropriadamente reativo, pode tomar a derivada e usar para detectar mínimos e máximos à medida que a série de preços progride. É preciso uma base que tenha um bom comportamento no ponto final para que a inclinação da curva no ponto final projeta em uma direção apropriada. A base precisa fornecer resultados consistentes no ponto final, à medida que os sinais horários e não são posicionados positivamente. Infelizmente, não tenho conhecimento de nenhuma base wavelet que evite os problemas acima. Existem algumas outras bases que podem ser escolhidas para melhorar. Conclusão Se você deseja buscar Wavelets e criar regras comerciais em torno deles, espere fazer muita pesquisa. Você também pode achar que embora o conceito seja bom, você precisará explorar outras bases de decomposição para obter o comportamento desejado. Eu não uso decomposições para decisões comerciais, mas eu as achei úteis para determinar o regime de mercado e outras medidas de atraso. Você precisa investigar como diferenciar métodos de interpolação versus métodos de extrapolação. É fácil construir um modelo que repita o passado (quase qualquer esquema de interpolação fará o truque). O problema é que esse modelo geralmente não tem valor quando se trata de extrapolar para o futuro. Quando você repete a palavra ciclos, uma bandeira vermelha deveria estar subindo. Dig na aplicação de Fourier Integral, Série de Fourier, Transformada de Fourier, etc., e você achará que, com frequências suficientes, você pode representar qualquer série de tempo bem o suficiente para que a maioria dos comerciantes de varejo possa estar convencido de que funciona. O problema é que ele não possui nenhum poder preditivo. A razão pela qual os métodos de Fourier são úteis na engenharia do SDP é porque esse sinal (tensão, corrente, temperatura, independentemente) geralmente se repete na máquina de circuito onde foi gerada. Como resultado, a interpolação, em seguida, torna-se relacionada à extrapolação. No caso de você estar usando R, heres algum código hacky para tentar: Eu encontrei John Ehlers Fisher Transform bastante útil como um indicador na negociação de futuros, particularmente em gráficos de tiques Heikin-Ashi. Eu confio nisso para a minha estratégia, mas eu não acho que seja confiável o suficiente para basear um sistema automático inteiro por conta própria, porque não provou ser confiável durante os dias agitados, mas pode ser bastante útil em dias de tendência como hoje. (Tenho prazer em publicar um gráfico para ilustrar, mas não tenho a reputação necessária) respondeu 22 de março às 20: 47Picking The Right Algorithmic Trading Software Ao usar o comércio algorítmico. Os comerciantes confiam no seu dinheiro suado para o software de negociação que eles usam. O software certo é muito importante para assegurar a execução efetiva e precisa dos pedidos comerciais. O software defeituoso, ou um sem os recursos necessários, pode levar a grandes perdas. Este artigo analisa as principais coisas a considerar para escolher o software certo para negociação algorítmica. (Para mais, veja: Basics of Algorithmic Trading: conceitos e exemplos.) Um Quick Primer to Algorithmic Trading Um algoritmo é definido como um conjunto específico de instruções passo a passo para completar uma tarefa específica. Seja o jogo de computador simples, ainda que viciante, como o Pac-Man ou uma planilha que oferece grande número de funções, cada programa segue um conjunto específico de instruções com base em um algoritmo subjacente. O comércio algorítmico é o processo de usar um programa de computador que segue um conjunto definido de instruções para colocar uma ordem comercial. O objetivo do programa de negociação algorítmica é identificar dinamicamente oportunidades rentáveis ​​e colocar os negócios para gerar lucros a uma velocidade e freqüência que é impossível combinar por um comerciante humano. Dadas as vantagens de maior precisão e velocidade de execução relâmpago, as atividades comerciais baseadas em algoritmos computacionais ganharam enorme popularidade. (Para mais informações, consulte: Prós e contras de sistemas de negociação automatizados.) Quem usa software de negociação algorítmica A negociação algorítmica é dominada por grandes empresas comerciais, como fundos de hedge. Bancos de investimento e empresas comerciais de propriedade. Dada a abundante disponibilidade de recursos devido ao seu grande tamanho, essas empresas costumam construir seu próprio software de negociação proprietário, incluindo grandes sistemas de negociação com centros de dados dedicados e equipe de suporte. Em um nível individual, comerciantes proprietários experientes e quants usam negociação algorítmica. Os comerciantes proprietários, que são menos conhecedores de tecnologia, podem comprar software de negociação readymade para suas necessidades de negociação algorítmica. O software é oferecido por seus corretores ou comprado de provedores de terceiros. Quants tem um bom conhecimento de negociação e programação de computadores, e eles desenvolvem softwares de negociação por conta própria. (Para mais, veja: Quants: o que eles fazem e como evoluíram.) Algorithmic Trading Software - Build or Buy Existem duas maneiras de acessar o software de negociação algorítmica: construir ou comprar. A compra de software pronto oferece acesso rápido e atempado, enquanto você cria a sua própria capacidade de flexibilidade para personalizar as suas necessidades. O software de negociação automatizado costuma ser caro e pode estar cheio de lacunas. Que, se ignorado, pode levá-lo a perdas. Os custos elevados podem tirar o potencial de lucro realista do seu empreendimento de negociação algorítmica. Por outro lado, criar software de negociação algorítmica por conta própria leva tempo, esforço e um conhecimento profundo, e ainda pode não ser infalível. O risco envolvido na negociação automática é muito alto, o que pode levar a grandes perdas. Independentemente de se decidir comprar ou construir, torna-se importante conhecer os recursos básicos necessários. Os principais recursos da disponibilidade de software de negociação algorítmica de dados do mercado e da empresa. Todos os algoritmos de negociação são projetados para atuar em dados de mercado em tempo real e cotações de preços. Alguns programas também são personalizados para contabilizar os dados fundamentais da empresa, como os índices EPS e PE. Qualquer software de negociação algorítmica deve ter feed de dados de mercado em tempo real. Bem como um feed de dados da empresa. Ele deve estar disponível como um build-in no sistema ou deve ter uma disposição para integrar facilmente de fontes alternativas. Conectividade a vários mercados: os comerciantes que procuram trabalhar em vários mercados devem ter em atenção que cada troca pode fornecer seu feed de dados em um formato diferente, como TCPIP, Multicast ou um FIX. Seu software deve ser capaz de aceitar feeds de diferentes formatos. Outra opção é ir com fornecedores de dados de terceiros como Bloomberg e Reuters. Que agregam dados de mercado de diferentes trocas e fornecem-no em um formato uniforme para clientes finais. O software de negociação algorítmica deve ser capaz de processar esses feeds agregados conforme necessário. Latência . A menor palavra desta lista é o fator mais importante para o algo-trading. Latência é o tempo de atraso introduzido no movimento de pontos de dados de um aplicativo para o outro. Considere a seguinte sequência de eventos. Demora 0,2 segundos para uma cotação de preço proveniente da troca para o data center (DC) do fornecedor de software, 0,3 segundos do data center para alcançar sua tela de negociação, 0,1 segundo para o seu software de negociação para processar essa cotação recebida, 0,3 segundos para Para analisar e colocar um comércio, 0,2 segundos para a sua ordem comercial para chegar ao seu corretor. 0,3 segundos para o seu corretor encaminhar seu pedido para a troca. Tempo total decorrido 0,2 0,3 0,1 0,3 0,2 0,3 Total 1,4 segundos. No mundo comercial dinâmico de hoje, a cotação do preço original teria mudado várias vezes dentro desse período de 1,4 segundo. Esse atraso poderia fazer ou quebrar seu empreendimento de negociação algorítmica. É preciso manter essa latência ao nível mais baixo possível para garantir que você obtenha as informações mais atualizadas e precisas sem intervalo de tempo. A latência foi reduzida para microssegundos, e todas as tentativas devem ser feitas para mantê-lo o mais baixo possível no sistema comercial. Algumas medidas incluem ter conectividade direta com a troca para obter dados mais rápidos, eliminando o fornecedor no meio, melhorando seu algoritmo de negociação, de modo que leva menos de 0,10.3 0,4 segundos para análise e tomada de decisão ou eliminando o corretor e enviando diretamente negócios Para a troca para economizar 0,2 segundos. Configuração e personalização. A maioria dos softwares de negociação algorítmica oferece algoritmos de comércio embutidos padrão, como aqueles baseados em um crossover da média móvel de 50 dias (MA) com o MA de 200 dias. Um comerciante pode gostar de experimentar mudando para o MA de 20 dias com o MA de 100 dias. A menos que o software ofereça tal personalização de parâmetros, o comerciante pode ser limitado pela funcionalidade fixa incorporada. Seja comprando ou construindo, o software de negociação deve ter um alto grau de personalização e configuração. Funcionalidade para escrever programas personalizados. Matlab, Python, C, JAVA e Perl são as linguagens de programação comuns usadas para escrever software de negociação. A maioria dos softwares comercializados vendidos pelos fornecedores terceirizados oferece a capacidade de escrever seus próprios programas personalizados dentro dele. Isso permite que um comerciante experimente e experimente qualquer conceito comercial que ela desenvolva. O software que oferece codificação na linguagem de programação de sua escolha é obviamente preferido. (Para mais informações, consulte: Codificação de sistemas de negociação: Introdução.) Recurso Backtesting em dados históricos. A simulação de backtesting envolve testar uma estratégia de negociação em dados históricos. Ele avalia a praticidade e lucratividade das estratégias em dados passados, certificando-o para o sucesso (ou falha ou qualquer alteração necessária). Esta função obrigatória também deve ser acompanhada de uma disponibilidade de dados históricos, nos quais o backtesting pode ser realizado. Integração com a Interface de Negociação. O software de negociação algorítmica coloca trades automaticamente com base na ocorrência de um critério desejado. O software deve ter a conectividade necessária para a rede de corretores para colocar o comércio ou uma conectividade direta com a troca para enviar os pedidos comerciais. Integração Plug-in-Play. Um comerciante pode estar usando simultaneamente um terminal Bloomberg para sua análise de preços, um terminal de corretores para fazer negócios e um programa Matlab para análise de tendências. Dependendo das necessidades individuais, o software de negociação algorítmica deve ter integração fácil de plug-n-play e APIs disponíveis em ferramentas de negociação comumente usadas. Isso garante escalabilidade. Bem como a integração. Programação Independente da Plataforma: algumas linguagens de programação precisam de plataformas dedicadas. Por exemplo, certas versões do C podem ser executadas somente em sistemas operacionais selecionados, enquanto o Perl pode ser executado em todos os sistemas operacionais. Ao construir ou comprar software de negociação, deve ser dada preferência ao software de negociação que seja independente de plataforma e suporte linguagens independentes da plataforma. Você nunca sabe como sua negociação evoluirá alguns meses abaixo. As coisas sob o capô. Um ditado comum diz: Mesmo um macaco pode clicar no botão do mouse para fazer uma troca. A dependência de computadores não deve ser cega. É o comerciante que deve entender o que está indo sob o capô. Ao comprar software de negociação, deve-se pedir e levar tempo para passar pela documentação detalhada que mostra a lógica subjacente de um software de negociação algorítmico particular. Evite qualquer software de negociação que seja uma caixa preta completa e que reivindique ser máquina de fazer dinheiro secreto. Ao construir software, seja realista sobre o que você está implementando e seja claro sobre os cenários onde ele pode falhar. Aplique-o cuidadosamente antes de usá-lo com dinheiro real. Onde Começar Todo o software de negociação algorítmico pronto geralmente oferece versões de avaliação de funcionalidade limitada gratuita ou períodos de avaliação limitados com funcionalidades completas. Explore-os na íntegra durante esses testes antes de comprar qualquer coisa. Não esqueça de detalhar a documentação disponível. Para construir um, uma boa fonte gratuita para explorar a negociação algorítmica é Quantopian. Ele oferece uma plataforma on-line para testar e desenvolver comércio algorítmico. Os indivíduos podem tentar personalizar qualquer algoritmo existente ou escrever um completamente novo. A plataforma também oferece software de negociação algorítmica embutido para ser testado em relação aos dados do mercado. O software de negociação algorítmica Bottom Line é caro para comprar e é difícil de construir sozinho. A compra de ready-made oferece acesso rápido e atempado, e a construção própria permite uma flexibilidade total para personalizá-la às suas necessidades. Antes de se aventurar com dinheiro real, é preciso entender completamente a funcionalidade central do software de negociação algorítmica comprado ou construído. A falta de tal pode ser uma perda dispendiosa difícil de recuperar.

No comments:

Post a Comment