Nothing
# unit tests for riskFactor
context("S3 classes inheriting from riskFactor")
# checking constructor
test_that("riskFactor is ok", {
#----- currency
expect_error(currency())
expect_error(currency(from = "CHF"))
## types
expect_error(currency(name = "jack", from = 1, to = "CHF"),
"types")
expect_error(currency(name = 1, from = "1", to = "CHF"),
"types")
expect_error(currency(name = "1", from = "1", to = TRUE),
"types")
expect_error(currency(name = list("CHFUSD"), from = "CHF", to = "USD"),
"types")
## dimensions
expect_error(currency(name = character(), from = "CHF", to = "USD"),
"dimensions")
expect_error(currency(name = c("CHFUSD", "CHFEUR"), from = "CHF",
to = "USD"),
"dimensions")
## Missing values
expect_error(currency(name = "CHFUSD", from = as.character(NA), to = "USD"),
"Missing values")
expect_error(currency(name = "CHFUSD", from = "CHF", to = as.character(NA)),
"Missing values")
## Same currency
expect_error(currency(name = "CHFCHF", from = "CHF", to = "CHF"),
"Invalid")
## valid currency
d <- currency(name = "CHFUSD", from = "CHF", to = "USD")
## checking internal representation of attributes
expect_equal(length(d), 9)
expect_equal(is.data.frame(d), TRUE)
expect_equal(names(d), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(all(sapply(list(d$scale, d$currency, d$horizon, d$rating),
is.na)), TRUE)
expect_equal(d$scaled, FALSE)
expect_equal(c(d$name, d$from, d$to), c("CHFUSD", "CHF", "USD"))
## checking class membership
expect_equal(is.currency(d), TRUE)
expect_equal(is.riskFactor(d), TRUE)
#----- rate
expect_error(rate())
expect_error(rate(name = "CHF2Y"))
## types
expect_error(rate(name = "jack", currency = 1, horizon = "l"),
"types")
expect_error(rate(name = 1, currency = "CHF", horizon = "l"),
"types")
expect_error(rate(name = "jack", currency = "CHF", horizon = T),
"types")
expect_error(rate(name = "jack", currency = list("CHF"), horizon = "l"),
"types")
expect_error(rate(name = "jack", currency = "CHF", horizon = "l",
scale = "b"),
"types")
expect_error(rate(name = "jack", currency = "CHF", horizon = "l",
scale = list(1)),
"types")
## dimensions
expect_error(rate(name = character(), currency = "CHF", horizon = "l"),
"dimensions")
expect_error(rate(name = "jack", currency = c("CHF", "USD"), horizon = "l"),
"dimensions")
expect_error(rate(name = "jack", currency = c("CHF", "USD"), horizon = "l"),
"dimensions")
expect_error(rate(name = "jack", currency = "CHF", horizon = character()),
"dimensions")
expect_error(rate(name = "jack", currency = "CHF", horizon = "l",
scale = c(1, 2)),
"dimensions")
expect_error(rate(name = "jack", currency = "CHF", horizon = "l",
scale = numeric()),
"dimensions")
expect_error(rate(name = c("PC1","PC2"), currency = "CHF", horizon = "l"),
"linear")
expect_error(rate(name = c("PC1","PC2"), currency = "CHF", horizon = "l",
scale = c(0.1)),
"dimensions")
## Missing values
expect_error(rate(name = "jack", currency = "CHF", horizon = "l",
scale = as.numeric(NA)),
"Missing values")
expect_error(rate(name = as.character(NA), currency = "CHF", horizon = "l",
scale = 2),
"Missing values")
expect_error(rate(name = "jack", currency = as.character(NA), horizon = "l",
scale = 2),
"Missing values")
expect_error(rate(name = "jack", currency = "CHF",
horizon = as.character(NA),
scale = 2),
"Missing values")
## Warning
expect_warning(rate(name = "jack", currency = "CHF",
horizon = "l",
scale = 0),
"efficiency")
## valid rates
d <- rate(name = "CHF2Y", currency = "CHF", horizon = "l")
ds <- rate(name = "CHF2Y", currency = "CHF", horizon = "l", scale = 0.5)
dm <- rate(name = c("PC1RateCHF", "PC2RateCHF"),
currency = c("CHF"),
horizon = c("l"),
scale = c(0.5, 0.2))
## checking internal representation of attributes
expect_equal(length(d), 9)
expect_equal(is.data.frame(d), TRUE)
expect_equal(names(d), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(length(ds), 9)
expect_equal(is.data.frame(ds), TRUE)
expect_equal(names(ds), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(length(dm), 9)
expect_equal(is.data.frame(dm), TRUE)
expect_equal(names(dm), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(all(sapply(list(d$scale, d$from, d$to, d$rating),
is.na)), TRUE)
expect_equal(d$scaled, FALSE)
expect_equal(c(d$name, d$currency, d$horizon), c("CHF2Y", "CHF", "l"))
expect_equal(all(sapply(list(ds$from, ds$to, ds$rating),
is.na)), TRUE)
expect_equal(ds$scaled, TRUE)
expect_equal(c(ds$name, ds$scale, ds$currency, ds$horizon),
c("CHF2Y", 0.5, "CHF", "l"))
expect_equal(all(sapply(list(dm$from, dm$to, dm$rating),
is.na)), TRUE)
expect_equal(dm$scaled, c(TRUE,TRUE))
expect_equal(c(dm$name, dm$scale, dm$currency, dm$horizon),
c("PC1RateCHF", "PC2RateCHF",
0.5, 0.2,
"CHF", "CHF",
"l", "l"))
## checking class membership
expect_equal(is.rate(d), TRUE)
expect_equal(is.riskFactor(d), TRUE)
expect_equal(is.rate(ds), TRUE)
expect_equal(is.riskFactor(ds), TRUE)
expect_equal(is.rate(dm), TRUE)
expect_equal(is.riskFactor(dm), TRUE)
#----- pcRate
expect_error(pcRate())
expect_error(pcRate(name = "CHF2Y"))
## types
expect_error(pcRate(name = c("pc1", "pc2"), currency = 1),
"types")
expect_error(pcRate(name = c(1,2), currency = c("CHF", "CHF")),
"types")
expect_error(pcRate(name = c("pc1", "pc2"), currency = list("CHF", "CHF")),
"types")
expect_error(pcRate(name = c("pc1", "pc2"), currency = c("CHF", "CHF"),
scale = c("a","b")),
"types")
expect_error(pcRate(name = c("pc1", "pc2"), currency = c("CHF", "CHF"),
scale = list(1)),
"types")
## dimensions
expect_error(pcRate(name = character(), currency = c("CHF")),
"dimensions")
expect_error(pcRate(name = c("pc1", "pc2"), currency = c("USD"),
scale = c(1)),
"dimensions")
expect_error(pcRate(name = c("pc1", "pc2"), currency = c("CHF", "CHF"),
scale = numeric()),
"dimensions")
## Missing values
expect_error(pcRate(name = c("pc1"), currency = c("CHF"),
scale = as.numeric(c(NA))),
"Missing values")
expect_error(pcRate(name = as.character(c(NA)), currency = c("CHF"),
scale = c(2)),
"Missing values")
expect_error(pcRate(name = c("pc1"), currency = as.character(c(NA)),
scale = c(2)),
"Missing values")
## Warning
expect_warning(pcRate(name = c("pc1"), currency = c("CHF"),
scale = c(0)),
"efficiency")
## valid pcRates
dm <- pcRate(name = c("PC1RateCHF"),
currency = c("CHF"))
## checking internal representation of attributes
expect_equal(length(dm), 9)
expect_equal(is.data.frame(dm), TRUE)
expect_equal(names(dm), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(all(sapply(list(dm$from, dm$to, dm$rating),
is.na)), TRUE)
expect_equal(dm$scaled, c(FALSE))
expect_equal(c(dm$name, dm$scaled, dm$currency),
c("PC1RateCHF",
FALSE,
"CHF"))
## checking class membership
expect_equal(is.pcRate(dm), TRUE)
expect_equal(is.riskFactor(dm), TRUE)
#----- spread
expect_error(spread())
expect_error(spread(name = "CHF2Y"))
## types
expect_error(spread(name = "jack", currency = 1, rating = "l"),
"types")
expect_error(spread(name = 1, currency = "CHF", rating = "l"),
"types")
expect_error(spread(name = "jack", currency = "CHF", rating = T),
"types")
expect_error(spread(name = "jack", currency = list("CHF"), rating = "l"),
"types")
expect_error(spread(name = "jack", currency = "CHF", rating = "l",
scale = "b"),
"types")
expect_error(spread(name = "jack", currency = "CHF", rating = "l",
scale = list(1)),
"types")
## dimensions
expect_error(spread(name = character(), currency = "CHF", rating = "l"),
"dimensions")
expect_error(spread(name = "jack", currency = c("CHF", "USD"), rating = "l"),
"dimensions")
expect_error(spread(name = "jack", currency = c("CHF", "USD"), rating = "l"),
"dimensions")
expect_error(spread(name = "jack", currency = "CHF", rating = character()),
"dimensions")
expect_error(spread(name = "jack", currency = "CHF", rating = "l",
scale = c(1, 2)),
"dimensions")
expect_error(spread(name = "jack", currency = "CHF", rating = "l",
scale = numeric()),
"dimensions")
expect_error(spread(name = c("PC1","PC2"), currency = "CHF", rating = "l"),
"dimensions")
expect_error(spread(name = c("PC1","PC2"), currency = "CHF", rating = "l",
scale = c(0.1)),
"dimensions")
## Missing values
expect_error(spread(name = "jack", currency = "CHF", rating = "l",
scale = as.numeric(NA)),
"Missing values")
expect_error(spread(name = as.character(NA), currency = "CHF", rating = "l",
scale = 2),
"Missing values")
expect_error(spread(name = "jack", currency = as.character(NA), rating = "l",
scale = 2),
"Missing values")
expect_error(spread(name = "jack", currency = "CHF",
rating = as.character(NA),
scale = 2),
"Missing values")
## valid spreads
d <- spread(name = "CHF2Y", currency = "CHF", rating = "l")
ds <- spread(name = "CHF2Y", currency = "CHF", rating = "l", scale = 0.5)
## checking internal representation of attributes
expect_equal(length(d), 9)
expect_equal(is.data.frame(d), TRUE)
expect_equal(names(d), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(length(ds), 9)
expect_equal(is.data.frame(ds), TRUE)
expect_equal(names(ds), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(all(sapply(list(d$scale, d$from, d$to, d$horizon),
is.na)), TRUE)
expect_equal(d$scaled, FALSE)
expect_equal(c(d$name, d$type, d$currency, d$rating), c("CHF2Y", "spread", "CHF", "l"))
expect_equal(all(sapply(list(ds$from, ds$to, ds$horizon),
is.na)), TRUE)
expect_equal(ds$scaled, TRUE)
expect_equal(c(ds$name, ds$scale, ds$type, ds$currency, ds$rating), c("CHF2Y", 0.5, "spread","CHF", "l"))
## checking class membership
expect_equal(is.spread(d), TRUE)
expect_equal(is.riskFactor(d), TRUE)
expect_equal(is.spread(ds), TRUE)
expect_equal(is.riskFactor(ds), TRUE)
#----- equity
expect_error(equity())
expect_error(equity(name = "CHF2Y"))
## types
expect_error(equity(name = "jack", currency = 1, type = "l"),
"types")
expect_error(equity(name = 1, currency = "CHF", type = "l"),
"types")
expect_error(equity(name = "jack", currency = "CHF", type = T),
"types")
expect_error(equity(name = "jack", currency = list("CHF"), type = "l"),
"types")
expect_error(equity(name = "jack", currency = "CHF", type = "l",
scale = "b"),
"types")
expect_error(equity(name = "jack", currency = "CHF", type = "l",
scale = list(1)),
"types")
## dimensions
expect_error(equity(name = character(), currency = "CHF", type = "l"),
"dimensions")
expect_error(equity(name = "jack", currency = c("CHF", "USD"), type = "l"),
"dimensions")
expect_error(equity(name = "jack", currency = c("CHF", "USD"), type = "l"),
"dimensions")
expect_error(equity(name = "jack", currency = "CHF", type = character()),
"dimensions")
expect_error(equity(name = "jack", currency = "CHF", type = "l",
scale = c(1, 2)),
"dimensions")
expect_error(equity(name = "jack", currency = "CHF", type = "l",
scale = numeric()),
"dimensions")
expect_error(equity(name = c("PC1","PC2"), currency = "CHF", type = "l"),
"dimensions")
expect_error(equity(name = c("PC1","PC2"), currency = "CHF", type = "l",
scale = c(0.1)),
"dimensions")
## Missing values
expect_error(equity(name = "jack", currency = "CHF", type = "l",
scale = as.numeric(NA)),
"Missing values")
expect_error(equity(name = as.character(NA), currency = "CHF", type = "l",
scale = 2),
"Missing values")
expect_error(equity(name = "jack", currency = as.character(NA), type = "l",
scale = 2),
"Missing values")
expect_error(equity(name = "jack", currency = "CHF",
type = as.character(NA),
scale = 2),
"Missing values")
## Warning
expect_warning(equity(name = "jack", currency = "CHF",
type = "l",
scale = 0),
"efficiency")
## valid equitys
d <- equity(name = "CHF2Y", currency = "CHF", type = "l")
ds <- equity(name = "CHF2Y", currency = "CHF", type = "l", scale = 0.5)
## checking internal representation of attributes
expect_equal(length(d), 9)
expect_equal(is.data.frame(d), TRUE)
expect_equal(names(d), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(length(ds), 9)
expect_equal(is.data.frame(ds), TRUE)
expect_equal(names(ds), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
expect_equal(all(sapply(list(d$scale, d$from, d$to, d$horizon, d$rating),
is.na)), TRUE)
expect_equal(d$scaled, FALSE)
expect_equal(c(d$name, d$currency, d$type), c("CHF2Y", "CHF", "l"))
expect_equal(all(sapply(list(ds$from, ds$to, ds$horizon, d$rating),
is.na)), TRUE)
expect_equal(ds$scaled, TRUE)
expect_equal(c(ds$name, ds$scale, ds$currency, ds$type),
c("CHF2Y", 0.5, "CHF", "l"))
## checking class membership
expect_equal(is.equity(d), TRUE)
expect_equal(is.riskFactor(d), TRUE)
expect_equal(is.equity(ds), TRUE)
expect_equal(is.riskFactor(ds), TRUE)
#---- mapping Table
expect_error(mappingTable())
## some scaled risk-factors undefined mapping
expect_error(mappingTable(equity(name = "EC", type = "HF",
currency = "CHF", scale = 0.5)),
"undefined")
expect_error(mappingTable(equity(name = "EC", type = "HF",
currency = "CHF", scale = 0.5),
equity(name = "EC2", type = "EQ",
currency = "CHF")),
"undefined")
## duplicates
expect_error(mappingTable(equity(name = "EC", type = "HF",
currency = "CHF"),
equity(name = "EC2", type = "HF",
currency = "CHF")),
"Duplicated")
expect_error(mappingTable(rate(name = "2YCHF", currency = "CHF",
horizon = "k"),
rate(name = "2YCHF", currency = "CHF",
horizon = "k", scale = 0.5)),
"Duplicated")
expect_error(mappingTable(rate(name = "2YCHF", currency = "CHF",
horizon = "k"),
rate(name = "2YCHF", currency = "CHF",
horizon = "l")),
"more than once")
## scaled from currency
expect_error(mappingTable(currency(name = "CHFUSD", from = "CHF",
to = "USD"),
rate(name = "CHFUSD", currency = "CHF",
horizon = "k", scale = 0.5)),
"currency")
## defining in undefined currency
expect_error(mappingTable(currency(name = "CHFUSD", from = "CHF",
to = "USD"),
rate(name = "2YEUR", currency = "EUR",
horizon = "k")),
"currencies")
expect_error(mappingTable(rate(name = "2YUSD", currency = "USD",
horizon = "k"),
rate(name = "2YEUR", currency = "EUR",
horizon = "k")),
"currencies")
## multiple to currencies
expect_error(mappingTable(currency(name = "CHFUSD", from = "CHF",
to = "USD"),
currency(name = "JPYEUR", from = "JPY",
to = "EUR")),
"currency")
## issues with pca
expect_error(mappingTable(pcRate(name = c("PC1"),
currency = c("CHF")),
pcRate(name = c("PC2"),
currency = c("CHF")),
rate(name = c("PC1", "PC2", "PC3"),
currency = c("CHF"),
horizon = c("m"),
scale = c(0.9, 0.1, sqrt(1- (0.1^2 + 0.9^2))))), "undefined")
## valid mappingTable
m <- mappingTable(currency(name = "CHFUSD", from = "CHF", to = "USD"),
rate(name = "2YCHF", currency = "CHF", horizon = "k"),
equity(name = "hf", currency = "CHF", type = "hf"),
equity(name = "hf", currency = "USD", type = "hf",
scale = 0.5))
## checking internal representation of attributes
expect_equal(length(m), 9)
expect_equal(is.data.frame(m), TRUE)
expect_equal(names(m), c("name", "scale", "scaled", "type", "currency",
"from", "to", "horizon", "rating"))
## checking class membership
expect_equal(is.mappingTable(m), TRUE)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.