ComeçarComece de graça

Preços de ações de alta frequência

Os dados de ações de frequência mais alta são bem modelados por um processo MA(1), portanto, é uma boa aplicação dos modelos deste capítulo.

O DataFrame intraday contém os preços de um dia (em 1º de setembro de 2017) das ações da Sprint (símbolo "S") amostrados em uma frequência de um minuto. O mercado de ações fica aberto por 6,5 horas (390 minutos), das 9h30 às 16h.

Antes de analisar os dados da série temporal, você terá de limpá-los um pouco, o que será feito neste e nos próximos dois exercícios. Ao examinar as primeiras linhas (consulte IPython Shell), você perceberá várias coisas. Primeiro, não há cabeçalhos de coluna. Os dados não são marcados com a hora das 9:30 às 16:00, mas vão de 0 a 390. E você perceberá que a primeira data é o estranho "a1504272600". O número após o "a" é a hora Unix, que é o número de segundos desde 1º de janeiro de 1970. É assim que esse conjunto de dados separa cada dia de dados intradiários.

Se você observar os tipos de dados, verá que a coluna DATE é um objeto, que aqui significa uma string. Você precisará alterar isso para numérico antes de limpar alguns dados ausentes.

A fonte dos dados de minuto é o Google Finance (veja aqui como os dados foram baixados).

O módulo datetime já foi importado para você.

Este exercício faz parte do curso

Análise de séries temporais em Python

Ver curso

Instruções do exercício

  • Altere manualmente a primeira data para zero usando .iloc[0,0].
  • Altere os dois cabeçalhos de coluna para 'DATE' e 'CLOSE', definindo intraday.columns como uma lista que contém essas duas cadeias de caracteres.
  • Use o atributo pandas .dtypes (sem parênteses) para ver que tipo de dados há em cada coluna.
  • Converta a coluna 'DATE' em numérica usando a função pandas to_numeric().
  • Torne a coluna 'DATE' o novo índice de intraday usando o método pandas .set_index(), que receberá a string 'DATE' como argumento (não a coluna inteira, apenas o nome da coluna).

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# import datetime module
import datetime

# Change the first date to zero
intraday.___ = 0

# Change the column headers to 'DATE' and 'CLOSE'
intraday.columns = ___

# Examine the data types for each column
print(intraday.dtypes)

# Convert DATE column to numeric
intraday['DATE'] = pd.to_numeric(____)

# Make the `DATE` column the new index
intraday = ____
Editar e executar o código