Quantmod Bollinger Bands


Estou tendo problemas para testar uma estratégia Bollinger Band em R. A lógica é que eu quero tomar uma posição curta se o Close for maior que a Upper Band e depois feche a posição quando cruza a Média. Eu também quero tomar uma posição longa se o Fechar for menor que a Baixa e feche a posição quando cruza a Média. Até agora, isto é o que eu tenho: as faixas lt - BBands (stockClose, n20, sd2) sig1 lt - Lag (ifelse ((stockClose gtbbandsup), - 1,0)) sig2 lt - Lag (ifelse ((stockClose ltbbandsdn), 1 , 0)) sig3 lt - Lag (ifelse ((stockClose gt bbandsmavg), 1, -1)) sig lt-sig1 sig2 Isto é onde eu estou preso, como eu uso sig3 para obter os resultados desejados. A adição principal a esta função Ligar a versão TTR está no argumento de desenho. Lsquobandsrsquo vai desenhar bandas Bollinger padrão, lsquopercentrsquo vai desenhar Bollinger b e lsquowidthrsquo vai desenhar Bolinger Bands Width. Os dois últimos serão desenhados em novas regiões. Veja bollingerBands em TTR para obter detalhes específicos sobre implementação e referências. Bandas Bollinger serão desenhadas, ou agendadas para serem desenhadas, no gráfico atual. Se draw for percentual ou largura, uma nova figura será adicionada aos números de TA atuais traçados. Um objeto chobTA será retornado silenciosamente. Referências Veja bollingerBands em TTR escrito por Josh Ulrichquantmod Quantitative Financial Modeling amp Trading Framework para R Se houvesse uma área de R que fosse um pouco faltante, era a capacidade de visualizar dados financeiros com ferramentas de gráficos financeiras padrão. Em virtude de nenhum outro pacote implementando isso, quantmod tomou a chamada e tomou uma chance de fornecer uma solução. O que começou com uma única solução de traçabilidade da OHLC tornou-se uma instalação de gráficos altamente configurável e dinâmica a partir da versão 0.3-4, com mais frieza programada para 0,4-0 e além. Por enquanto, dê uma olhada no que está atualmente no local: Gráficos financeiros no quantmod: a maior parte da funcionalidade de gráficos é projetada para ser usada de forma interativa. Os seguintes exemplos devem ser muito fáceis de replicar a partir da linha de comando ou sua escolha GUI pessoal. A execução de um script requer um pouco de cuidado extra, mas agora também é possível. Permite traçar gráficos Apresentando chartSeries chartSeries é a função principal que faz todo o trabalho no quantmod. Cortesia de as. xts pode lidar com qualquer objeto com séries temporais, o que significa objetos R de classe xts. Zoológico. TimeSeries. Está . Ts. Irts. E mais Por padrão, qualquer série que seja. OHLC é traçada como uma série de OHLC. Existe um argumento de tipo que permite ao usuário decidir sobre o estilo a ser renderizado: gráficos de barras tradicionais, velas e cartas de fósforo - velas finas. Obtenha :) - bem como gráficos de linha. A escolha padrão de auto permite que o software decida, as velas onde eles deveriam ser visíveis claramente, alinhadores se muitos pontos estiverem sendo traçados e linhas se a série não for de uma natureza de OHLC. Se você não quiser sempre especificar o tipo para substituir esse comportamento, você pode usar as funções do wrapper na próxima seção ou usar setDefaults a partir do pacote Defaults, legal e útil (disponível no CRAN). O fato de eu escrevê-lo não tem nada a ver com o meu endosso :) gt getSymbols (GS) Goldman OHLC do yahoo 1 GS gt chartSeries (GS) gt observe o estilo de matchstick automático gt bem mudar isso na próxima seção gt, mas por enquanto ele está bem. Gt A funcionalidade básica de gráficos tenta não se afastar muito dos padrões de uso padrão em R. Embora você não consiga usar nenhuma das ferramentas gráficas padrão para exibir gráficos. O autor quantmods oh-so-wise tentou antecipar essa necessidade com funções especiais para compensar essa lacuna. Um rápido passo para trás, para explicar apenas o que está acontecendo nos bastidores dentro do chartSeries pode estar em ordem. O mapa é gerenciado através de um processo de dois passos. Primeiro, os dados são examinados e as decisões básicas sobre como desenhar melhor a série são calculadas. O resultado disso é um objeto interno - referido como um chob (ch art ob ject). Este objeto é então passado para a função de desenho principal (para não ser chamado diretamente) para ser desenhado para a tela. O objetivo da separação é permitir a adição de cartazes de estilo dinâmico mais impressionante, bem como modificações, para ser tão natural quanto possível. Quando as mudanças são feitas no gráfico atual - seja ele adicionando indicadores técnicos ou alterando parâmetros originais, como o estilo do gráfico - o objeto chob armazenado é simplesmente alterado e redessinado sem muita manipulação tediosa de usuários. O objetivo era fazê-lo funcionar sem o esforço extra do usuário - e, em seguida, acabar apenas. Cartografia de atalhos - barChart, lineChart e candleChart. Enquanto chartSeries é a função principal chamada ao desenhar um gráfico no quantmod - de modo algum é a única maneira de fazer algo. Existem funções de invólucro para cada um dos principais tipos de gráficos atualmente disponíveis no quantmod. As funções do wrapper existem para tornar a vida um pouco mais fácil. Gráficos de estilos de barras, as variedades hlc e ohlc estão diretamente disponíveis com barChart. O gráfico de candlestick vem naturalmente através da função wrapperChart wrapper, e as linhas através do nome cripticamente chamado - você adivinhou - lineChart. Não há muito especial sobre essas funções além do óbvio. Na verdade, eles são um dos forros que simplesmente chamam ChartSeries com padrões padrão padrão. Mas eles fazem uma boa adição ao estábulo. Gt primeiro algumas barras de estilo de alto baixo-fechamento, tema monocromático gt barChart (GS, themewhite. mono, bar. typehlc) gt que tal algumas velas, desta vez com cor gt candleChart (GS, multi. colTRUE, themewhite) gt gt e Agora uma linha, com o esquema de cores padrão gt lineChart (GS, line. typeh, TANULL) Como você pode ver, há um pouco de flexibilidade quanto à exibição de suas informações. O que você também notou são os diferentes argumentos para cada uma das chamadas. Bem, agora dê uma olhada no que alguns deles fazem. Argumentos formais: cores, subconjuntos, marcações. O melhor lugar para obter informações completas sobre os argumentos que as funções tomam é na documentação. Mas, por enquanto, dê uma olhada em algumas das opções comuns que você pode mudar. Provavelmente o mais importante do ponto de vista da usabilidade é o subconjunto do argumento. Isso leva uma seqüência baseada em tempo estilo xtsISO8601 e restringe a trama ao intervalo de data e hora especificado. Isso não restringe os dados disponíveis para as funções de análise técnica, apenas restringe o conteúdo desenhado para a tela. Por esta razão, é mais vantajoso usar a quantidade de dados que tenha disponível e, em seguida, fornecer a função chartSeries com o subconjunto que você gostaria de ver. Este subconjunto também é avialable através de uma chamada para zoomChart. Um exemplo, ou três, deve ajudar a esclarecer seu uso. Gt toda a série gt chartSeries (GS) gt agora - um pouco, mas de subconjunto gt (07 de dezembro para a última observação em 08) gt candleChart (GS, subset2007-12 :: 2008) gt sintaxe ligeiramente diferente - após o fato. Gt também mudando a etiquetagem do eixo x gt candleChart (GS, themewhite, typecandles) gt reChart (major. ticksmonths, subsetfirst 16 weeks) Três coisas de nota no último gráfico. Primeiro, foi o uso do reChart para modificar o gráfico original. Isso leva a maioria dos argumentos das chamadas de gráficos originais e permite modificações rápidas em seus gráficos. Seja mudando os temas de cores ou o subconjunto - ele é bastante útil. O segundo item notável é o uso da primeira sintaxe dentro do subconjunto. Isso permite uma expressão ligeiramente mais natural do que você pode estar depois e não exige que você saiba nada sobre as datas ou horas da série. O último item de nota nessa última imagem é o argumento tick. marks. Esta é parte da lista de formulários da função chartSeries original, e é usada para modificar o posicionamento dos rótulos dentro do gráfico. Muitas vezes, o espaçamento escolhido automaticamente - orientado pela função xts axTicksByTime faz um trabalho suficientemente bom - você pode achar desejável personalizar a saída ainda mais. Nesse caso, marcamos os principais tiques com os começos dos meses. Análise técnica e chartSeries Atualizado e pronto para ir são algumas ferramentas fantásticas do pacote TTR de Josh Ulrich. Disponível no CRAN. Agora é possível simplesmente adicionar dezenas de ferramentas de análise técnica para traçar um gráfico com nada mais que um comando simples. Os indicadores atuais do pacote TTR, bem como alguns originários do pacote quantmod são: Todos os itens acima funcionam bem como as funções base TTR nas quais eles chamam. A principal diferença é que a família de chamadas adicionadas não inclui o argumento de dados, pois isso é derivado do gráfico atual. Alguns exemplos irão destacar como construir gráficos com os indicadores internos. Gt getSymbols (GS) Goldman OHLC do yahoo 1 GS gt O argumento TA para chartSeries é uma forma de especificar as chamadas do indicador gt a serem aplicadas no gráfico. Gt NULL significa não desenhar nenhum. Gt gt chartSeries (GS, TANULL) gt Agora, com alguns indicadores aplicados gt gt chartSeries (GS, themewhite, TAaddVo () addBBands () addCCI ()) gt O mesmo resultado pode ser realizado um bit gt de forma mais interativa: gt gt chartSeries (GS () Adicione o volume gt addVo () adicione o volume gt addBBands () adicione Bollinger Bands gt addCCI () adicione o índice do canal de mercadoria Uma das adições mais novas e mais emocionantes para a recente versão do quantmod inclui duas novas ferramentas de gráficos projetadas para tornar a adição de costume Indicadores muito mais rápidos do que anteriormente possível. O primeiro deles é addTA. Esta é uma grande extensão da função addTA anterior, na medida em que agora permite que dados arbitrários sejam desenhados nos gráficos. Atuando como essencialmente um invólucro para seus dados, o único requisito é que os dados tenham o mesmo número de observações que o original, ou sejam de classe xts e as datas estejam dentro do intervalo e escala de datas originais. É possível ter esses novos dados plotados em seu próprio subchart TA (o padrão), ou sobrepostos na série principal. A segunda e potencialmente mais interessante função é novaTA. Esta é a função de esqueleto há muito aguardada para criar indicadores de TA personalizados a serem anexados a qualquer gráfico. Leva o conceito de esqueleto um passo adiante, e cria dinamicamente o código de função necessário para um novo indicador, com base na função que você passou para ele. Essencialmente, um pouco de programação auto-consciente faz com que a adição de novos indicadores seja bastante intuitiva e praticamente indolor. Dadas as suas habilidades de ponta, está na cúspide de experiências. Por sorte, se tudo bem falhar, e o que você obtém não é o que você esperava, você sempre pode modificar o código criado para melhor atender às suas necessidades. Um rápido olhar para adicionar dados de indicadores personalizados e criar um novo indicador a partir do zero. Gt getSymbols (YHOO) Yahoo OHLC do yahoo 1 YHOO gt addTA permite que você adicione indicadores básicos gt aos seus gráficos - mesmo que eles não sejam parte gt do quantmod. Gt gt chartSeries (YHOO, TANULL) gt Em seguida, adicione a mudança de preço Open to Close gt usando a função Quantmod OpCl gt addt (OpCl (YHOO), colblue, typeh) gt Usando newTA é possível criar sua própria função gent gt --- vamos chamá-lo de addOpCl gt gt addOpCl lt - newTA (OpCl, colgreen, typeh) gt gt addOpCl () Mais para vir. Há muito mais a dizer sobre chartSeries e quantmods ferramentas de visualização atuais e futuras, mas por agora é hora de chamá-lo por dia (ou 30) e concluir esta introdução ao traçado em quantmod. As adições futuras neste site e a documentação incluirão mais detalhes sobre interagir com os gráficos - agora e em lançamentos futuros, novas opções de layout e uma possível incursão em ferramentas e técnicas de visualização totalmente novas. Mas, por enquanto, é tudo o que tenho. Este software é escrito e mantido por Jeffrey A. Ryan. Consulte a licença para obter detalhes sobre como copiar e usar. Copyright 2008.

Comments

Popular posts from this blog

Mecânica Trading System Nifty

Relatórios Globais Em Movimento

Mbfx Forex Trading System Download Now Youtube