Comece agoraComece grátis

Preços de Ações em Alta Frequência

Dados de ações em alta frequência costumam ser bem modelados por um processo MA(1), então este é um bom caso de uso dos modelos deste capítulo.

O DataFrame intraday contém os preços de um dia (1º de setembro de 2017) da ação da Sprint (código de negociação "S") amostrados a cada minuto. O mercado de ações fica aberto por 6,5 horas (390 minutos), das 9h30 às 16h.

Antes de analisar a série temporal, você vai precisar fazer uma pequena limpeza, o que será feito neste e nos dois próximos exercícios. Ao olhar as primeiras linhas, você vai notar algumas coisas. Primeiro, não há nomes de colunas. Os dados não estão carimbados no tempo de 9h30 às 16h, mas sim de 0 a 390. E você vai notar que a primeira data é o curioso "a1504272600". O número após o "a" é o tempo Unix, que é a contagem de segundos desde 1º de janeiro de 1970. É assim que este conjunto de dados separa cada dia de dados intradiários.

Se você olhar os tipos de dados, verá que a coluna DATE é um objeto, que aqui significa uma string. Você precisará convertê-la para numérica antes de tratar alguns dados ausentes.

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

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

Este exercicio faz parte do curso

Análise de séries temporais em Python

Ver curso

Instruções do exercicio

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

exercicio interativo prático

Tente este exercicio 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 Código