ComeçarComece de graça

Torne regulares dados intradiários irregulares

Antes, você aprendeu a criar uma série diária regular a partir de dados diários irregulares. Agora, você vai criar dados intradiários regulares a partir de uma série irregular.

Dados financeiros intradiários geralmente não cobrem 24 horas completas. A maioria dos mercados fica fechada parte do dia. Neste exercício, vamos supor que os mercados abrem às 9h e fecham às 16h, de segunda a sexta.

Seus dados podem não ter uma observação exatamente na abertura e/ou no fechamento do mercado. Portanto, você não poderá usar start() e end() como faria com dados diários. Você precisa especificar as datas e horas de início e fim para criar essa sequência regular.

A sequência regular de data-hora vai incluir períodos em que os mercados estão fechados, mas você pode usar o subconjunto por horário do dia do xts para extrair apenas os períodos em que o mercado está aberto.

Este exercício faz parte do curso

Importando e Gerenciando Dados Financeiros em R

Ver curso

Instruções do exercício

  • Conclua o comando para criar uma sequência regular de data-hora a cada 30 minutos entre 09:00 de segunda e 16:00 de sexta.
  • Defina os valores de x e order.by para criar um objeto xts de largura zero.
  • Crie merged_xts mesclando irregular_xts e regular_xts. Use o argumento fill para substituir NA pelo valor anterior usando na.locf().
  • Use o subconjunto por horário do dia do xts para extrair observações entre 9h e 16h todos os dias. Atribua o resultado a trade_day.

Exercício interativo prático

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

# Create a regular date-time sequence
regular_index <- seq(as.POSIXct("2010-01-04 __:__"), as.POSIXct("2010-01-08 __:__"), by = "30 min")

# Create a zero-width xts object
regular_xts <- xts(x = ___, order.by = ___)

# Merge irregular_xts and regular_xts, filling NA with their previous value
merged_xts <- merge(___, ___, fill = ___)

# Subset to trading day (09:00-16:00)
trade_day <- merged_xts[___]
Editar e executar o código