Material para acompanhar esta aula
Baixe a planilha encontrada aqui no Google Planilhas. Usaremos esta planilha para a aula. Baixe ela para CSV, o método mais comum de guardar um banco de dados que pode ser lido por qualquer linguagem (Comma-Separated Values).
Crie um ambiente de desenvolvimento python3 ou utilize ambientes online já prontos como o jupyter lab online e importe o banco de dados.
Scipy em Python
Comece baixando os dados para CSV, renomeando-os para "dados-3.csv" para ficar mais fácil de mexer. Vamos usar os pacotes pandas, numpy, statsmodels, scipy e matplotlib no python. Abaixo pode ver como importar cada um:

Tempo como índice
Repare que estamos usando decimal="," e thousands="." justamente por nossos dados estarem em português. Agora vamos usar o tempo como índice da nossa tabela de dados. Abaixo está o código para deixar o tempo como índice.

Após transformar a coluna Tempo em índice, vamos verificar o quanto o preço do Ouro aumentou no tempo. Repare que estou usando ouro aqui, mas recomendo vocês testarem outros preços de ações. Para saber como cresceu no tempo usamos as funções .diff() ou pct_change().
Histograma da variação do preço do Ouro
Vamos verificar como aparenta nossos dados. Para isso, a melhor forma é realizar um gráfico de histograma como abaixo.

O resultado ficou:

Repare que este histograma lembra a distribuição normal!
Teste de normalidade
Como nossos dados lembram muito uma distribuição normal, podemos fazer um teste de normalidade para verificar a hipótese que de fato é uma distribuição normal. Para isso usamos o scipy com a função normaltest.

O resultado deu uma probabilidade muito pequena! Uma probabilidade de 4.0693e-07. Pode ser uma coincidência? Claro que pode, mas a chance é tão pequena que podemos rejeitar a hipótese nula que não há normalidade. Veja abaixo o gráfico da normal plotado com nossos dados:

Identificando Outliers
Vamos considerar de agora em diante então que a variação diária dos preços do Ouro seguem uma distribuição Normal. Como isso podemos verificar dias com anomalia. Esses dias com anomalia são chamados de "outliers", dias muito pouco prováveis. Para isso vamos utilizar a distância de 3 desvios padrões para caracterizar que um dado está muito longe da média e é de fato uma anomalia. Essa característica de 3 desvios padrões é muito usada na indústria, mas vocês podem modificar o valor para caso queiram detectar anomalias ainda maiores.

Os dias detectados como outliers para o Ouro foram:
| Dia | Variação % |
|---|---|
| 2014-11-06 | 9.212306 |
| 2014-11-28 | -8.177172 |
| 2014-12-17 | 7.559081 |
| 2015-10-02 | 7.866508 |
| 2016-02-08 | 8.710089 |
| 2016-05-04 | -10.840477 |
| 2016-06-03 | 8.437426 |
| 2016-10-04 | -8.755668 |
| 2016-11-10 | -10.078868 |
Se quiser pode procurar no jornal cada dia desses. Será que aconteceu algo diferente nesses dias?
Devemos investir em Ouro?
Agora que sabemos que a distribuição é Normal, temos dados o suficiente para dizer que Ouro está crescendo no tempo? Para isso precisamos construir um intervalo de confiança do aumento do Ouro usando nossa amostra.

Repare que apesar do Ouro ter uma média amostral positiva, ainda não temos dado o suficiente para confirmar que a variação do Ouro é acima de zero.
E se quisermos ter mais certeza, quantas amostras precisamos?
Imagine então que queremos verificar se de fato o Ouro é um investimento seguro. Será que só 3 anos de dados é o suficiente? Quantos dias precisamos para nossa amostra? Vamos ver abaixo como faríamos para ter uma margem de erro de apenas 0,1% no aumento, podendo nos ajudar com a inferência sobre esse investimento.

Qual deverá ser o tema da prova?












— Comentários 0
, Reações 1
Seja o primeiro a comentar