Thursday 20 July 2017

Exponencial Moving Average Numpy


Este é um wrapper Python para TA-LIB com base em Cython em vez de SWIG. Na página inicial: a TA-Lib é amplamente utilizada pelos desenvolvedores de software que exigem a análise técnica dos dados do mercado financeiro. Inclui 150 indicadores como ADX, MACD, RSI, estocástico, Bandas Bollinger, etc. Reconhecimento de padrão de castiçal API de fonte aberta para CC, Java, Perl, Python e 100 Managed. NET. As ligações originais de Python usam SWIG que, infelizmente, são difíceis de instalar. E não são tão eficientes quanto poderiam ser. Portanto, este projeto usa Cython e Numpy para se conectar de forma eficiente e limpa a TA-Lib - produzindo resultados 2-4 vezes mais rápido do que a interface SWIG. Instale o TA-Lib ou Leia os Documentos Semelhantes ao TA-Lib, a interface da função fornece um invólucro leve dos indicadores expostos do TA-Lib. Cada função retorna uma matriz de saída e tem valores padrão para seus parâmetros, a menos que especificado como argumentos de palavras-chave. Normalmente, essas funções terão um período de lookback inicial (um número necessário de observações antes que uma saída seja gerada) configurado para NaN. Todos os exemplos a seguir usam a função API: Calcule uma média móvel simples dos preços de fechamento: Cálculo de bandas de bollinger, com média móvel exponencial tripla: Cálculo do momento dos preços de fechamento, com um período de tempo de 5: Inicialização da API Resumo Se você estiver Já familiarizado com o uso da função API, você deve se sentir em casa usando a API abstrata. Cada função leva a mesma entrada, passada como um dicionário de matrizes Numpy: as funções podem ser importadas diretamente ou instanciadas pelo nome: a partir daí, as funções de chamada são basicamente as mesmas que a função API: Saiba mais sobre o uso mais avançado do TA-Lib aqui . Indicadores suportados Podemos mostrar todas as funções de TA suportadas pelo TA-Lib, seja como uma lista ou como um ordenado por grupo (por exemplo, Estudos de sobreposição, Indicadores de Momentum, etc.): Grupos de FunçõesMensagem híbrida de Monte-Carlo Este é um tutorial avançado, que Mostra como se pode implementar uma amostragem Hybrid Monte-Carlo (HMC) utilizando Theano. Assumimos que o leitor já está familiarizado com os modelos Theano e baseados em energia, como o RBM. O código para esta seção está disponível para download aqui. O aprendizado de máxima probabilidade de modelos baseados em energia requer um algoritmo robusto para amostrar partículas de fase negativas (veja a Equação (4) do tutorial de Máquinas Boltzmann Restritas (RBM). Ao treinar RBMs com CD ou PCD, isso geralmente é feito com amostragem de bloco Gibbs, onde as distribuições condicionais e são usadas como operadores de transição da cadeia de Markov. Em certos casos, no entanto, essas distribuições condicionais podem ser difíceis de provar (isto é, exigindo inversões de matriz caras, como no caso da RBM8221 de co-variação de 8220). Além disso, mesmo que a amostragem de Gibbs possa ser feita de forma eficiente, ela ainda opera através de uma caminhada aleatória que pode não ser estatisticamente eficiente para algumas distribuições. Neste contexto, e quando a amostragem de variáveis ​​contínuas, Hybrid Monte Carlo (HMC) pode ser uma ferramenta poderosa Duane87. Ele evita o comportamento de caminhada aleatória, simulando um sistema físico governado por dinâmicas Hamiltonianas, potencialmente evitando distribuições condicionadas complicadas no processo. Na HMC, as amostras do modelo são obtidas simulando um sistema físico, onde as partículas se movem em torno de uma paisagem de alta dimensão, sujeita a potenciais e energias cinéticas. Adaptando a notação de Neal93. As partículas são caracterizadas por um vetor de posição ou vetor de estado e velocidade. O estado combinado de uma partícula é denotado como. O hamiltoniano é então definido como a soma de energia potencial (mesma função de energia definida por modelos baseados em energia) e energia cinética, como segue: Algoritmo Leap-Frog Na prática, não podemos simular a dinâmica hamiltoniana exatamente por causa do problema da discretização do tempo . Existem várias maneiras de fazer isso. Para manter a invariância da cadeia de Markov, porém, deve-se ter cuidado para preservar as propriedades de conservação do volume e reversibilidade do tempo. O algoritmo salto-sapo mantém essas propriedades e opera em 3 etapas: na prática, o uso de passos finitos não irá preservar exatamente e introduzirá viés na simulação. Além disso, os erros de arredondamento devido ao uso de números de ponto flutuante significam que a transformação acima não será perfeitamente reversível. Neste tutorial, obtemos uma nova amostra da HMC da seguinte maneira: Implementando a HMC Usando Theano In Theano, os dicionários de atualização e as variáveis ​​compartilhadas fornecem uma maneira natural de implementar um algoritmo de amostragem. O estado atual do amostrador pode ser representado como uma variável compartilhada Theano, com as atualizações da HMC sendo implementadas pela lista de atualizações de uma função Theano. Nós dividimos o algoritmo HMC nos seguintes subcomponentes:

No comments:

Post a Comment