tests/testthat/test-indipsa.R

test_that("Valid Input", {
  data(indipsa)
  ipsa<-diff(log(indipsa))
  ipsa<-100*ipsa
  expect_error(tvGarchKalmanFit(ipsa, c = c(0.05,0.05), alpha = c(0.05,0.05), beta = c(0.05,0.05),
                                type = c("trigonometrico","trigonometric","trigonometric"), trig ="cos", arg = "3*(1-log(u))"),"invalid type for c", fixed=T)
  expect_error(tvGarchKalmanFit(ipsa, c = c(0.05,0.05), alpha = c(0.05,0.05), beta = c(0.05,0.05),
                                type = c("trigonometric","trigonometrico","trigonometric"), trig ="cos", arg = "3*(1-log(u))"),"invalid type for a", fixed=T)
  expect_error(tvGarchKalmanFit(ipsa, c = c(0.05,0.05), alpha = c(0.05,0.05), beta = c(0.05,0.05),
                                type = c("trigonometric","trigonometric","trigonometrico"), trig ="cos", arg = "3*(1-log(u))"),"invalid type for b", fixed=T)
})

test_that("Data is loaded correctly", {
  expect_true(exists("indipsa"))
  expect_equal(ncol(indipsa), 1)  # verificar el número de columnas
  expect_equal(nrow(indipsa), 3186) # Verificar el número de filas
})

test_that("Example with real data",{
  data(indipsa)
  ipsa<-diff(log(indipsa))
  ipsa<-100*ipsa
  fit <- tvGarchKalmanFit(ipsa, c = c(0.05,0.05), alpha = c(0.05,0.05), beta = c(0.05,0.05),
                          type = c("trigonometric","trigonometric","trigonometric"), trig ="cos", arg = "3*(1-log(u))")
  result = c(0.03001, 0.01237, 0.14990, 0.02919, 0.82541, -0.04145)
  expect_equal(fit,result)
  model<-tvGarchKalmanPrint(fit, ipsa, c = c(0.05,0.05), alpha = c(0.05,0.05), beta = c(0.05,0.05), type = c("trigonometric","trigonometric","trigonometric"),
                            trig ="cos", arg = "3*(1-log(u))", predict = 10)
  expect_equal(model$loglik, 2375.377)
})

Try the tvGarchKF package in your browser

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

tvGarchKF documentation built on June 8, 2025, 11:40 a.m.