Path: blob/master/inst/tests/test_demo_min_StdDev.R
1433 views
##### Load packages #####1require(testthat)2require(PortfolioAnalytics)34##### Source Demo Script #####5source(system.file("demo/demo_min_StdDev.R", package="PortfolioAnalytics"))678context("demo_min_StdDev")910###### ROI, full_investment, long only, min StdDev ######11context("minStdDev.lo.ROI")1213test_that("minStdDev.lo.ROI contains StdDev as an objective",14{ expect_that(minStdDev.lo.ROI$portfolio$objectives[[1]]$name == "StdDev", is_true()) })1516test_that("minStdDev.lo.ROI objective measure StdDev = 0.008251084",17{ expect_equal(as.numeric(extractObjectiveMeasures(minStdDev.lo.ROI)$StdDev), 0.008251084, tolerance=1e-6) })1819test_that("minStdDev.lo.ROI min box constraints are not violated",20{ expect_that(all(extractWeights(minStdDev.lo.ROI) >= minStdDev.lo.ROI$portfolio$constraints[[2]]$min), is_true()) })2122test_that("minStdDev.lo.ROI max box constraints are not violated",23{ expect_that(all(extractWeights(minStdDev.lo.ROI) <= minStdDev.lo.ROI$portfolio$constraints[[2]]$max), is_true()) })2425###### ROI, full_investment, box, min StdDev ######26context("minStdDev.box.ROI")2728test_that("minStdDev.box.ROI contains StdDev as an objective",29{ expect_that(minStdDev.box.ROI$portfolio$objectives[[1]]$name == "StdDev", is_true()) })3031test_that("minStdDev.box.ROI objective measure StdDev = 0.01096122",32{ expect_equal(as.numeric(extractObjectiveMeasures(minStdDev.box.ROI)$StdDev), 0.01096122, tolerance=1e-6) })3334test_that("minStdDev.box.ROI min box constraints are not violated",35{ expect_that(all(extractWeights(minStdDev.box.ROI) >= minStdDev.box.ROI$portfolio$constraints[[2]]$min), is_true()) })3637test_that("minStdDev.box.ROI max box constraints are not violated",38{ expect_that(all(extractWeights(minStdDev.box.ROI) <= minStdDev.box.ROI$portfolio$constraints[[2]]$max), is_true()) })3940###### RP, full_investment, box, min ES ######41context("minStdDev.box1.RP")4243test_that("minStdDev.box1.RP contains StdDev as an objective",44{ expect_that(minStdDev.box1.RP$portfolio$objectives[[1]]$name == "StdDev", is_true()) })4546test_that("minStdDev.box1.RP contains mean as an objective",47{ expect_that(minStdDev.box1.RP$portfolio$objectives[[2]]$name == "mean", is_true()) })4849test_that("minStdDev.box1.RP objective measure StDev is numeric",50{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box1.RP)$StdDev), is_true()) })5152test_that("minStdDev.box1.RP objective measure mean is numeric",53{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box1.RP)$mean), is_true()) })5455test_that("minStdDev.box1.RP min box constraints are not violated",56{ expect_that(all(extractWeights(minStdDev.box1.RP) >= minStdDev.box1.RP$portfolio$constraints[[2]]$min), is_true()) })5758test_that("minES.box1.RP max box constraints are not violated",59{ expect_that(all(extractWeights(minStdDev.box1.RP) <= minStdDev.box1.RP$portfolio$constraints[[2]]$max), is_true()) })6061###### RP, full_investment, box, min StdDev ######62context("minStdDev.box2.RP")6364test_that("minStdDev.box2.RP contains StdDev as an objective",65{ expect_that(minStdDev.box2.RP$portfolio$objectives[[1]]$name == "StdDev", is_true()) })6667test_that("minStdDev.box2.RP contains mean as an objective",68{ expect_that(minStdDev.box2.RP$portfolio$objectives[[2]]$name == "mean", is_true()) })6970test_that("minStdDev.box2.RP objective measure StDev is numeric",71{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box2.RP)$StdDev), is_true()) })7273test_that("minStdDev.box2.RP objective measure mean is numeric",74{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box2.RP)$mean), is_true()) })7576test_that("minStdDev.box2.RP min box constraints are not violated",77{ expect_that(all(extractWeights(minStdDev.box2.RP) >= minStdDev.box2.RP$portfolio$constraints[[2]]$min), is_true()) })7879test_that("minES.box1.RP max box constraints are not violated",80{ expect_that(all(extractWeights(minStdDev.box2.RP) <= minStdDev.box2.RP$portfolio$constraints[[2]]$max), is_true()) })8182###### DE, full_investment, box, min StdDev ######83context("minStdDev.box.DE")8485test_that("minStdDev.box.DE contains StdDev as an objective",86{ expect_that(minStdDev.box.DE$portfolio$objectives[[1]]$name == "StdDev", is_true()) })8788test_that("minStdDev.box.DE contains mean as an objective",89{ expect_that(minStdDev.box.DE$portfolio$objectives[[2]]$name == "mean", is_true()) })9091test_that("minStdDev.box.DE objective measure StDev is numeric",92{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box.DE)$StdDev), is_true()) })9394test_that("minStdDev.box.DE objective measure mean is numeric",95{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box.DE)$mean), is_true()) })9697test_that("minStdDev.box.DE min box constraints are not violated",98{ expect_that(all(extractWeights(minStdDev.box.DE) >= minStdDev.box.DE$portfolio$constraints[[2]]$min), is_true()) })99100test_that("minES.box1.RP max box constraints are not violated",101{ expect_that(all(extractWeights(minStdDev.box.DE) <= minStdDev.box.DE$portfolio$constraints[[2]]$max), is_true()) })102103104105