Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
braverock
GitHub Repository: braverock/portfolioanalytics
Path: blob/master/inst/tests/test_demo_min_StdDev.R
1433 views
1
##### Load packages #####
2
require(testthat)
3
require(PortfolioAnalytics)
4
5
##### Source Demo Script #####
6
source(system.file("demo/demo_min_StdDev.R", package="PortfolioAnalytics"))
7
8
9
context("demo_min_StdDev")
10
11
###### ROI, full_investment, long only, min StdDev ######
12
context("minStdDev.lo.ROI")
13
14
test_that("minStdDev.lo.ROI contains StdDev as an objective",
15
{ expect_that(minStdDev.lo.ROI$portfolio$objectives[[1]]$name == "StdDev", is_true()) })
16
17
test_that("minStdDev.lo.ROI objective measure StdDev = 0.008251084",
18
{ expect_equal(as.numeric(extractObjectiveMeasures(minStdDev.lo.ROI)$StdDev), 0.008251084, tolerance=1e-6) })
19
20
test_that("minStdDev.lo.ROI min box constraints are not violated",
21
{ expect_that(all(extractWeights(minStdDev.lo.ROI) >= minStdDev.lo.ROI$portfolio$constraints[[2]]$min), is_true()) })
22
23
test_that("minStdDev.lo.ROI max box constraints are not violated",
24
{ expect_that(all(extractWeights(minStdDev.lo.ROI) <= minStdDev.lo.ROI$portfolio$constraints[[2]]$max), is_true()) })
25
26
###### ROI, full_investment, box, min StdDev ######
27
context("minStdDev.box.ROI")
28
29
test_that("minStdDev.box.ROI contains StdDev as an objective",
30
{ expect_that(minStdDev.box.ROI$portfolio$objectives[[1]]$name == "StdDev", is_true()) })
31
32
test_that("minStdDev.box.ROI objective measure StdDev = 0.01096122",
33
{ expect_equal(as.numeric(extractObjectiveMeasures(minStdDev.box.ROI)$StdDev), 0.01096122, tolerance=1e-6) })
34
35
test_that("minStdDev.box.ROI min box constraints are not violated",
36
{ expect_that(all(extractWeights(minStdDev.box.ROI) >= minStdDev.box.ROI$portfolio$constraints[[2]]$min), is_true()) })
37
38
test_that("minStdDev.box.ROI max box constraints are not violated",
39
{ expect_that(all(extractWeights(minStdDev.box.ROI) <= minStdDev.box.ROI$portfolio$constraints[[2]]$max), is_true()) })
40
41
###### RP, full_investment, box, min ES ######
42
context("minStdDev.box1.RP")
43
44
test_that("minStdDev.box1.RP contains StdDev as an objective",
45
{ expect_that(minStdDev.box1.RP$portfolio$objectives[[1]]$name == "StdDev", is_true()) })
46
47
test_that("minStdDev.box1.RP contains mean as an objective",
48
{ expect_that(minStdDev.box1.RP$portfolio$objectives[[2]]$name == "mean", is_true()) })
49
50
test_that("minStdDev.box1.RP objective measure StDev is numeric",
51
{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box1.RP)$StdDev), is_true()) })
52
53
test_that("minStdDev.box1.RP objective measure mean is numeric",
54
{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box1.RP)$mean), is_true()) })
55
56
test_that("minStdDev.box1.RP min box constraints are not violated",
57
{ expect_that(all(extractWeights(minStdDev.box1.RP) >= minStdDev.box1.RP$portfolio$constraints[[2]]$min), is_true()) })
58
59
test_that("minES.box1.RP max box constraints are not violated",
60
{ expect_that(all(extractWeights(minStdDev.box1.RP) <= minStdDev.box1.RP$portfolio$constraints[[2]]$max), is_true()) })
61
62
###### RP, full_investment, box, min StdDev ######
63
context("minStdDev.box2.RP")
64
65
test_that("minStdDev.box2.RP contains StdDev as an objective",
66
{ expect_that(minStdDev.box2.RP$portfolio$objectives[[1]]$name == "StdDev", is_true()) })
67
68
test_that("minStdDev.box2.RP contains mean as an objective",
69
{ expect_that(minStdDev.box2.RP$portfolio$objectives[[2]]$name == "mean", is_true()) })
70
71
test_that("minStdDev.box2.RP objective measure StDev is numeric",
72
{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box2.RP)$StdDev), is_true()) })
73
74
test_that("minStdDev.box2.RP objective measure mean is numeric",
75
{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box2.RP)$mean), is_true()) })
76
77
test_that("minStdDev.box2.RP min box constraints are not violated",
78
{ expect_that(all(extractWeights(minStdDev.box2.RP) >= minStdDev.box2.RP$portfolio$constraints[[2]]$min), is_true()) })
79
80
test_that("minES.box1.RP max box constraints are not violated",
81
{ expect_that(all(extractWeights(minStdDev.box2.RP) <= minStdDev.box2.RP$portfolio$constraints[[2]]$max), is_true()) })
82
83
###### DE, full_investment, box, min StdDev ######
84
context("minStdDev.box.DE")
85
86
test_that("minStdDev.box.DE contains StdDev as an objective",
87
{ expect_that(minStdDev.box.DE$portfolio$objectives[[1]]$name == "StdDev", is_true()) })
88
89
test_that("minStdDev.box.DE contains mean as an objective",
90
{ expect_that(minStdDev.box.DE$portfolio$objectives[[2]]$name == "mean", is_true()) })
91
92
test_that("minStdDev.box.DE objective measure StDev is numeric",
93
{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box.DE)$StdDev), is_true()) })
94
95
test_that("minStdDev.box.DE objective measure mean is numeric",
96
{ expect_that(is.numeric(extractObjectiveMeasures(minStdDev.box.DE)$mean), is_true()) })
97
98
test_that("minStdDev.box.DE min box constraints are not violated",
99
{ expect_that(all(extractWeights(minStdDev.box.DE) >= minStdDev.box.DE$portfolio$constraints[[2]]$min), is_true()) })
100
101
test_that("minES.box1.RP max box constraints are not violated",
102
{ expect_that(all(extractWeights(minStdDev.box.DE) <= minStdDev.box.DE$portfolio$constraints[[2]]$max), is_true()) })
103
104
105