Este é um wrapper Python para TA-LIB baseado em Cython em vez de SWIG. A partir da homepage: TA-Lib é amplamente utilizado pelos desenvolvedores de software de negociação que exigem a realização de análise técnica de dados do mercado financeiro. Inclui 150 indicadores como ADX, MACD, RSI, estocástico, Bollinger Bands, etc. Reconhecimento de padrão de candlestick API de código aberto para CC, Java, Perl, Python e 100 gerenciados As ligações Python originais usam SWIG que infelizmente são difíceis de instalar e não Tão eficientes quanto poderiam ser. Portanto, este projeto usa Cython e Numpy para se ligar de forma eficiente e limpa a TA-Lib - produzindo resultados 2-4 vezes mais rápido do que a interface SWIG. Instalar o TA-Lib ou Ler os Docs Similar à TA-Lib, a interface de função fornece um invólucro leve dos indicadores TA-Lib expostos. 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 palavra-chave. Normalmente, essas funções terão um período inicial de retorno (um número necessário de observações antes que uma saída seja gerada) definida para NaN. Todos os exemplos a seguir usam a função API: Calcula uma média móvel simples dos preços de fechamento: Cálculo de bandas de bollinger, com média móvel exponencial tripla: Momento de cálculo dos preços de fechamento, com um período de tempo de 5: Já familiarizado com o uso da função API, você deve se sentir em casa usando a API abstrata. Cada função tem a mesma entrada, passada como um dicionário de arrays Numpy: As funções podem ser importadas diretamente ou instanciadas por nome: A partir daí, chamar funções é basicamente o mesmo que a função API: Saiba mais sobre o uso mais avançado de TA-Lib aqui . Indicadores Suportados Podemos mostrar todas as funções TA suportadas pelo TA-Lib, como uma lista ou como um dict classificado por grupo (por exemplo, Estudos de Sobreposição, Indicadores Momentum, etc.): Grupos de Funções O módulo scikits. timeseries não está mais passando pelo desenvolvimento ativo. Há uma excelente lista de bugs que provavelmente não serão corrigidos. O plano é que a funcionalidade principal deste módulo seja implementada em pandas. Se você deseja ver este módulo ao vivo independentemente de pandas, sinta-se livre para bifurcar o código e assumi-lo. O módulo scikits. timeseries fornece classes e funções para manipular, reportar e plotar séries temporais de várias freqüências. O foco está no acesso e manipulação de dados convenientes, ao mesmo tempo em que alavanca a funcionalidade matemática existente em numpy e scipy. Se os seguintes cenários lhe parecerem familiares, então você provavelmente encontrará o módulo scikits. timeseries útil: Compare muitas séries temporais com diferentes faixas de dados (por exemplo, preços de ações) Crie gráficos de eixos com espaçamento inteligente A mensal, tomando o valor médio durante cada mês Trabalho com dados que têm valores em falta Determine o último dia útil do mês anterior quarterteryear para fins de relato Calcular um desvio padrão móvel de forma eficiente Estes são apenas alguns dos cenários que são feitas muito simples com o scikits Módulo. timeseries. DocumentationHybrid Monte-Carlo Sampling Este é um tutorial avançado, que mostra como se pode implementar Hybrid Monte-Carlo (HMC) de amostragem usando Theano. Assumimos que o leitor já está familiarizado com Theano e modelos baseados na energia, como o RBM. O código desta seção está disponível para download aqui. O aprendizado de máxima verossimilhança de modelos baseados em energia requer um algoritmo robusto para amostrar partículas de fase negativa (ver Eq. (4) do tutorial de Máquinas Boltzmann Restritas (RBM)). Ao treinar RBMs com CD ou PCD, isto é tipicamente feito com a amostragem de bloco Gibbs, onde as distribuições condicionais e são usados como os operadores de transição da cadeia de Markov. Em certos casos, contudo, estas distribuições condicionais podem ser difíceis de serem amostradas a partir de (isto é, requerem inversões de matriz dispendiosas, como no caso da 8220 co-variância RBM8221). Além disso, mesmo que a amostragem de Gibbs possa ser efetuada eficientemente, 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, Híbrido Monte Carlo (HMC) pode revelar-se uma ferramenta poderosa Duane87. Ele evita o comportamento randômico aleatório simulando um sistema físico governado pela dinâmica hamiltoniana, evitando potencialmente distribuições condicionais complicadas no processo. Na HMC, as amostras modelo são obtidas simulando um sistema físico, onde as partículas movem-se em torno de uma paisagem de alta dimensionalidade, sujeita a potenciais e energias cinéticas. Adaptando a notação de Neal93. Partículas são caracterizadas por um vector de posição ou vector 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: O algoritmo Leap-Frog Na prática, não podemos simular a dinâmica Hamiltoniana exatamente por causa do problema da discretização temporal . Existem várias maneiras de fazer isso. Para manter a invariância da cadeia de Markov no entanto, deve-se ter cuidado para preservar as propriedades de conservação de volume e reversibilidade temporal. O algoritmo de salto-frog mantém estas propriedades e opera em 3 etapas: Na prática, usando stepizes finitos não preservará exatamente e introduzirá viés na simulação. Além disso, erros de arredondamento devido ao uso de números de ponto flutuante significa 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 Em Theano, dicionários de atualização e variáveis compartilhadas fornecem uma maneira natural de implementar um algoritmo de amostragem. O estado atual do sampler pode ser representado como uma variável compartilhada Theano, com atualizações HMC sendo implementadas pela lista de atualizações de uma função Theano. Dividimos o algoritmo HMC nos seguintes subcomponentes:
No comments:
Post a Comment