R/Test/RReagArch.R

Defines functions test.Const test.Ar test.deux_Ar test.Ma test.Arma test.Arma_std test.Arma_std_dofNotInteger test.Arma_ged test.Arma_skewT test.skewT test.skewtNamesAndClass test.std_parameter test.ged_parameter test.skewT_parameter

#' RReagArch Test
#'
#' aw ff cb elh

source("R/RRegArch.R")
source("R/RRegArchInternals.R")


nSimul <- 1000

m <- list()
v <- list()
r <- list()
mod <- list()
ZZ <- list()
Res <- list()

test.Const <- function()
{
  m[["Const"]] <<- meanSet(Const=2)
  v[["Const"]] <<- varSet(ConstVar=3)
  r[["Const"]] <<- residualsSet("Normal")
  mod[["Const"]] <<- modelSet(condMean = m[["Const"]], condVar = v[["Const"]], condRes = r[["Const"]])
  ZZ[["Const"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Const"]])
  Res[["Const"]] <<- RegArchFit(model = mod[["Const"]], Yt=ZZ[["Const"]]$Yt)
  print(Res[["Const"]])
}

test.Ar <- function()
{
  m[["Ar"]] <<- meanSet(Ar=0.6)
  v[["Ar"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["Ar"]] <<- residualsSet("Normal")
  mod[["Ar"]] <<- modelSet(condMean = m[["Ar"]], condVar = v[["Ar"]], condRes = r[["Ar"]])
  ZZ[["Ar"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Ar"]])
  Res[["Ar"]] <<- RegArchFit(model = mod[["Ar"]], Yt=ZZ[["Ar"]]$Yt)
  print(Res[["Ar"]])
}

test.deux_Ar <- function()
{
  m[["2_Ar"]] <<- meanSet(Ar=c(0.6, 0.1))
  v[["2_Ar"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["2_Ar"]] <<- residualsSet("Normal")
  mod[["2_Ar"]] <<- modelSet(condMean = m[["2_Ar"]], condVar = v[["2_Ar"]], condRes = r[["2_Ar"]])
  ZZ[["2_Ar"]] <<-RegArchSim(nSimul = nSimul, model = mod[["2_Ar"]])
  Res[["2_Ar"]] <<- RegArchFit(model = mod[["2_Ar"]], Yt=ZZ[["2_Ar"]]$Yt)
  print(Res[["2_Ar"]])
}

test.Ma <- function()
{
  m[["Ma"]] <<- meanSet(Ma=0.6)
  v[["Ma"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["Ma"]] <<- residualsSet("Normal")
  mod[["Ma"]] <<- modelSet(condMean = m[["Ma"]], condVar = v[["Ma"]], condRes = r[["Ma"]])
  ZZ[["Ma"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Ma"]])
  Res[["Ma"]] <<- RegArchFit(model = mod[["Ma"]], Yt=ZZ[["Ma"]]$Yt)
  print(Res[["Ma"]])
}

test.Arma <- function()
{
  m[["Arma"]] <<- meanSet(Ar=0.6, Ma=0.6)
  v[["Arma"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["Arma"]] <<- residualsSet("Normal")
  mod[["Arma"]] <<- modelSet(condMean = m[["Arma"]], condVar = v[["Arma"]], condRes = r[["Arma"]])
  ZZ[["Arma"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Arma"]])
  Res[["Arma"]] <<- RegArchFit(model = mod[["Arma"]], Yt=ZZ[["Arma"]]$Yt)
  print(Res[["Arma"]])
}

test.Arma_std <- function()
{
  m[["Arma_std"]] <<- meanSet(Ar=0.6, Ma=0.6)
  v[["Arma_std"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["Arma_std"]] <<- residualsSet("Student", parameter = 10)
  mod[["Arma_std"]] <<- modelSet(condMean = m[["Arma_std"]], condVar = v[["Arma_std"]], condRes = r[["Arma_std"]])
  ZZ[["Arma_std"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Arma_std"]])
  Res[["Arma_std"]] <<- RegArchFit(model = mod[["Arma_std"]], Yt=ZZ[["Arma_std"]]$Yt)
  print(Res[["Arma_std"]])
}

test.Arma_std_dofNotInteger <- function()
{
  m[["Arma_std"]] <<- meanSet(Ar=0.6, Ma=0.6)
  v[["Arma_std"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["Arma_std"]] <<- residualsSet("Student", parameter = 10.2)
  mod[["Arma_std"]] <<- modelSet(condMean = m[["Arma_std"]], condVar = v[["Arma_std"]], condRes = r[["Arma_std"]])
  ZZ[["Arma_std"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Arma_std"]])
  Res[["Arma_std"]] <<- RegArchFit(model = mod[["Arma_std"]], Yt=ZZ[["Arma_std"]]$Yt)
  print(Res[["Arma_std"]])
}

test.Arma_ged <- function()
{
  m[["Arma_ged"]] <<- meanSet(Ar=0.6, Ma=0.6)
  v[["Arma_ged"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["Arma_ged"]] <<- residualsSet("Ged", parameter = 2)
  mod[["Arma_ged"]] <<- modelSet(condMean = m[["Arma_ged"]], condVar = v[["Arma_ged"]], condRes = r[["Arma_ged"]])
  ZZ[["Arma_ged"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Arma_ged"]])
  Res[["Arma_ged"]] <<- RegArchFit(model = mod[["Arma_ged"]], Yt=ZZ[["Arma_ged"]]$Yt)
  print(Res[["Arma_ged"]])
}

test.Arma_skewT <- function()
{
  m[["Arma_skewT"]] <<- meanSet(Ar=0.6, Ma=0.2)
  v[["Arma_skewT"]] <<- varSet(Garch=list(Const=0.1, Arch=0.1, Garch=0.8))
  r[["Arma_skewT"]] <<- residualsSet("Skewt", parameter = c(10, 0.6))
  mod[["Arma_skewT"]] <<- modelSet(condMean = m[["Arma_skewT"]], condVar = v[["Arma_skewT"]], condRes = r[["Arma_skewT"]])
  ZZ[["Arma_skewT"]] <<-RegArchSim(nSimul = nSimul, model = mod[["Arma_skewT"]])
  Res[["Arma_skewT"]] <<- RegArchFit(model = mod[["Arma_skewT"]], Yt=ZZ[["Arma_skewT"]]$Yt)
  print(Res[["Arma_skewT"]])
}

test.skewT <- function()
{
  m[["skewT"]] <<- NULL
  v[["skewT"]] <<- varSet(ConstVar=1)
  r[["skewT"]] <<- residualsSet("Skewt", parameter = c(10, 0.6))
  mod[["skewT"]] <<- modelSet(condMean = m[["skewT"]], condVar = v[["skewT"]], condRes = r[["skewT"]])
  ZZ[["skewT"]] <<-RegArchSim(nSimul = nSimul, model = mod[["skewT"]])
  Res[["skewT"]] <<- RegArchFit(model = mod[["skewT"]], Yt=ZZ[["skewT"]]$Yt)
  print(Res[["skewT"]])
}

test.skewtNamesAndClass <- function()
{}

test.std_parameter <- function()
{
  checkException(residualsSet("Student"), "parameter must be the number of d.o.f. for Student residuals")
  checkException(residualsSet("Student", parameter = 2), "the number of d.o.f. must be greater than 2")
  # checkException(residualsSet("Student", parameter =3.1), "the number of d.o.f. must be an integer")
}

test.ged_parameter <- function()
{
  checkException(residualsSet("Ged"),'parameter must be the beta parameter for Ged residuals')
  checkException(residualsSet("Ged", parameter = -1), "beta must be positive")
}

test.skewT_parameter <- function()
{
  checkException(residualsSet("SkewT"), "parameter must be the number of d.o.f. and gamma for SkewT residuals")
  checkException(residualsSet("SkewT", parameter = 1), "parameter must be the number of d.o.f. and gamma for SkewT residuals")
  checkException(residualsSet("SkewT", parameter = c(-1, 1)), "number of d.o.f. must be strictly positive")
  checkException(residualsSet("SkewT", parameter = c(1, -1)), "gamma must be positive")
}
gaspardcc/PMMMF documentation built on May 7, 2019, 3:14 p.m.