inst/BookEx/C13R14.R

library(FRAPO)
library(evir)
library(forecast)
## Data preparation 
data(StockIndexAdjD)
data(ESCBFX)
PDaily <- timeSeries(StockIndexAdjD,
                     charvec = rownames(StockIndexAdjD))
FXDaily <- timeSeries(ESCBFX, charvec = rownames(ESCBFX))
FXDaily <- window(FXDaily, start = start(FXDaily),
                  end = end(PDaily))
DDates <- time(FXDaily)
WedDays <- isWeekday(DDates, wday = 3)
FirstWed <- head(which(WedDays, arr.ind = TRUE), 1)
LastWed <- tail(which(WedDays, arr.ind = TRUE), 1)
AllWedDays <- timeSequence(from = DDates[FirstWed],
                           to = DDates[LastWed],
                           by = "week")
DumWed <- timeSeries(rep(1, length(AllWedDays)),
                     charvec = AllWedDays)
PWeekly <- interpNA(cbind(DumWed, PDaily),
                            method = "before")[AllWedDays, -1]
FXWeekly <- interpNA(cbind(DumWed, FXDaily),
                     method = "before")[AllWedDays, -1]
PEWeekly <- PWeekly
PEWeekly[, "SP500"] <- PWeekly[, "SP500"] / FXWeekly[, "USD"]
PEWeekly[, "N225"] <- PWeekly[, "N225"] / FXWeekly[, "JPY"]
PEWeekly[, "FTSE100"] <- PWeekly[, "FTSE100"] / FXWeekly[, "GBP"]
PEWeekly[, "HSI"] <- PWeekly[, "HSI"] / FXWeekly[, "HKD"]
REDWeekly <- (PEWeekly / lag(PEWeekly, k = 1) - 1)
PELWeekly <- log(PEWeekly)
## Defining moving window and indexes
epoints <- time(PELWeekly)[-c(1:259)]
size <- length(epoints)
spoints <- time(PELWeekly)[1:size]
idx <- 1:size
NAssets <- ncol(PEWeekly)
## Time series chart of euro-denominated indexes
plot(PEWeekly, main = "", xlab = "", col = "black")

Try the FRAPO package in your browser

Any scripts or data that you put into this service are public.

FRAPO documentation built on May 2, 2019, 6:33 a.m.