Sunday 13 August 2017

Problema de amostra amostra média


OR-Notes são uma série de notas introdutórias sobre temas que se enquadram no título geral do campo de pesquisa operacional (OR). Eles foram usados ​​originalmente por mim em um curso OR introdutório que eu dou no Imperial College. Eles estão agora disponíveis para uso por qualquer estudante e professor interessado em OU, sujeito às seguintes condições. Uma lista completa dos tópicos disponíveis no OR-Notes pode ser encontrada aqui. Exemplos de previsão Exemplo de previsão 1996 exame UG A demanda por um produto em cada um dos últimos cinco meses é mostrada abaixo. Use uma média móvel de dois meses para gerar uma previsão de demanda no mês 6. Aplique suavização exponencial com uma constante de suavização de 0,9 para gerar uma previsão de demanda por demanda no mês 6. Qual dessas duas previsões você prefere e por que o movimento de dois meses A média dos meses de dois a cinco é dada por: A previsão para o mês seis é apenas a média móvel do mês anterior, ou seja, a média móvel para o mês 5 m 5 2350. Aplicando suavização exponencial com uma constante de suavização de 0,9, obtemos: como antes A previsão para o mês seis é apenas a média para o mês 5 M 5 2386 Para comparar as duas previsões, calculamos o desvio médio quadrado (MSD). Se fizermos isso, encontramos isso para a média móvel de MSD (15 - 19) sup2 (18 - 23) sup2 (21 - 24) sup23 16.67 e para a média exponencialmente suavizada com uma constante de suavização de 0,9 MSD (13 - 17) sup2 (16,60 - 19) sup2 (18,76 - 23) sup2 (22,58 - 24) sup24 10,44 Em geral, verificamos que o alisamento exponencial parece dar as melhores previsões de um mês antes, pois tem um MSD mais baixo. Por isso, preferimos a previsão de 2386 que foi produzida por suavização exponencial. Exemplo de previsão Exercício de 1994 UG A tabela abaixo mostra a demanda por um novo pós-afluxo em uma loja para cada um dos últimos 7 meses. Calcule uma média móvel de dois meses para os meses dois a sete. Qual seria a sua previsão para a demanda no mês oito Aplicar o alisamento exponencial com uma constante de suavização de 0,1 para obter uma previsão da demanda no mês oito. Quais das duas previsões para o mês oito você prefere e por que o dono da loja acredita que os clientes estão mudando para este novo aftershave de outras marcas. Discuta como você pode modelar esse comportamento de comutação e indicar os dados que você precisaria para confirmar se essa mudança está ocorrendo ou não. A média móvel de dois meses para os meses dois a sete é dada por: A previsão para o mês oito é apenas a média móvel do mês anterior, ou seja, a média móvel para o mês 7 m 7 46. Aplicando alisamento exponencial com uma constante de suavização de 0,1 nós Obter: como antes, a previsão para o mês oito é apenas a média do mês 7 M 7 31.11 31 (como não podemos ter demanda fracionada). Para comparar as duas previsões, calculamos o desvio médio quadrado (MSD). Se fizermos isso, encontramos isso para a média móvel e para a média exponencialmente suavizada com uma constante de suavização de 0,1. Em geral, vemos que a média móvel de dois meses parece dar as melhores previsões de um mês antes, pois tem um MSD mais baixo. Portanto, preferimos a previsão de 46 que foi produzida pela média móvel de dois meses. Para examinar a mudança, precisamos usar um modelo de processo Markov, onde as marcas dos estados e nós precisamos de informações de estado inicial e probabilidades de troca de clientes (de pesquisas). Nós precisamos executar o modelo em dados históricos para ver se temos um ajuste entre o modelo eo comportamento histórico. Exemplo de previsão 1992 exame UG A tabela abaixo mostra a demanda por uma determinada marca de navalha em uma loja para cada um dos últimos nove meses. Calcule uma média móvel de três meses nos meses três a nove. Qual seria a sua previsão para a demanda no mês dez Aplicar o alisamento exponencial com uma constante de suavização de 0,3 para obter uma previsão da demanda no mês dez. Qual das duas previsões para o mês dez você prefere e por que a média móvel de três meses para os meses 3 a 9 é dada por: A previsão para o mês 10 é apenas a média móvel do mês anterior, ou seja, a média móvel do mês 9 m 9 20.33. Por isso (como não podemos ter demanda fracionada), a previsão para o mês 10 é de 20. Aplicando suavização exponencial com uma constante de suavização de 0,3, obtemos: como antes, a previsão para o mês 10 é apenas a média para o mês 9 M 9 18,57 19 (como nós Não pode ter demanda fracionada). Para comparar as duas previsões, calculamos o desvio médio quadrado (MSD). Se fizermos isso, encontramos isso para a média móvel e para a média exponencialmente suavizada com uma constante de suavização de 0,3. Em geral, verificamos que a média móvel de três meses parece dar as melhores previsões de um mês antes, pois tem um MSD mais baixo. Portanto, preferimos a previsão de 20 que foi produzida pela média móvel de três meses. Exemplo de previsão exame 1991 UG A tabela abaixo mostra a demanda por uma determinada marca de máquina de fax em uma loja de departamento em cada um dos últimos doze meses. Calcule a média móvel de quatro meses para os meses 4 a 12. Qual seria a sua previsão para a demanda no mês 13 Aplicar o alisamento exponencial com uma constante de suavização de 0,2 para obter uma previsão da demanda no mês 13. Qual das duas previsões para o mês 13 você prefere e por que outros fatores, não considerados nos cálculos acima, podem influenciar a demanda pelo aparelho de fax no mês 13. A média móvel de quatro meses para os meses 4 a 12 é dada por: m 4 (23 19 15 12) 4 17,25 m 5 (27 23 19 15) 4 21 m 6 (30 27 23 19) 4 24,75 m 7 (32 30 27 23) 4 28 m 8 (33 32 30 27) 4 30,5 m 9 (37 33 32 30) 4 33 m 10 (41 37 33 32) 4 35.75 m 11 (49 41 37 33) 4 40 m 12 (58 49 41 37) 4 46,25 A previsão para o mês 13 é apenas a média móvel do mês anterior, ou seja, a média móvel Para o mês 12 m 12 46,25. Por isso (como não podemos ter demanda fracionada), a previsão para o mês 13 é 46. Aplicando suavização exponencial com uma constante de suavização de 0,2 nós obtemos: Como antes, a previsão para o mês 13 é apenas a média para o mês 12 M 12 38.618 39 (como nós Não pode ter demanda fracionada). Para comparar as duas previsões, calculamos o desvio médio quadrado (MSD). Se fizermos isso, encontramos isso para a média móvel e para a média exponencialmente suavizada com uma constante de suavização de 0,2. No geral, verificamos que a média móvel de quatro meses parece dar as melhores previsões de um mês antes, pois tem um MSD mais baixo. Por isso, preferimos a previsão de 46 que foi produzida pela média móvel de quatro meses. Demonstração sazonal da demanda, mudanças de preços, tanto esta marca como outras marcas, situação econômica geral, nova tecnologia. Exemplo de previsão, exame 1989 UG. A tabela abaixo mostra a demanda por uma determinada marca de forno de microondas em uma loja de departamento em cada um dos últimos doze meses. Calcule uma média móvel de seis meses para cada mês. Qual seria a sua previsão para a demanda no mês 13 Aplicar o alisamento exponencial com uma constante de suavização de 0,7 para obter uma previsão da demanda no mês 13. Qual das duas previsões para o mês 13 você prefere e por que agora não podemos calcular um seis Média móvel do mês até que tenhamos pelo menos 6 observações - ou seja, só podemos calcular essa média a partir do mês 6 em diante. Por isso, temos: m 6 (34 32 30 29 31 27) 6 30,50 m 7 (36 34 32 30 29 31) 6 32,00 m 8 (35 36 34 32 30 29) 6 32,67 m 9 (37 35 36 34 32 30) 6 34,00 m 10 (39 37 35 36 34 32) 6 35,50 m 11 (40 39 37 35 36 34) 6 36,83 m 12 (42 40 39 37 35 36) 6 38,17 A previsão para o mês 13 é apenas a média móvel para o Mês antes, ou seja, a média móvel para o mês 12 m 12 38,17. Por isso (como não podemos ter demanda fracionada), a previsão para o mês 13 é de 38. Aplicando suavização exponencial com uma constante de suavização de 0,7, obtemos: Médias móveis ponderadas: Noções básicas Ao longo dos anos, os técnicos encontraram dois problemas com a média móvel simples. O primeiro problema reside no período de tempo da média móvel (MA). A maioria dos analistas técnicos acredita que a ação de preço. O preço das ações de abertura ou fechamento, não é suficiente para depender para prever adequadamente comprar ou vender sinais da ação de cruzamento de MAs. Para resolver este problema, os analistas agora atribuem mais peso aos dados de preços mais recentes usando a média móvel suavemente exponencial (EMA). (Saiba mais em Explorando a média móvel ponderada exponencialmente.) Um exemplo Por exemplo, usando um MA de 10 dias, um analista tomaria o preço de fechamento do 10º dia e multiplicaria esse número por 10, o nono dia por nove, o oitavo Dia por oito e assim por diante para o primeiro do MA. Uma vez que o total foi determinado, o analista dividiria o número pela adição dos multiplicadores. Se você adicionar os multiplicadores do exemplo MA de 10 dias, o número é 55. Este indicador é conhecido como a média móvel linearmente ponderada. (Para leitura relacionada, verifique as Médias móveis simples, faça as tendências se destacarem.) Muitos técnicos são crentes firmes na média móvel suavemente exponencial (EMA). Este indicador foi explicado de muitas maneiras diferentes que confunde estudantes e investidores. Talvez a melhor explicação venha de John J. Murphys Análise Técnica dos Mercados Financeiros (publicado pelo New York Institute of Finance, 1999): a média móvel suavemente exponencial aborda os dois problemas associados à média móvel simples. Primeiro, a média exponencialmente suavizada atribui um peso maior aos dados mais recentes. Portanto, é uma média móvel ponderada. Mas, enquanto atribui menor importância aos dados de preços passados, ele inclui no cálculo de todos os dados da vida útil do instrumento. Além disso, o usuário pode ajustar a ponderação para dar maior ou menor peso ao preço dos dias mais recentes, que é adicionado a uma porcentagem do valor dos dias anteriores. A soma de ambos os valores percentuais é de 100. Por exemplo, o preço dos últimos dias pode ser atribuído a um peso de 10 (.10), que é adicionado aos dias anteriores de peso de 90 (.90). Isso dá o último dia 10 da ponderação total. Este seria o equivalente a uma média de 20 dias, ao dar ao preço dos últimos dias um valor menor de 5 (0,05). Figura 1: Média em Movimento Suavizado Exponencialmente O gráfico acima mostra o Índice Composto Nasdaq desde a primeira semana de agosto de 2000 até 1º de junho de 2001. Como você pode ver claramente, o EMA, que neste caso está usando os dados de preço de fechamento ao longo de um Período de nove dias, tem sinais de venda definitivos no 8 de setembro (marcado por uma seta para baixo preta). Este foi o dia em que o índice caiu abaixo do nível de 4.000. A segunda seta preta mostra outra perna para baixo que os técnicos estavam realmente esperando. A Nasdaq não conseguiu gerar volume e interesse dos investidores de varejo para quebrar a marca de 3.000. Ele então mergulhou de novo para baixo em 1619.58 em 4 de abril. A tendência de alta de 12 de abril é marcada por uma seta. Aqui, o índice fechou em 1.961,46, e os técnicos começaram a ver os gerentes de fundos institucionais começar a retirar algumas pechinchas como a Cisco, a Microsoft e alguns dos problemas relacionados à energia. (Leia nossos artigos relacionados: Envelopes médios móveis: Refinando uma ferramenta de negociação popular e um salto médio em movimento.) Eu quero desenvolver o cálculo da média móvel do preço das ações. Mas cálculos muito complexos foram planejados mais tarde. Meu primeiro passo para saber como calcular a média móvel de forma eficiente. Preciso saber como levar a entrada e retornar a saída de forma eficiente. Considerado data e preço de entrada. Saída consensada Data, Preço e Média Mover. Se eu tiver 500 registros e eu quero calcular a média em movimento por 5 dias, qual é a maneira eficiente em vez de ir e voltar na matriz de Data e Preço novamente, sugere qual é a melhor maneira de receber entrada (ArrayList, Table, array Etc) e retorno de saída. Nota: A MA de 5 dias será de média dos últimos 5 dias, incluindo o preço atual. Ontem MA será a média dos últimos 5 dias de ontem. Eu quero manter os dias para ser flexível em vez de 5 pode ser 9, 14, 20 etc. Quinta-feira, 10 de abril de 2008 3:21 PM Se você precisa de um cálculo simples sem o seu esforço do que você pode usar o TA-Lib. Mas se você deseja que seu cálculo seja mais eficiente do que o TA-Lib, então você pode criar seu próprio indicador técnico. TA-Lib é ótimo, mas o problema é que esta biblioteca possui apenas métodos estáticos. Isso significa que quando você precisa calcular os valores da matriz SMA com base em 500 barras de preços, você enviará toda a matriz de barras e retornará a matriz de valores SMA. Mas se você receber o novo valor 501-st, então você deve enviar novamente a matriz inteira e TA-Lib novamente calculará e retornará a matriz de valores SMA. Agora, imagine que você precisa desse indicador sobre o preço real dos alimentos e, para cada mudança de preço, você precisa de um novo valor indicador. Se você tem um indicador não é um grande problema, mas se você tiver centenas de indicadores trabalhando, pode ser um problema de desempenho. Eu estava em tal situação e começar a desenvolver indicadores em tempo real que são eficientes e fazer cálculos adicionais para a nova barra de preços ou para barras de preço alteradas apenas. Infelizmente eu nunca precisei do indicador SMA para os meus sistemas de negociação, mas eu tenho isso para EMA, WMA, AD e outros. Um desses indicadores AD é publicado no meu blog e você pode ver de lá qual é a estrutura básica da minha classe de indicadores em tempo real. Espero que você precise de pequenas mudanças para implementar o indicador SMA, porque é um dos mais simples. A lógica é simples. Para calcular SMA, tudo que você precisa é n últimos valores de preço. Assim, a instância da classe terá coleta de preços, que irá armazenar, mantenha apenas o último número de preços, conforme o SMA é definido (no seu caso 5). Então, quando você tiver um novo bar, você removerá o mais antigo e adicionará um novo e criará o cálculo. Quinta-feira, 10 de abril de 2008 16:04 Todas as respostas Há uma biblioteca chamada TA-Lib que faz tudo isso para você e é de código aberto. Tem cerca de 50 indicadores, penso. Nós usamos isso em ambiente de produção e é muito eficiente e realista. Você pode usá-lo em C, Java, C, etc. Se você precisa de um cálculo simples sem o seu esforço do que você pode usar o TA-Lib. Mas se você deseja que seu cálculo seja mais eficiente do que o TA-Lib, então você pode criar seu próprio indicador técnico. TA-Lib é ótimo, mas o problema é que esta biblioteca possui apenas métodos estáticos. Isso significa que quando você precisa calcular os valores da matriz SMA com base em 500 barras de preços, você enviará toda a matriz de barras e retornará a matriz de valores SMA. Mas se você receber o novo valor 501-st, então você deve enviar novamente a matriz inteira e TA-Lib novamente calculará e retornará a matriz de valores SMA. Agora, imagine que você precisa desse indicador sobre o preço real dos alimentos e, para cada mudança de preço, você precisa de um novo valor indicador. Se você tem um indicador não é um grande problema, mas se você tiver centenas de indicadores trabalhando, pode ser um problema de desempenho. Eu estava em tal situação e começar a desenvolver indicadores em tempo real que são eficientes e fazer cálculos adicionais para a nova barra de preços ou para barras de preço alteradas apenas. Infelizmente eu nunca precisei do indicador SMA para os meus sistemas de negociação, mas eu tenho isso para EMA, WMA, AD e outros. Um desses indicadores AD é publicado no meu blog e você pode ver de lá qual é a estrutura básica da minha classe de indicadores em tempo real. Espero que você precise de pequenas mudanças para implementar o indicador SMA, porque é um dos mais simples. A lógica é simples. Para calcular SMA, tudo que você precisa é n últimos valores de preço. Assim, a instância da classe terá coleta de preços, que irá armazenar, mantenha apenas o último número de preços, conforme o SMA é definido (no seu caso 5). Então, quando você tiver um novo bar, você removerá o mais antigo e adicionará um novo e criará o cálculo. Quinta-feira, 10 de abril de 2008 4:04 PM Eu calcularia a média móvel no banco de dados através de um procedimento armazenado ou em um cubo. Você analisou o Analysis Services, tem a capacidade de calcular as médias móveis. Quinta-feira, 10 de abril de 2008 16:05 Sim. TA-LIB é bom, mas pode não ser adequado para mim. Quando eu adiciono valor novo ou valor atualizado para o histórico de registros, farei o cálculo em uma função separada somente para essa nova cotação e armazená-la no banco de dados. Estou planejando atualizar a cotação a cada hora. Preciso fazer cerca de 25 a 30 indicadores técnicos para 2200 ações. Quinta-feira, 10 de abril de 2008 5:51 PM O tempo de execução de uma chamada TA-Lib em uma série de 10000 elementos leva cerca de 15 milissegundos (em um Intel Core Duo 2.13 Ghz). Esta é a média de todas as funções. Entre os mais rápidos, a SMA leva menos de 2,5 milissegundos. O mais lento, HTTRENDMODE, leva 450 milissegundos. Com menos elementos é mais rápido. O SMA leva aproximadamente 0,22 milissegundos para 1000 elementos de entrada. O ganho de velocidade é quase linear (a sobrecarga da execução da função é insignificante). No contexto da sua aplicação, o TA-Lib é muito pouco provável que seja seu gargalo para o desempenho da velocidade. Também, geralmente, não recomendo essa solução quotlast nquot. Leia abaixo para detalhes. Primeiro, uma correção para a afirmação de Boban. s Todas as funções no TA-Lib também podem calcular um único último valor usando um mínimo de quotlast nquot elementos. Você pode ter uma matriz de tamanho 10000, ter dados inicializados apenas para os primeiros 500 elementos, adicionar um elemento e chamar TA-Lib para calcular o SMA apenas para o novo elemento. TA-Lib irá olhar para trás não mais do que o necessário (se SMA de 5, então TA-Lib calculará um único SMA usando os últimos 5 valores). Isso é possível com o parâmetro startIdx e endIdx. Você pode especificar um intervalo a ser calculado, ou um único valor. Nesse cenário, você faria startIdx endIdx 500 para calcular o elemento 501st. Por que é tão quotlast nquot solução potencialmente perigosa para alguns Independentemente de selecionar a solução Boban. s ou TA-Lib considerar que usando um pequeno número finito de dados passados ​​não funcionará bem com a maioria das funções TA. Com a SMA, é óbvio que você só precisa de n elemento para calcular um elemento médio sobre n. Não é tão simples com EMA (e muitas outras funções TA). O algo geralmente depende do valor anterior para calcular o novo valor. A função é recursiva. Isso significa que todos os valores passados ​​influenciam os valores futuros. Se você decidir quotlimitquot seu algo para usar apenas uma pequena quantidade de valor n passado, você não obterá o mesmo resultado que alguém que calcula sobre um grande número de valores passados. A solução é um compromisso entre velocidade e precisão. Muitas vezes, eu discuto isso no contexto da TA-Lib (eu chamo isso de quitação do período na documentação e no fórum). Para simplificar, a minha recomendação geral é se você não pode fazer a diferença entre um algo com uma resposta de impulso finito (FIR) de um algo com uma resposta de impulso infinito (IIR), você será mais seguro para calcular sobre todos os dados que você possui acessível. TA-Lib especifica no código qual das suas funções possui um período instável (IIR). Editado por mforcer sexta-feira, 15 de agosto de 2008 4:25 Corto em inglês sexta-feira, 15 de agosto de 2008 4:20

No comments:

Post a Comment