Thursday 16 November 2017

Ponderado Em Movimento Média Python


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 eficiente 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, quer como uma lista ou como um dict classificado por grupo (por exemplo, Estudos de Sobreposição, Indicadores de Momentum, etc.): Grupos de FunçõesMoving Average Crossover System with RSI Filter Chances de sucesso por não se tornar excessivamente curva-ajuste. No entanto, adicionar um filtro simples a um sistema robusto pode ser uma ótima maneira de melhorar sua lucratividade, desde que você também analise como pode alterar quaisquer riscos ou preconceitos incorporados ao sistema. O Sistema de Crossover Médio Móvel com Filtro RSI é um excelente exemplo disto. Sobre o sistema Este sistema usa o SMA de 30 unidades para a média rápida eo SMA de 100 unidades para a média lenta. Porque a sua média de movimento rápido é um pouco mais lento do que o SPY 10100 Long Only Moving Average Crossover System. Deve gerar menos sinais comerciais totais. Será interessante ver se isso leva a uma maior taxa de vitória. O sistema também usa o indicador RSI como um filtro. Isso é projetado para manter o sistema fora dos comércios em mercados que não estão tendendo, o que também deve levar a uma maior taxa de vitória. O sistema entra numa posição longa quando o SMA de 30 unidades cruza acima do SMA de 100 unidades se o RSI está acima de 50. Ele entra numa posição curta quando o SMA de 30 unidades cruza abaixo do SMA de 100 unidades se o RSI for inferior a 50. O sistema sai Uma posição longa se o SMA de 30 unidades voltar atrás abaixo do SMA de 100 unidades, ou se o RSI cai abaixo de 30. Sai de uma posição curta se o SMA de 30 unidades retroceder acima do SMA de 100 unidades ou se o RSI sobe acima de 70. Ele também implementa uma parada de arrasto que se baseia na volatilidade do mercado e estabelece uma parada inicial na mais recente baixa para uma posição longa ou a mais recente alta para uma posição curta. SMA RSI gt 50 30 unidade SMA cruza abaixo de 100 unidades SMA RSI lt 50 30 unidade SMA cruza abaixo de 100 unidades SMA, ou RSI cai abaixo 30 ou Trailing Stop é atingido, ou Stop inicial é atingido Exit Short Quando: 30 unidades SMA cruzam acima da unidade 100 SMA, ou RSI sobe acima de 70, ou Trailing Stop é atingido, ou Stop inicial é atingido Backtesting Resultados O backtesting resultados I Encontrado para este sistema foram do Euro versus dólar EU mercado de 2004 a 2011 usando um período de tempo diário. Durante esses sete anos, o sistema só fez 14 comércios, então definitivamente filtrou uma grande parte da ação. A questão é se filtrou ou não os bons negócios ou os maus. Desses 14 comércios, oito foram vencedores e seis foram perdedores. Isso dá ao sistema uma taxa de 57 vitórias, que sabemos que pode ser negociado com muito sucesso desde que a taxa de lucro também é forte. Backtesting relatórios para sistemas de Forex usar um stat chamado lucro fator. Este número é calculado dividindo o lucro bruto pela perda bruta. Isso nos dá o lucro médio que podemos esperar por unidade de risco. Os resultados deste relatório de backtesting deram a este sistema um fator de lucro de 3,61. Isso significa que, a longo prazo, esse sistema proporcionará retornos positivos. Para um ponto de comparação, o Sistema de Crossover Médio de Movimento Triplo teve apenas um fator de lucro de 1,10, então o Sistema de Crossover de Média Móvel com RSI provavelmente será três vezes mais rentável. Isso significa que usar um número maior para a média rápida de movimentação e adicionar o filtro RSI deve estar filtrando alguns dos comércios menos produtivos. Esses números são ainda suportados pelo fato de que o lucro médio foi pouco mais de duas vezes maior do que a perda média. No entanto, apesar dessas razões positivas, o sistema sofreu uma redução máxima de quase 40. Tamanho da amostra O fato de que este sistema dá tão poucos sinais é tanto sua maior força quanto sua maior fraqueza. Colocar menos negócios e mantê-los por períodos mais longos impedirá que os custos de transação se tornem um fator. No entanto, a análise de 14 operações que ocorreram ao longo de sete anos poderia levar os resultados a ser distorcida devido ao pequeno tamanho da amostra. Estou curioso como este sistema teria realizado se fosse negociado em uma dúzia de diferentes pares de moedas durante o mesmo período de tempo. Além disso, como teria se realizado se o backtest regressou 50 anos ou testou o sistema em índices de ações ou commodities. Existem estatísticas claramente positivas para justificar uma maior exploração deste sistema, mas seria tolice negociar dinheiro real com base nos resultados de 14 negócios. Exemplo de Negociação Um exemplo deste sistema em funcionamento pode ser visto no gráfico atual do FXI. Por volta de 18 de março deste ano, a SMA de 30 dias cruzou abaixo da SMA de 100 dias. Naquela época, o RSI também estava abaixo de 50. Isso teria desencadeado uma posição curta em algum lugar logo abaixo de 36. A parada inicial provavelmente teria sido colocada acima da recente alta em 38. Em meados de abril, o preço caiu para 34 e Nós teríamos estado sentando-se em um lucro agradável. O preço, em seguida, recuperou quase acionar a nossa paragem inicial em 38 no início de maio antes de bater quase todo o caminho até 30 no final de junho. Desde então tem saltado de volta para a gama 34. Em nenhum momento durante qualquer uma dessas ações, a SMA de 30 dias retornou acima da SMA de 100 dias e a RSI permaneceu abaixo de 70. Portanto, nenhuma delas teria desencadeado uma saída. Enquanto o preço veio perto de nossa parada inicial, não bastante chegar lá, de modo que teria mantido-nos no comércio bem. A única coisa que poderia ter causado uma saída teria sido a parada de arrasto, o que teria dependido de quanta volatilidade nós o definimos para permitir. Ainda é cedo para dizer se queremos ter sido interrompido ou não. Sobre o Indicador RSI O indicador RSI foi desenvolvido por J. Welles Wilder e foi apresentado em seu livro de 1978, New Concepts in Technical Trading Systems. É um indicador de momentum que oscila entre zero e 100, indicando a velocidade e mudança de preço. Muitos comerciantes de momentum usam RSI como um overboughtoversold indicador. O RSI é calculado primeiro calculando RS, que é o ganho médio dos últimos n períodos divididos pela perda média dos últimos n períodos. O valor de n é geralmente de 14 dias. RS (Ganho Médio) (Perda Média) Uma vez que RS é calculado, a seguinte equação é usada para fazer esse valor em um indicador oscilante: RSI 100 8211 100 (1 RS) Isto nos dará um valor entre zero e 100. Qualquer valor acima 70 é geralmente considerado sobre-comprado, e qualquer valor abaixo de 30 é considerado sobrevendido. No entanto, uma vez que este sistema é um sistema de tendência seguinte, overbought e oversold não têm suas conotações negativas habituais. Quando se utiliza um m. a. Estratégia que você tomar em consideração a taxa de juros da moeda também .. você usa o dólar como sua moeda base Eu tenho negociado ações antes, mas nunca forex, e eu estou tentando construir algo com python, um forex usando um 8gt20 long8lt20 curto , Mas ainda estou me perguntando se eu preciso incorporar a taxa de juros de cada moeda na análise para o pampl. Obrigado pelo seu tempo Jorge Medellin jormoriagmail PS. Eu sei que o jokey é tão importante quanto o cavalo, então neste caso EU SOU SIGNIFICADO FOREX como moedas, em oposição a futuros ou contratos de forwards. Obrigado pela sua nota. A taxa de juros bruta em si não é o importante. Somos, afinal, pares de negociação. A moeda forte será aquela com a maior expectativa de aumento das taxas de juros. Eu não prestei atenção às taxas de juros muito, pelo menos não no momento. Os comerciantes se preocupam muito mais com a flexibilização quantitativa do que a taxa de juros no momento. QE é muito mais importante e perigoso. O que é a UNIDADE de SMA 30 unidade SMA 100 unidade SMA Você significou que é Período de Movimento Simples Médio Qualquer outro Sim, it8217s o SMA Período. O primeiro período SMA é 10. O segundo período SMA é 100. Quando eles cruzam, você recebe um sinal se o RSI está acima de 50. Oi Shaun, gostaria de começar por agradecer-lhe para o seu blog muito informativo e artigos. Espero poder ajudar outros comerciantes no futuro como você faz. Eu construí e usei um indicador de momentum filtrado como um filtro em outras estratégias em uma conta demo. Eu não considerei usar o RSI desde que eu não gosto de usar indicadores que mostram basicamente a mesma coisa (a maioria de indicadores refletem o momentum de uma maneira ou de outra quando outro não tiverem nenhuma explicação racional). No entanto, depois de ler o seu artigo acima, eu substituído meu indicador de impulso com o RSI. Os resultados são verdadeiramente promissores com muito menos Whipsaw em comparação. Vou tentar encontrar o tempo para escrever um EA e backtest a estratégia. Por que você acha que houve uma enorme redução Isso é inerente à estratégia de cruzamento MA Ou é causado pelo RSI Mais do que provável it8217s ambos. Eu pessoalmente não gosto do RSI. Certifique-se de fazer uma comparação de média móvel para você no Quantilator, também. Bem-vindo a Statsmodels8217s Documentação statsmodels é um módulo Python que fornece classes e funções para a estimativa de muitos modelos estatísticos diferentes, bem como para a realização de testes estatísticos e exploração de dados estatísticos. Uma extensa lista de estatísticas de resultados está disponível para cada estimador. Os resultados são testados contra pacotes estatísticos existentes para garantir que eles estejam corretos. O pacote é liberado sob a licença open source Modified BSD (3 cláusulas). A documentação on-line está hospedada no sourceforge. Exemplos mínimos Desde a versão 0.5.0 do statsmodels. Você pode usar fórmulas R-estilo juntamente com quadros de dados pandas para caber seus modelos. Aqui está um exemplo simples usando mínimos quadrados comuns: Você também pode usar arrays numpy em vez de fórmulas: Dê uma olhada em dir (resultados) para ver os resultados disponíveis. Os atributos são descritos em results. doc e os métodos de resultados possuem suas próprias docstrings. Documentação Básica Informações sobre a estrutura eo desenvolvimento de modelos de estatísticas:

No comments:

Post a Comment