Kom igångKom igång gratis

Fyll saknade värden per handelsdag

I föregående övning fördes den senaste observationen från föregående dag framåt till den första observationen följande dag. I den här övningen får du se hur du fyller saknade värden per handelsdag, utan att använda föregående dags sista värde.

Du använder samma split-lapply-rbind-mönster från kursen Introduction to xts and zoo. Som referens visas mönstret nedan.

x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)

Kom ihåg att syntaxen do.call(rbind, ...) låter dig skicka en lista med objekt till rbind() utan att behöva skriva ut alla deras namn.

Din arbetsmiljö innehåller ett trade_day-objekt med den reguljära serien från föregående övning, men utan några ifyllda NA-värden.

Den här övningen är en del av kursen

Importera och hantera finansiella data i R

Visa kurs

Övningsinstruktioner

  • Skapa ett daily_list-objekt genom att använda split() för att dela upp trade_day-data i en lista med data för varje dag.
  • Använd sedan lapply() för att fylla NA-värdena i varje dags data i listan daily_list.
  • Använd slutligen do.call() och rbind() för att konvertera daily_filled till ett enda xts-objekt med namnet filled_by_trade_day.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Split trade_day into days
daily_list <- split(___ , f = "___")

# Use lapply to call na.locf for each day in daily_list
daily_filled <- lapply(___, FUN = ___)

# Use do.call to rbind the results
filled_by_trade_day <- do.call(rbind, ___)
Redigera och kör kod