CRAN Package Check Results for Package sstModel

Last updated on 2022-04-27 12:55:19 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.0.0 17.22 131.19 148.41 NOTE
r-devel-linux-x86_64-debian-gcc 1.0.0 11.93 97.49 109.42 NOTE
r-devel-linux-x86_64-fedora-clang 1.0.0 135.47 ERROR
r-devel-linux-x86_64-fedora-gcc 1.0.0 130.20 ERROR
r-devel-windows-x86_64 1.0.0 210.00 165.00 375.00 NOTE
r-patched-linux-x86_64 1.0.0 16.09 123.69 139.78 NOTE
r-release-linux-x86_64 1.0.0 9.88 122.58 132.46 NOTE
r-release-macos-arm64 1.0.0 55.00 NOTE
r-release-macos-x86_64 1.0.0 82.00 NOTE
r-release-windows-x86_64 1.0.0 195.00 166.00 361.00 NOTE
r-oldrel-macos-arm64 1.0.0 58.00 NOTE
r-oldrel-macos-x86_64 1.0.0 93.00 NOTE
r-oldrel-windows-ix86+x86_64 1.0.0 26.00 136.00 162.00 NOTE

Check Details

Version: 1.0.0
Check: LazyData
Result: NOTE
     'LazyData' is specified without a 'data' directory
Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-ix86+x86_64

Version: 1.0.0
Check: dependencies in R code
Result: NOTE
    Namespace in Imports field not imported from: ‘shinydashboard’
     All declared Imports should be used.
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-release-macos-arm64, r-release-macos-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64

Version: 1.0.0
Check: examples
Result: ERROR
    Running examples in ‘sstModel-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: portfolio
    > ### Title: Constructing a SST Portfolio
    > ### Aliases: portfolio
    >
    > ### ** Examples
    >
    > # Creating a portofolio.
    > asset1 <- asset("equity", "USD", 1000)
    > asset2 <- asset("hedge fund", "EUR", 2000)
    > life1 <- life(name = c("pandemy", "longetivity", "storno"),
    + currency = c("CHF", "CHF", "CHF"),
    + sensitivity = c(-100, -150, -130))
    > health1 <- health(name = c("pandemy", "longetivity", "storno"),
    + currency = c("CHF", "CHF", "CHF"),
    + sensitivity = c(100, 150, 130))
    > participation1 <- participation("CHF", 1000)
    > # valid portfolio parameters
    > valid.param <- list(mvm = list(mvm.life = 2, mvm.health = 4, mvm.nonlife = 3),
    + rtkr = 0,
    + rtkg = 0,
    + correction.term = 2,
    + credit.risk = 3,
    + expected.insurance.result = 10^6,
    + expected.financial.result = 10^5)
    > pf <- portfolio(market.items = list(asset1, asset2),
    + participation.item = participation1,
    + life.item = life1,
    + health.item = health1,
    + base.currency = "CHF",
    + portfolio.parameters = valid.param)
    Error in names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || :
     'length = 3' in coercion to 'logical(1)'
    Calls: portfolio -> with -> with.default -> eval -> eval
    Execution halted
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc

Version: 1.0.0
Check: tests
Result: ERROR
     Running ‘test-sst-example.R’
     Running ‘test-standalone.R’
     Running ‘testthat.R’ [15s/15s]
    Running the tests in ‘tests/test-sst-example.R’ failed.
    Complete output:
     > # this is a complete example on how to simulate the target capital from the
     > # Swiss solvency test with the standalone sstModel package
     >
     > # load package
     > library(sstModel)
     sstModel 1.0.0
    
     Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
    
     Swiss Financial Market Supervisory Authority FINMA
     Laupenstrasse 27
     CH-3003 Bern
    
     info@finma.ch
    
     This program comes with ABSOLUTELY NO WARRANTY.
     This is free software, and you are welcome to redistribute it
     under certain conditions.
    
     Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license.
    
     Type sstModel_news() to see new features/changes/fixes.
    
     Type sstModel_check() to scan your package library for potential issues.
     >
     >
     > # first step: define the market risks
     >
     > ## define the names of the base risk factors (Risiko Treiber).
     > name <- c("EURCHF", "USDCHF", # the fx rate risks
     + "equityCHF", "equityEUR", "equityUSD", # the equity risks
     + "kYCHF", "mYCHF", # the interest rate risks
     + "kYEUR", "mYEUR",
     + "PC1RateUSD", "PC2RateUSD", # here we use two PCA components
     + "AAACHF", "AAAEUR", "AAAUSD") # the spread risks
     >
     > ## then we need to define an appropriate correlation matrix
     > corr.mat <- diag(rep(1, 14))
     > colnames(corr.mat) <- name
     > rownames(corr.mat) <- name
     >
     > ## and the respective volatilities
     > volatility <- rep(0.05, 14)
     >
     > # create cov mat
     > cov.mat <- diag(volatility, length(volatility), length(volatility)) %*%
     + corr.mat %*% diag(volatility, length(volatility), length(volatility))
     >
     > colnames(cov.mat) <- rownames(cov.mat) <- colnames(corr.mat)
     > attr(cov.mat, "base.currency") <- "CHF"
     >
     > ## we should then build the mapping table of market risks
     > mapping.table <- mappingTable(currency(name = "EURCHF",
     + from = "EUR",
     + to = "CHF"),
     + currency(name = "USDCHF",
     + from = "USD",
     + to = "CHF"),
     +
     + equity(name = "equityCHF",
     + type = "equity",
     + currency = "CHF"),
     + equity(name = "equityEUR",
     + type = "equity",
     + currency = "EUR"),
     + equity(name = "equityEUR",
     + type = "equity",
     + currency = "USD",
     + scale = 0.4694625),
     +
     + pcRate(name = c("PC1RateUSD"),
     + currency = "USD"),
     + pcRate(name = c("PC2RateUSD"),
     + currency = "USD"),
     + pcRate(name = c("PC1RateUSD"),
     + currency = "EUR",
     + scale = 1),
     + pcRate(name = c("PC2RateUSD"),
     + currency = "EUR",
     + scale = 1),
     +
     + rate(name = "kYCHF",
     + currency = "CHF",
     + horizon = "k"),
     +
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "EUR",
     + horizon = "k",
     + scale = c(0.1,
     + 0.7)),
     +
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "USD",
     + horizon = "k",
     + scale = c(0.2,
     + 0.5)),
     +
     + rate(name = "mYCHF",
     + currency = "CHF",
     + horizon = "m"),
     +
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "EUR",
     + horizon = "m",
     + scale = c(0.05,
     + 0.6)),
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "USD",
     + horizon = "m",
     + scale = c(0.1,
     + 0.9)),
     +
     + spread(name = "AAACHF",
     + currency = "CHF",
     + rating = "AAA"),
     + spread(name = "AAAEUR",
     + currency = "EUR",
     + rating = "AAA"),
     + spread(name = "AAAUSD",
     + currency = "USD",
     + rating = "AAA"))
     >
     > ## and provide the initial values for the risks factors
     > initial.values <- list()
     >
     > ## initial fx
     > initial.values$initial.fx <- data.frame(from = c("EUR", "USD"),
     + to = c("CHF", "CHF"),
     + fx = c(1.05,1.02),
     + stringsAsFactors = F)
     >
     > ## initial rates
     > initial.values$initial.rate <- data.frame(time = c(2L, 2L, 2L, 10L, 10L, 10L),
     + currency = c("CHF", "EUR", "USD"),
     + rate = c(0.01, 0.01, 0.01, 0.03, 0.03, 0.03),
     + stringsAsFactors = F)
     >
     >
     > # define the mapped times for rates
     > mapping.time <- data.frame(time = c(2L, 10L), mapping = c("k","m"), stringsAsFactors = F)
     >
     > ## we are finally in shape to build the full market risk
     > mr <- marketRisk(cov.mat = cov.mat,
     + mapping.table = mapping.table,
     + base.currency = "CHF",
     + initial.values = initial.values,
     + mapping.time = mapping.time)
     >
     >
     > # second step: define the health and life risks
     > M <- matrix(c(1, 1, 1, 1), 2)
     > colnames(M) <- c("storno", "invalidity")
     > rownames(M) <- colnames(M)
     >
     > lr <- lifeRisk(corr.mat = M,
     + quantile = c(0.995, 0.995))
     >
     > hr <- healthRisk(corr.mat = M)
     >
     >
     >
     > # third step: build the portfolio
     >
     > list.assets <- list(asset(type = "equity", currency = "CHF", value = 30000000),
     + asset(type = "equity", currency = "EUR", value = 20000000),
     + asset(type = "equity", currency = "USD", value = 5000000))
     >
     > list.liabilities <- list(liability(time = 2L, currency = "CHF", value = 400000),
     + liability(time = 2L, currency = "EUR", value = 700000),
     + liability(time = 2L, currency = "USD", value = 340000),
     + liability(time = 10L, currency = "CHF", value = 500000),
     + liability(time = 10L, currency = "EUR", value = 100000),
     + liability(time = 10L, currency = "USD", value = 240000))
     >
     > list.asset.forward <- list(assetForward(type = "equity",
     + currency = "CHF",
     + time = 10L,
     + exposure = 10000,
     + price = 45000,
     + position = "long"))
     >
     >
     > list.marketItems <- append(append(append(append(list(), list.assets), list.liabilities),list.asset.forward),
     + list(delta(name = "EURCHF", currency = "CHF", sensitivity = 1000)))
     >
     > valid.param <- list(mvm = list(mvm.life = 2, mvm.health = 4, mvm.nonlife = 3),
     + rtkr = 0,
     + rtkg = 0,
     + correction.term = 2,
     + credit.risk = 3,
     + expected.insurance.result = 10^6,
     + expected.financial.result = 10^5)
     >
     >
     > p <- portfolio(market.items = list.marketItems,
     + participation.item = participation(currency = "CHF", value = 3000),
     + life.item = life(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(100, 2000)),
     + health.item = health(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(230, 500)),
     + base.currency = "CHF",
     + portfolio.parameters = valid.param)
     Error in names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || :
     'length = 3' in coercion to 'logical(1)'
     Calls: portfolio -> with -> with.default -> eval -> eval
     Execution halted
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(sstModel)
     sstModel 1.0.0
    
     Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
    
     Swiss Financial Market Supervisory Authority FINMA
     Laupenstrasse 27
     CH-3003 Bern
    
     info@finma.ch
    
     This program comes with ABSOLUTELY NO WARRANTY.
     This is free software, and you are welcome to redistribute it
     under certain conditions.
    
     Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license.
    
     Type sstModel_news() to see new features/changes/fixes.
    
     Type sstModel_check() to scan your package library for potential issues.
     >
     > test_check("sstModel")
     asset
     ---------
     type: equity
     currency: CHF
     value: 10
    
     asset forward
     -------------
     type: equity
     currency: EUR
     time: 1
     exposure: 10
     price: 100
     position: long
    
     cashflow
     ---------
     time: 1
     currency: CHF
     rating: AAA
     spread: 0.2
     value: 10
    
     delta term
     ---------------
     name: 2YCHF, EURCHF
     currency: CHF, CHF
     sensitivity: 12, 25
    
     fx forward
     --------------
     domestic: CHF
     foreign: EUR
     time: 1
     nominal: 10
     rate: 1.1
     position: long
    
     health
     ---------------
     name: Sstorno, invalidity
     currency: CHF, EUR
     sensitivity: 12, 25
    
     healthRisk
     -------------------
     correlation matrix: 2 x 2
    
     liability
     ----------
     time: 1
     currency: CHF
     value: -10
    
     life
     ---------------
     name: Sstorno, invalidity
     currency: CHF, CHF
     sensitivity: 12, 25
    
     lifeRisk
     ---------------------
     correlation matrix: 2 x 2
     quantiles of length: 2
     marketRisk
     -------------------
     covariance matrix: 4 x 4
     mapping table: 4 risk-factors
     base currency: CHF
    
     nonLifeRisk
     -------------------
     a vector of simulations of length: 5
    
     nonLifeRisk
     -------------------
     simulations from empirical cumulative distribution function.
    
     nonLifeRisk
     -------------------
     centered log-normal simulations.
    
     participation
     -------------------
     a participation with total value: 10
    
     participationRisk
     -------------------
     volatility: 3
    
     scenarioRisk
     -------------
     name: terrorism
     probability: 0.1
     currency: CHF
     effect: -100
     scenarioRisk
     -------------
     name: market crash
     probability: 0.2
     currency: CHF
     effect: -50
    
     [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
    
     ══ Skipped tests ═══════════════════════════════════════════════════════════════
     • check-market-items.xlsx: isn't available (dev only test) (1)
     • copula.xlsx: isn't available (dev only test) (1)
     • duplicated-mapping.table.xlsx: isn't available (dev only test) (1)
     • errorSheetNames.xlsx: isn't available (dev only test) (1)
     • health.xlsx: isn't available (dev only test) (1)
     • invalidExtension.xyz: isn't available (dev only test) (1)
     • life.xlsx: isn't available (dev only test) (1)
     • macro-economic-scenarios.xlsx: isn't available (dev only test) (1)
     • scenario.xlsx: isn't available (dev only test) (1)
     • withScenarioNoError.xlsx: isn't available (dev only test) (1)
    
     ══ Failed tests ════════════════════════════════════════════════════════════════
     ── Error (test-macroEconomicScenarios.R:124:3): macroEconomicScenarios: compute method is OK ──
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-macroEconomicScenarios.R:124:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:35:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid types"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:35:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:42:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid dimensions"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:42:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:49:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid type"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:49:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:64:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid types"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:64:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-portfolio.R:126:3): constructor of portfolio is ok ──────────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-portfolio.R:126:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-portfolio.R:168:3): portfolio: standard methods are ok ──────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. ├─testthat::expect_equal(...) at test-portfolio.R:168:2
     2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
     3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
     4. ├─base::format(...)
     5. └─sstModel::portfolio(...)
     6. ├─base::with(...)
     7. └─base::with.default(...)
     8. └─base::eval(substitute(expr), data, enclos = parent.frame())
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-portfolio.R:245:3): portfolio: generateExpression and generateFunction are ok ──
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-portfolio.R:245:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-reordering.R:33:3): conditionalReordering is ok ───────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "types"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:33:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Failure (test-reordering.R:58:3): conditionalReordering is ok ───────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "square"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:58:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Failure (test-reordering.R:79:3): conditionalReordering is ok ───────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "dimension"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:79:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Failure (test-reordering.R:104:3): conditionalReordering is ok ──────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "definite"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:104:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Error (test-reordering.R:150:6): conditionalReordering is ok ────────────────
     Error in `!is.character(name) || duplicated(name)`: 'length = 4' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel:::conditionalReordering(...) at test-reordering.R:150:5
     ── Error (test-sstModel.R:84:3): sstModel is ok ────────────────────────────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-sstModel.R:84:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-sstOutput.R:84:3): sstOutput figures are ok ─────────────────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-sstOutput.R:84:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
    
     [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
     Error: Test failures
     Execution halted
Flavor: r-devel-linux-x86_64-fedora-clang

Version: 1.0.0
Check: re-building of vignette outputs
Result: ERROR
    Error(s) in re-building vignettes:
    --- re-building ‘packageAPI.Rmd’ using rmarkdown
    Quitting from lines 580-596 (packageAPI.Rmd)
    Error: processing vignette 'packageAPI.Rmd' failed with diagnostics:
    'length = 3' in coercion to 'logical(1)'
    --- failed re-building ‘packageAPI.Rmd’
    
    SUMMARY: processing the following file failed:
     ‘packageAPI.Rmd’
    
    Error: Vignette re-building failed.
    Execution halted
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc

Version: 1.0.0
Check: tests
Result: ERROR
     Running ‘test-sst-example.R’
     Running ‘test-standalone.R’
     Running ‘testthat.R’ [14s/14s]
    Running the tests in ‘tests/test-sst-example.R’ failed.
    Complete output:
     > # this is a complete example on how to simulate the target capital from the
     > # Swiss solvency test with the standalone sstModel package
     >
     > # load package
     > library(sstModel)
     sstModel 1.0.0
    
     Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
    
     Swiss Financial Market Supervisory Authority FINMA
     Laupenstrasse 27
     CH-3003 Bern
    
     info@finma.ch
    
     This program comes with ABSOLUTELY NO WARRANTY.
     This is free software, and you are welcome to redistribute it
     under certain conditions.
    
     Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license.
    
     Type sstModel_news() to see new features/changes/fixes.
    
     Type sstModel_check() to scan your package library for potential issues.
     >
     >
     > # first step: define the market risks
     >
     > ## define the names of the base risk factors (Risiko Treiber).
     > name <- c("EURCHF", "USDCHF", # the fx rate risks
     + "equityCHF", "equityEUR", "equityUSD", # the equity risks
     + "kYCHF", "mYCHF", # the interest rate risks
     + "kYEUR", "mYEUR",
     + "PC1RateUSD", "PC2RateUSD", # here we use two PCA components
     + "AAACHF", "AAAEUR", "AAAUSD") # the spread risks
     >
     > ## then we need to define an appropriate correlation matrix
     > corr.mat <- diag(rep(1, 14))
     > colnames(corr.mat) <- name
     > rownames(corr.mat) <- name
     >
     > ## and the respective volatilities
     > volatility <- rep(0.05, 14)
     >
     > # create cov mat
     > cov.mat <- diag(volatility, length(volatility), length(volatility)) %*%
     + corr.mat %*% diag(volatility, length(volatility), length(volatility))
     >
     > colnames(cov.mat) <- rownames(cov.mat) <- colnames(corr.mat)
     > attr(cov.mat, "base.currency") <- "CHF"
     >
     > ## we should then build the mapping table of market risks
     > mapping.table <- mappingTable(currency(name = "EURCHF",
     + from = "EUR",
     + to = "CHF"),
     + currency(name = "USDCHF",
     + from = "USD",
     + to = "CHF"),
     +
     + equity(name = "equityCHF",
     + type = "equity",
     + currency = "CHF"),
     + equity(name = "equityEUR",
     + type = "equity",
     + currency = "EUR"),
     + equity(name = "equityEUR",
     + type = "equity",
     + currency = "USD",
     + scale = 0.4694625),
     +
     + pcRate(name = c("PC1RateUSD"),
     + currency = "USD"),
     + pcRate(name = c("PC2RateUSD"),
     + currency = "USD"),
     + pcRate(name = c("PC1RateUSD"),
     + currency = "EUR",
     + scale = 1),
     + pcRate(name = c("PC2RateUSD"),
     + currency = "EUR",
     + scale = 1),
     +
     + rate(name = "kYCHF",
     + currency = "CHF",
     + horizon = "k"),
     +
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "EUR",
     + horizon = "k",
     + scale = c(0.1,
     + 0.7)),
     +
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "USD",
     + horizon = "k",
     + scale = c(0.2,
     + 0.5)),
     +
     + rate(name = "mYCHF",
     + currency = "CHF",
     + horizon = "m"),
     +
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "EUR",
     + horizon = "m",
     + scale = c(0.05,
     + 0.6)),
     + rate(name = c("PC1RateUSD",
     + "PC2RateUSD"),
     + currency = "USD",
     + horizon = "m",
     + scale = c(0.1,
     + 0.9)),
     +
     + spread(name = "AAACHF",
     + currency = "CHF",
     + rating = "AAA"),
     + spread(name = "AAAEUR",
     + currency = "EUR",
     + rating = "AAA"),
     + spread(name = "AAAUSD",
     + currency = "USD",
     + rating = "AAA"))
     >
     > ## and provide the initial values for the risks factors
     > initial.values <- list()
     >
     > ## initial fx
     > initial.values$initial.fx <- data.frame(from = c("EUR", "USD"),
     + to = c("CHF", "CHF"),
     + fx = c(1.05,1.02),
     + stringsAsFactors = F)
     >
     > ## initial rates
     > initial.values$initial.rate <- data.frame(time = c(2L, 2L, 2L, 10L, 10L, 10L),
     + currency = c("CHF", "EUR", "USD"),
     + rate = c(0.01, 0.01, 0.01, 0.03, 0.03, 0.03),
     + stringsAsFactors = F)
     >
     >
     > # define the mapped times for rates
     > mapping.time <- data.frame(time = c(2L, 10L), mapping = c("k","m"), stringsAsFactors = F)
     >
     > ## we are finally in shape to build the full market risk
     > mr <- marketRisk(cov.mat = cov.mat,
     + mapping.table = mapping.table,
     + base.currency = "CHF",
     + initial.values = initial.values,
     + mapping.time = mapping.time)
     >
     >
     > # second step: define the health and life risks
     > M <- matrix(c(1, 1, 1, 1), 2)
     > colnames(M) <- c("storno", "invalidity")
     > rownames(M) <- colnames(M)
     >
     > lr <- lifeRisk(corr.mat = M,
     + quantile = c(0.995, 0.995))
     >
     > hr <- healthRisk(corr.mat = M)
     >
     >
     >
     > # third step: build the portfolio
     >
     > list.assets <- list(asset(type = "equity", currency = "CHF", value = 30000000),
     + asset(type = "equity", currency = "EUR", value = 20000000),
     + asset(type = "equity", currency = "USD", value = 5000000))
     >
     > list.liabilities <- list(liability(time = 2L, currency = "CHF", value = 400000),
     + liability(time = 2L, currency = "EUR", value = 700000),
     + liability(time = 2L, currency = "USD", value = 340000),
     + liability(time = 10L, currency = "CHF", value = 500000),
     + liability(time = 10L, currency = "EUR", value = 100000),
     + liability(time = 10L, currency = "USD", value = 240000))
     >
     > list.asset.forward <- list(assetForward(type = "equity",
     + currency = "CHF",
     + time = 10L,
     + exposure = 10000,
     + price = 45000,
     + position = "long"))
     >
     >
     > list.marketItems <- append(append(append(append(list(), list.assets), list.liabilities),list.asset.forward),
     + list(delta(name = "EURCHF", currency = "CHF", sensitivity = 1000)))
     >
     > valid.param <- list(mvm = list(mvm.life = 2, mvm.health = 4, mvm.nonlife = 3),
     + rtkr = 0,
     + rtkg = 0,
     + correction.term = 2,
     + credit.risk = 3,
     + expected.insurance.result = 10^6,
     + expected.financial.result = 10^5)
     >
     >
     > p <- portfolio(market.items = list.marketItems,
     + participation.item = participation(currency = "CHF", value = 3000),
     + life.item = life(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(100, 2000)),
     + health.item = health(name = c("storno", "invalidity"), currency = c("CHF", "CHF"), sensitivity = c(230, 500)),
     + base.currency = "CHF",
     + portfolio.parameters = valid.param)
     Error in names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") || :
     'length = 3' in coercion to 'logical(1)'
     Calls: portfolio -> with -> with.default -> eval -> eval
     Execution halted
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library(testthat)
     > library(sstModel)
     sstModel 1.0.0
    
     Copyright (c) 2018 Swiss Financial Market Supervisory Authority FINMA
    
     Swiss Financial Market Supervisory Authority FINMA
     Laupenstrasse 27
     CH-3003 Bern
    
     info@finma.ch
    
     This program comes with ABSOLUTELY NO WARRANTY.
     This is free software, and you are welcome to redistribute it
     under certain conditions.
    
     Type launchDashboard() and go to the 'Legal Notices' Tab for more details about the license.
    
     Type sstModel_news() to see new features/changes/fixes.
    
     Type sstModel_check() to scan your package library for potential issues.
     >
     > test_check("sstModel")
     asset
     ---------
     type: equity
     currency: CHF
     value: 10
    
     asset forward
     -------------
     type: equity
     currency: EUR
     time: 1
     exposure: 10
     price: 100
     position: long
    
     cashflow
     ---------
     time: 1
     currency: CHF
     rating: AAA
     spread: 0.2
     value: 10
    
     delta term
     ---------------
     name: 2YCHF, EURCHF
     currency: CHF, CHF
     sensitivity: 12, 25
    
     fx forward
     --------------
     domestic: CHF
     foreign: EUR
     time: 1
     nominal: 10
     rate: 1.1
     position: long
    
     health
     ---------------
     name: Sstorno, invalidity
     currency: CHF, EUR
     sensitivity: 12, 25
    
     healthRisk
     -------------------
     correlation matrix: 2 x 2
    
     liability
     ----------
     time: 1
     currency: CHF
     value: -10
    
     life
     ---------------
     name: Sstorno, invalidity
     currency: CHF, CHF
     sensitivity: 12, 25
    
     lifeRisk
     ---------------------
     correlation matrix: 2 x 2
     quantiles of length: 2
     marketRisk
     -------------------
     covariance matrix: 4 x 4
     mapping table: 4 risk-factors
     base currency: CHF
    
     nonLifeRisk
     -------------------
     a vector of simulations of length: 5
    
     nonLifeRisk
     -------------------
     simulations from empirical cumulative distribution function.
    
     nonLifeRisk
     -------------------
     centered log-normal simulations.
    
     participation
     -------------------
     a participation with total value: 10
    
     participationRisk
     -------------------
     volatility: 3
    
     scenarioRisk
     -------------
     name: terrorism
     probability: 0.1
     currency: CHF
     effect: -100
     scenarioRisk
     -------------
     name: market crash
     probability: 0.2
     currency: CHF
     effect: -50
    
     [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
    
     ══ Skipped tests ═══════════════════════════════════════════════════════════════
     • check-market-items.xlsx: isn't available (dev only test) (1)
     • copula.xlsx: isn't available (dev only test) (1)
     • duplicated-mapping.table.xlsx: isn't available (dev only test) (1)
     • errorSheetNames.xlsx: isn't available (dev only test) (1)
     • health.xlsx: isn't available (dev only test) (1)
     • invalidExtension.xyz: isn't available (dev only test) (1)
     • life.xlsx: isn't available (dev only test) (1)
     • macro-economic-scenarios.xlsx: isn't available (dev only test) (1)
     • scenario.xlsx: isn't available (dev only test) (1)
     • withScenarioNoError.xlsx: isn't available (dev only test) (1)
    
     ══ Failed tests ════════════════════════════════════════════════════════════════
     ── Error (test-macroEconomicScenarios.R:124:3): macroEconomicScenarios: compute method is OK ──
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-macroEconomicScenarios.R:124:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:35:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid types"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:35:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:42:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid dimensions"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:42:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:49:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid type"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:49:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-portfolio.R:64:3): constructor of portfolio is ok ─────────────
     `portfolio(...)` threw an error with unexpected message.
     Expected match: "Invalid types"
     Actual message: "'length = 3' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-portfolio.R:64:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel::portfolio(...)
     7. ├─base::with(...)
     8. └─base::with.default(...)
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     10. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-portfolio.R:126:3): constructor of portfolio is ok ──────────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-portfolio.R:126:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-portfolio.R:168:3): portfolio: standard methods are ok ──────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. ├─testthat::expect_equal(...) at test-portfolio.R:168:2
     2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
     3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
     4. ├─base::format(...)
     5. └─sstModel::portfolio(...)
     6. ├─base::with(...)
     7. └─base::with.default(...)
     8. └─base::eval(substitute(expr), data, enclos = parent.frame())
     9. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-portfolio.R:245:3): portfolio: generateExpression and generateFunction are ok ──
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-portfolio.R:245:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Failure (test-reordering.R:33:3): conditionalReordering is ok ───────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "types"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:33:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Failure (test-reordering.R:58:3): conditionalReordering is ok ───────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "square"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:58:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Failure (test-reordering.R:79:3): conditionalReordering is ok ───────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "dimension"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:79:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Failure (test-reordering.R:104:3): conditionalReordering is ok ──────────────
     `conditionalReordering(...)` threw an error with unexpected message.
     Expected match: "definite"
     Actual message: "'length = 4' in coercion to 'logical(1)'"
     Backtrace:
     ▆
     1. ├─testthat::expect_error(...) at test-reordering.R:104:2
     2. │ └─testthat:::quasi_capture(...)
     3. │ ├─testthat .capture(...)
     4. │ │ └─base::withCallingHandlers(...)
     5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     6. └─sstModel:::conditionalReordering(...)
     ── Error (test-reordering.R:150:6): conditionalReordering is ok ────────────────
     Error in `!is.character(name) || duplicated(name)`: 'length = 4' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel:::conditionalReordering(...) at test-reordering.R:150:5
     ── Error (test-sstModel.R:84:3): sstModel is ok ────────────────────────────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-sstModel.R:84:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
     ── Error (test-sstOutput.R:84:3): sstOutput figures are ok ─────────────────────
     Error in `names(mvm) %in% c("mvm.life", "mvm.health", "mvm.nonlife") ||
     !all(c("mvm.life", "mvm.health", "mvm.nonlife") %in% names(mvm))`: 'length = 3' in coercion to 'logical(1)'
     Backtrace:
     ▆
     1. └─sstModel::portfolio(...) at test-sstOutput.R:84:2
     2. ├─base::with(...)
     3. └─base::with.default(...)
     4. └─base::eval(substitute(expr), data, enclos = parent.frame())
     5. └─base::eval(substitute(expr), data, enclos = parent.frame())
    
     [ FAIL 15 | WARN 0 | SKIP 10 | PASS 1158 ]
     Error: Test failures
     Execution halted
Flavor: r-devel-linux-x86_64-fedora-gcc