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
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
xeorder.bypara criar um objeto xts de largura zero. - Crie
merged_xtsmesclandoirregular_xtseregular_xts. Use o argumentofillpara substituirNApelo valor anterior usandona.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[___]