Wednesday, 18 October 2017

Moving average data mining


Médias móveis Uma média móvel é um dos indicadores de análise técnica mais flexíveis e mais comumente usados. É altamente popular entre os comerciantes, principalmente devido à sua simplicidade. Ele funciona melhor em um ambiente de tendências. Introdução Nas estatísticas, uma média móvel é simplesmente uma média de um determinado conjunto de dados. No caso de análise técnica, esses dados são na maioria dos casos representados pelos preços de fechamento dos estoques para os dias específicos. No entanto, alguns comerciantes também usam médias separadas para mínimos e máximos diários ou mesmo uma média de valores de ponto médio (que eles calculam ao resumir diariamente o mínimo e o máximo e dividindo por ele dois). No entanto, você pode construir uma média móvel também em um período de tempo mais curto, por exemplo, usando dados diários ou de minutos. Por exemplo, se você quiser fazer uma média móvel de 10 dias, basta adicionar todos os preços de fechamento durante os últimos 10 dias e dividi-lo por 10 (neste caso, é uma média móvel simples). No dia seguinte, fazemos o mesmo, exceto que voltemos os preços nos últimos 10 dias, o que significa que o preço que foi o último em nosso cálculo para o dia anterior não está mais incluído na média de hoje - é substituído por ontem preço. A mudança de dados dessa maneira com cada novo dia de negociação, daí o termo média móvel. O propósito e uso das médias móveis na análise técnica A média móvel é um indicador de tendência. O objetivo é detectar o início de uma tendência, seguir seu progresso, bem como relatar sua reversão se ocorrer. Ao contrário do gráfico, as médias móveis não prevêem o início ou o fim de uma tendência. Eles só confirmam isso, mas apenas algum tempo após a reversão real ocorrer. Isso decorre de sua própria construção, pois esses indicadores são baseados exclusivamente em dados históricos. Os dias menos que uma média móvel contém, mais cedo pode detectar uma inversão de tendências. É devido à quantidade de dados históricos, que influenciam fortemente a média. Uma média móvel de 20 dias gera o sinal de uma reversão de tendência mais cedo do que a média de 50 dias. No entanto, também é verdade que quanto menos dias usamos na computação de médias móveis, mais sinais falsos recebemos. Assim, a maioria dos comerciantes usa uma combinação de várias médias móveis, que devem produzir um sinal ao mesmo tempo, antes que um comerciante abra sua posição no mercado. No entanto, uma média móvel atrasada atrás da tendência não pode ser completamente eliminada. Sinais de negociação Qualquer tipo de média móvel pode ser usado para gerar sinais de compra ou venda e esse processo é muito simples. O software de gráficos traça a média móvel como uma linha diretamente no gráfico de preços. Os sinais são gerados em locais onde os preços cruzam essas linhas. Quando o preço cruza acima da linha média móvel, isso implica o início de uma nova tendência ascendente e, portanto, significa um sinal de compra. Por outro lado, se o preço cruza sob a linha média móvel e o mercado também encerra nesta área, ele sinaliza o início de uma tendência descendente e, portanto, constitui um sinal de venda. Usando médias múltiplas Também podemos optar por usar movimentos múltiplos Médias simultâneas, para eliminar o ruído dos preços e especialmente os sinais falsos (whipsaws), que o uso de uma única média móvel gera. Ao usar múltiplas médias, um sinal de compra ocorre quando a menor das médias cruza acima da média mais longa, e. A média média de 50 dias ultrapassa a média de 200 dias. Por outro lado, um sinal de venda neste caso é gerado quando a média de 50 dias cruza sob a média de 200. Da mesma forma, também podemos usar uma combinação de três médias, e. Uma média de 5 dias, 10 dias e 20 dias. Neste caso, uma tendência ascendente é indicada se a linha média de 5 dias estiver acima da média móvel de 10 dias, enquanto a média de 10 dias ainda está acima da média de 20 dias. Qualquer cruzamento de médias móveis que leva a essa situação é considerado um sinal de compra. Por outro lado, a tendência descendente é indicada pela situação quando a linha média de 5 dias é menor que a média de 10 dias, enquanto a média de 10 dias é menor do que a média de 20 dias. Usando três médias móveis simultaneamente, limita a quantidade de falso Sinais gerados pelo sistema, mas também limita o potencial de lucro, pois esse sistema gera um sinal de negociação somente após a tendência estar firmemente estabelecida no mercado. O sinal de entrada pode ser gerado apenas um curto período de tempo antes da inversão das tendências. Os intervalos de tempo utilizados pelos comerciantes para calcular as médias móveis são bastante diferentes. Por exemplo, os números Fibonacci são muito populares, como o uso de médias de 5 dias, 21 dias e 89 dias. No mercado de futuros, a combinação de 4-, 9 e 18 dias também é muito popular. Prós e contras A razão pela qual as médias móveis foram tão populares é que elas refletem várias regras básicas de negociação. O uso de médias móveis ajuda você a reduzir suas perdas ao deixar seus lucros funcionar. Ao usar médias móveis para gerar sinais de negociação, você sempre troca na direção da tendência do mercado, não contra ela. Além disso, em oposição à análise de padrões de gráfico ou outras técnicas altamente subjetivas, as médias móveis podem ser usadas para gerar sinais de negociação de acordo com regras claras - eliminando assim a subjetividade das decisões comerciais, o que pode ajudar a psique dos comerciantes. No entanto, uma grande desvantagem das médias móveis é que elas funcionam bem apenas quando o mercado está a tendência. Por isso, em períodos de mercados agitados quando os preços flutuam em uma faixa de preço particular, eles não funcionam de forma alguma. Esse período pode facilmente durar mais de um terço do tempo, portanto, confiar em médias móveis sozinho é muito arriscado. Alguns comerciantes, por isso, recomendam combinar médias móveis com um indicador que mede a força de uma tendência, como ADX ou usar médias móveis apenas como um indicador de confirmação para seu sistema comercial. Tipos de médias móveis Os tipos de médias móveis mais utilizados são a média móvel simples (SMA) e a média móvel ponderada exponencialmente (EMA, EWMA). Este tipo de média móvel também é conhecido como média aritmética e representa o tipo de média móvel mais comum e mais comum. Calculamos isso resumindo todos os preços de fechamento de um determinado período, que posteriormente dividimos pelo número de dias no período. No entanto, dois problemas estão associados a este tipo de média: leva em conta apenas os dados incluídos no período selecionado (por exemplo, uma média móvel simples de 10 dias leva em consideração apenas os dados dos últimos 10 dias e simplesmente ignora todos os outros dados Antes deste período). Também é muitas vezes criticado pela alocação de pesos iguais a todos os dados no conjunto de dados (ou seja, em uma média móvel de 10 dias, um preço de 10 dias atrás tem o mesmo peso que o preço de ontem - 10). Muitos comerciantes argumentam que os dados dos últimos dias deveriam ter mais peso do que os dados mais antigos - o que resultaria na redução do atraso das médias na tendência. Esse tipo de média móvel resolve ambos os problemas associados a médias móveis simples. Em primeiro lugar, aloca mais peso em sua computação para dados recentes. Também reflete, em certa medida, todos os dados históricos para o instrumento específico. Esse tipo de média é denominado de acordo com o fato de que os pesos dos dados para o passado diminuem exponencialmente. A inclinação desta diminuição pode ser ajustada às necessidades do comerciante. Imagine que você tenha dados sobre os preços de muitos produtos. Para cada um dos produtos, você grava informações de preços semanais. Clear set obs 200 gen prodid n Cada produto tem um preço médio único de produção genérica (5) 7 Você tem dados sobre preços semanais por 200 semanas. Expandir 200 bysort prodid: gen tn label var t Week Há também algumas variações sazonais gen seasonal .2sin (pit50), bem como uma tendência de tendência de tempo geral tendência genera t.005 A primeira observação não está correlacionada com qualquer coisa gen price prodprice2.5 tendência Rpoisson (10) 10 se t1 substituir preço prodprice2 tendência sazonal .7pricen-1 .3rpoisson (10) 10 se t2 substituir preço tendência de produção sazonal .5pricen-1 .2pricen-2 .3rpoisson (10) 10 se t3 substituir preço tendência de produção sazonal .3pricen-1 .2pricen-2 .2pricen-3 .3rpoisson (10) 10 se t4 substituir a tendência do preço de produção sazonal .3pricen-1 .175pricen-2 .125pricen-3 .1pricen-4 .3rpoisson (10) 10 se tgt4 Criar Uma globabl para armazenar global twograph forv i 16 global twograph (preço da linha t if prodid i) twoway twograph, legenda (off) título (Tendências de preços verdadeiras para os primeiros seis produtos) Agora vamos imaginar que os dados gerados acima são a verdadeira informação de preço que É fundamentalmente inobservável. Em vez disso, você tem várias coleções de dados por semana em preços que variam por algum erro addativo aleatório. Expandir 3 bysort prodid t: gen prodobs n gen pricecollect price rnormal (). 25 No entanto, a informação de preço que você possui tem algumas entradas que 10 incorretamente foram erradas. Gen entryerror rbinomial (1, .1) gen scalarerror rormal () 1 gener priceobs pricecollect (1entryerrorscalarerror) label var priceobs Preço Gravado Além disso, 35 de seus dados de preço nunca foram coletados gen faltando rbinomial (1, .35) drop if missing1 Create Um globabl para armazenar global twograph forv i 16 global twograph (preço da linha t if prodid i amp prodobs1) twoway twograph, legenda (desligado) título (Tendências de preços observadas para os primeiros seis produtos) mantenha t pricesobs prodid entryerror Estou mantendo o erro de entrada no Conjunto de dados como meio de comparação, embora não fosse observado diretamente. A questão é: você pode agora com esses dados bagunçados recuperar dados de preços que são semelhantes ao original. A primeira coisa que devemos explorar é a duplicação de dados gravados. Scatter priceobs t if prodid 1, title (É fácil ver desvios individuais) É fácil ver desvios individuais, mas não queremos passar por todos os 200 produtos para identificar valores-limite de preço individualmente. Queremos criar um sistema para identificar outliers. Permite gerar uma média por produto e por tempo de produção: média de prêmio egen (priceobs) Permite sinalizar qualquer observação que seja 120 maior do que a média ou 80 inferior à média. Gen flag (pricemean gt priceobs1.2 pricemean lt pricesobs.8) Vamos ver como ele está funcionando: dois (scatter priceobs t if prodid 1) (scatter priceobs t if prodid 1 amp flag1. Msymbol (lgx)). Título (alguns dos outliers podem ser identificados apenas olhando a média) legend (off) corr flag entryerror Nossa bandeira está correlacionada com cerca de 45 com os erros de entrada. Isso é bom, mas podemos fazer melhor. Eu proponho que ao invés de usar apenas o significado que nós construímos uma média móvel de preços e ver como cada entrada se desvia da média. O único problema é que o comando de média móvel requer xtset e isso requer apenas uma entrada por período de tempo. Então, eu digo que restabilizamos a variável de tempo e adicionamos como se gravamos em um horário diferente da semana o número de observação. Precisamos gerar prodobs recentemente, uma vez que não sabemos qual observação falta em cada produto. Bysort prodid t: gen prodobs n gen t2 t4 prodobs xtset define o id do painel de dados do painel e o nível da série temporal. Xtset prodid t2 O comando que usamos é tssmooth. Ele é codificado de tal forma que, especificando ma significa média móvel e a janela diz a Stata quantos períodos de tempo contar e em quanto atrasado na aeração móvel. Esse comando pode demorar um pouco. Tssmooth ma mapriceobspriceobs, janela (23 0 23) 23 está em vigor 5 semanas adiante e 5 semanas atrás O 0 diz stata para não incluir-se nessa média A média móvel dois (scatter priceobs t if prodid 1) (mapriceobs t if prodid 1) (linha pricemean t if prodid 1). Título (A média móvel é menos aceitável para outliers) A média móvel é mais estável do que apenas a média do tempo. Vamos tentar sinalizar usando o limite médio móvel drop flag2 gen flag2 (map tickobs gt priceobs1.2 mapriceobs lt priceobs.8) dois (scatter priceobs t if prodid 1) (scatter priceobs t if prodid 1 amp flag21. Msymbol (lgx)). Título (The Moving Average também pode ser útil) legenda (desligado) corr flag2 entryerror Solte nossa queda de dados com sinalização, se flag21 Reduzir para os preços semanais de colapso de nível, por etiqueta (prodid t) var priceobs Preço médio observado para 16 16 global twograph (scatter Preços obtidos se prodid i) twoway twograph, legend (off) título (Tendências de preços observadas para os primeiros seis produtos) Os dados estão muito melhores, mas ainda temos alguns valores indesejados indesejados. Poderíamos aproveitar as tendências dos produtos cruzados para ajudar a identificar os valores atípicos dentro dos preços dos produtos. Por exemplo, a média do preço médio (preços) é um preço reduzido se o prodid 1 prevê o resid1, os preços residuais residuais se estimam se o prodid 2 prevê resid2, os preços residuais residuais aveprice se prodid 3 prevêem resid3, residual twoway (linha resid1 t if prodid 1) (linha Preços se tido 1) (linha resid2 t se prodid 2) (preço da linha t se prodid 2) (linha resid3 t se prodid 3) (preço da linha t se prodid 3). Título (Os resíduos são indicadores claros de outliers) lenda (desligado) Finalmente, deixe-nos soltar observações com resíduos que são maiores que 1,5 desvios-padrão da média. Quais são os preços de preços de importação, se for prévio o valor residual, resíduo residual, restituir bandeira ((residtemp-r (média) gtr (sd) 1,5 residtemp-r (média) drop residualtemp Vamos ver como ele está funcionando: dois (scatter priceobs t Se prodid 2) (scatter priceobs t if prodid 2 amp flag1. Msymbol (lgx)). Title (Agora, apenas tentando remover alguns outliers finais) lenda (off) Ploting product 1 preço relativo a outliers. Global twograph forv i 16 global twograph ( Preços de linha t se prodid i) Finalmente deixando cair os outliers se flag Um gráfico final global twograph forv i 16 global twograph (scatter priceobs t if prodid i) twoway twograph, legend (off) título (Tendências de preços observadas para os primeiros seis produtos) Não Tão limpo como o nosso primeiro gráfico, mas definitivamente melhorado. Exemplo de suavização média geral Este exemplo ilustra como usar a técnica XLMiners Moving Average Smoothing para descobrir tendências em uma série temporal que contém sazonalidade. Na faixa XLMiner, na aplicação de seu modelo ta B, selecione Ajuda - Exemplos. Então ForecastingData Mining Examples. E abra o conjunto de dados de exemplo, Airpass. xlsx. Este conjunto de dados contém os totais mensais dos passageiros das companhias aéreas internacionais de 1949 a 1960. Depois que o conjunto de dados de exemplo for aberto, clique em uma célula no conjunto de dados e, na faixa XLMiner, na guia Time Series, selecione Partition para abrir a caixa de diálogo Time Series Partition Data. Selecione o mês como a variável de tempo e os passageiros como variáveis ​​nos dados da partição. Clique em OK para particionar os dados em Conjuntos de treinamento e validação. (O particionamento é opcional). As técnicas de suavização podem ser executadas em conjuntos de dados não particionados completos.) Clique na planilha DataPartitionTS e, na faixa XLMiner, na guia Série de tempo, selecione Suavização - Média móvel para abrir a caixa de diálogo Suavização média móvel. O mês já foi selecionado como a variável de tempo. Selecione Passageiros como variável selecionada. Uma vez que este conjunto de dados deve incluir alguma sazonalidade (ou seja, o número de passageiros das companhias aéreas aumenta durante os feriados e meses de verão), o valor para o parâmetro Intervalo - peso deve ser o comprimento de um ciclo sazonal (ou seja, 12 meses). Como resultado, digite 12 para Intervalo e selecione Produzir previsão em validação. Clique em OK para aplicar a técnica de suavização ao conjunto de dados particionado. Duas planilhas, MASmoothingOutput e MASmoothingStored. São inseridos imediatamente à direita da planilha DataPartitionTS. Para obter mais informações sobre a planilha MASmoothingStored, consulte a seção Aplicando seu modelo - marcação de novos dados. Clique na planilha MASmoothingOutput. O Time Plot de Vs real. Os gráficos de Previsão (Dados de Treinamento) e (Dados de Validação) mostram que a técnica de Suavização de Mover Motivo não resulta em um bom ajuste, pois o modelo não captura efetivamente a sazonalidade no conjunto de dados. Os meses de verão - onde o número de passageiros da linha aérea são tipicamente altos - parecem estar previstos, e os meses em que o número de passageiros da linha aérea é baixo, o modelo resulta em uma previsão muito alta. Uma previsão média móvel nunca deve ser usada quando o conjunto de dados inclui sazonalidade. Uma alternativa seria realizar uma regressão no modelo e depois aplicar essa técnica aos resíduos. O próximo exemplo não inclui a sazonalidade. Na faixa XLMiner, na guia Aplicar seu modelo, selecione Ajuda - Exemplos. Em seguida, selecione ForecastingData Mining Examples. E abra o conjunto de dados de exemplo Income. xlsx. Este conjunto de dados contém a renda média dos contribuintes por estado. Primeiro, particione o conjunto de dados em Conjuntos de treinamento e validação usando o Ano como a variável de tempo e CA como variáveis ​​nos dados de partição. Clique em OK para aceitar os padrões de particionamento e criar os Conjuntos de Treinamento e Validação. A planilha DataPartitionTS é inserida imediatamente à direita da planilha de Renda. Clique na folha de cálculo DataPartitionTS e, na faixa XLMiner, na guia Time Series, selecione Smoothing - Moving Average para abrir a caixa de diálogo Smoothing média móvel. O ano foi automaticamente selecionado como a variável Time. Selecione CA como a variável Selecionada e, em Opções de saída, selecione Produzir previsão. Clique em OK para executar a técnica de Suavização média móvel. Duas planilhas, MASmoothingOutput e MASmoothingStored. São inseridos à direita da planilha DataPartitionTS. Para obter mais informações sobre a planilha MASmoothingStored, consulte a seção Aplicando seu modelo - marcação de novos dados. Os resultados da técnica de Suavização média móvel neste conjunto de dados indicam um ajuste muito melhor.

No comments:

Post a Comment