Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
braverock
GitHub Repository: braverock/portfolioanalytics
Path: blob/master/inst/tests/test_demo_leverage.R
1433 views
1
2
##### Load packages #####
3
require(testthat)
4
require(PortfolioAnalytics)
5
6
##### Source Demo Script #####
7
source(system.file("demo/demo_leverage_exposure_constraint.R", package="PortfolioAnalytics"))
8
9
10
context("dollar neutral portfolio")
11
12
test_that("dollar.neutral.portf min_sum constraint is -0.01",
13
{ expect_equal(dollar.neutral.portf$constraints[[1]]$min_sum, -0.01) })
14
15
test_that("dollar.neutral.portf max_sum constraint is 0.01",
16
{ expect_equal(dollar.neutral.portf$constraints[[1]]$max_sum, 0.01) })
17
18
test_that("dollar.neutral.portf leverage exposure constraint is 2",
19
{ expect_equal(dollar.neutral.portf$constraints[[3]]$leverage, 2) })
20
21
test_that("dollar.neutral.portf weights is a numeric vector",
22
{ expect_that(is.numeric(extractWeights(dollar.neutral.opt)), is_true()) })
23
24
test_that("dollar.neutral.portf leverage exposure constraint is not violated",
25
{ expect_that(sum(abs(extractWeights(dollar.neutral.opt))) <= 2, is_true()) })
26
27
test_that("dollar.neutral.portf objective measure mean is numeric",
28
{ expect_that(is.numeric(extractObjectiveMeasures(dollar.neutral.opt)$mean), is_true()) })
29
30
test_that("dollar.neutral.portf objective measure ES is numeric",
31
{ expect_that(is.numeric(extractObjectiveMeasures(dollar.neutral.opt)$ES), is_true()) })
32
33
34
context("leveraged portfolio")
35
36
test_that("leveraged.portf min_sum constraint is 0.99",
37
{ expect_equal(leveraged.portf$constraints[[1]]$min_sum, 0.99) })
38
39
test_that("leveraged.portf max_sum constraint is 1.01",
40
{ expect_equal(leveraged.portf$constraints[[1]]$max_sum, 1.01) })
41
42
test_that("leveraged.portf leverage exposure constraint is 1.6",
43
{ expect_equal(leveraged.portf$constraints[[3]]$leverage, 1.6) })
44
45
test_that("leveraged.opt weights is a numeric vector",
46
{ expect_that(is.numeric(extractWeights(leveraged.opt)), is_true()) })
47
48
test_that("leveraged.opt leverage exposure constraint is not violated",
49
{ expect_that(sum(abs(extractWeights(leveraged.opt))) <= 1.6, is_true()) })
50
51
test_that("leveraged.opt objective measure mean is numeric",
52
{ expect_that(is.numeric(extractObjectiveMeasures(leveraged.opt)$mean), is_true()) })
53
54
test_that("leveraged.opt objective measure ES is numeric",
55
{ expect_that(is.numeric(extractObjectiveMeasures(leveraged.opt)$ES), is_true()) })
56
57