suppressPackageStartupMessages(require(quantmod))
context("Weighted averages 3ROC")
load_data <- function() {
h <- new.env()
load("testdata/history.RData",envir=h)
return(get("history",envir=h))
}
test_that("default parameters work", {
h <- load_data()
XLE <- get("XLE",envir=h)
rv <- xts::last(weight_ave_3ROC(XLE))
expect_equal(as.numeric(Op(rv)), 6)
expect_equal(as.numeric(Ad(rv)), 2.5)
rv <- xts::last(weight_ave_3ROC_strict(XLE))
expect_true( is.na( Op(rv)) )
expect_equal(as.numeric(Hi(rv)), 3)
expect_equal(as.numeric(Ad(rv)), 1.5)
rv <- xts::last(weight_ave_3ROC_filter(XLE))
expect_true( is.na( Op(rv)) )
expect_equal(as.numeric(Hi(rv)), 4)
expect_equal(as.numeric(Ad(rv)), 2.5)
})
test_that("modified parameters work", {
h <- load_data()
XLE <- get("XLE",envir=h)
rv <- xts::last(weight_ave_3ROC_strict(XLE, n = c(2, 4, 6)))
expect_true( is.na( Op(rv)) )
expect_true( is.na( Hi(rv)) )
expect_equal(as.numeric(Vo(rv)), 1)
rv <- xts::last(weight_ave_3ROC_strict(XLE, weights = c(0.1,0.1,0.8)))
expect_true( is.na(Op(rv) ))
expect_equal(as.numeric(Hi(rv)), 3)
expect_equal(as.numeric(Cl(rv)), 1.5)
rv <- xts::last(weight_ave_3ROC_filter(XLE, n = c(2, 5, 6)))
expect_true( is.na( Op(rv)) )
expect_true( is.na( Hi(rv)) )
expect_equal(as.numeric(Vo(rv)), 1)
rv <- xts::last(weight_ave_3ROC_filter(XLE, weights = c(1 / 2, 1 / 4, 1 / 4)))
expect_true( is.na( Op(rv)) )
expect_equal(as.numeric(Hi(rv)), 4)
expect_equal(as.numeric(Lo(rv)), 5)
})
test_that("invalid weights stop", {
h <- load_data()
XLE <- get("XLE",envir=h)
expect_error(xts::last(weight_ave_3ROC_strict(XLE, weights = c(6, 4, 2))))
expect_error(xts::last(weight_ave_3ROC_filter(XLE, weights = c(6, 4, 2))))
})
test_that("flipped parameters work", {
h <- load_data()
XLE <- get("XLE",envir=h)
rv <- xts::last(weight_ave_3ROC(XLE, n = c(6, 4, 2)))
expect_equal(as.numeric(Op(rv)), 6)
expect_equal(as.numeric(Hi(rv)), 2)
expect_equal(as.numeric(Lo(rv)), 5)
expect_equal(as.numeric(Ad(rv)), 3.5)
rv <- xts::last(weight_ave_3ROC_strict(XLE, n = c(6, 4, 2)))
expect_true( is.na( Op(rv)) )
expect_true( is.na( Hi(rv)) )
expect_equal(as.numeric(Vo(rv)), 1)
rv <- xts::last(weight_ave_3ROC_filter(XLE, n = c(6, 4, 2)))
expect_true( is.na( Op(rv)) )
expect_equal(as.numeric(Hi(rv)), 2)
expect_equal(as.numeric(Cl(rv)), 3.5)
})
test_that("combined symbols work", {
h <- load_data()
XLE <- get("XLE",envir=h)
XLK <- get("XLK",envir=h)
cs <- merge(Ad(XLE), Ad(XLK))
rv <- xts::last(weight_ave_3ROC(cs))
colnames(rv) <- gsub(".Adjusted", "", colnames(rv))
expect_equal(as.numeric(rv[1,"XLE"]),2)
expect_equal(as.numeric(rv[1,"XLK"]),1)
rv <- xts::last(weight_ave_3ROC_strict(cs))
colnames(rv) <- gsub(".Adjusted", "", colnames(rv))
expect_equal(as.numeric(rv[1,"XLE"]),2)
expect_equal(as.numeric(rv[1,"XLK"]),1)
rv <- xts::last(weight_ave_3ROC_filter(cs))
colnames(rv) <- gsub(".Adjusted", "", colnames(rv))
expect_equal(as.numeric(rv[1, "XLE"]), 2)
expect_equal(as.numeric(rv[1, "XLK"]), 1)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.