## Loading required package: ggplot2
## Loading required package: gridExtra
## Loading required package: reshape2
## Loading required package: VineCopula
## Loading required package: randtoolbox
## Loading required package: rngWELL
## This is randtoolbox. For an overview, type 'help("randtoolbox")'.
##
##
## This is version 1.2.1 of esgtoolkit. Starting with 1.0.0, package renamed as: 'esgtoolkit' (lowercase)
##
##
r0 <- 0.03
S0 <- 100
set.seed(10)
eps0 <- esgtoolkit::simshocks(n = 100, horizon = 3, frequency = "quart")
eps_trend <- eps0 + 0.1 * seq_len(nrow(eps0))
sim.GBM <- esgtoolkit::simdiff(n = 100, horizon = 3, frequency = "quart",
model = "GBM",
x0 = S0, theta1 = r0, theta2 = 0.1,
eps = eps0, seed=10001)
sim.GBM_trend <- esgtoolkit::simdiff(n = 100, horizon = 3, frequency = "quart",
model = "GBM",
x0 = S0, theta1 = r0, theta2 = 0.1,
eps = eps_trend, seed=10001)
(test1 <- esgtoolkit::esgmartingaletest(r = r0, X = sim.GBM, p0 = S0,
alpha = 0.05, method = "trend"))
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## $model
##
## Call:
## lm(formula = Y ~ X_past - 1)
##
## Coefficients:
## X_past1 X_past2 X_past3 X_past4 X_past5 X_past6 X_past7 X_past8
## -0.14911 0.16504 -0.25267 -0.20162 0.18199 -0.01611 0.15397 -0.12724
## X_past9 X_past10 X_past11 X_past12
## 0.03833 0.15083 -0.07937 -0.09135
##
##
## $confint
## 2.5 % 97.5 %
## X_past1 -1.6705836 1.37236886
## X_past2 -0.1841338 0.51422004
## X_past3 -0.5414766 0.03612904
## X_past4 -0.4916885 0.08844394
## X_past5 -0.1447822 0.50876978
## X_past6 -0.3226561 0.29042713
## X_past7 -0.1838445 0.49177573
## X_past8 -0.4451835 0.19070439
## X_past9 -0.2883042 0.36495517
## X_past10 -0.1648232 0.46648312
## X_past11 -0.4258725 0.26714026
## X_past12 -0.3295031 0.14679911
##
## $regression_summary
##
## Call:
## lm(formula = Y ~ X_past - 1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.3141 -3.4157 0.1431 3.0048 13.7746
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## X_past1 -0.14911 0.76560 -0.195 0.8460
## X_past2 0.16504 0.17571 0.939 0.3501
## X_past3 -0.25267 0.14532 -1.739 0.0856 .
## X_past4 -0.20162 0.14596 -1.381 0.1707
## X_past5 0.18199 0.16443 1.107 0.2714
## X_past6 -0.01611 0.15425 -0.104 0.9170
## X_past7 0.15397 0.16999 0.906 0.3675
## X_past8 -0.12724 0.15999 -0.795 0.4286
## X_past9 0.03833 0.16436 0.233 0.8162
## X_past10 0.15083 0.15884 0.950 0.3449
## X_past11 -0.07937 0.17436 -0.455 0.6501
## X_past12 -0.09135 0.11984 -0.762 0.4479
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.43 on 88 degrees of freedom
## Multiple R-squared: 0.1238, Adjusted R-squared: 0.004291
## F-statistic: 1.036 on 12 and 88 DF, p-value: 0.424
##
##
## $F_statistic
## value
## 1.035915
##
## $F_critical_value
## [1] 1.86387
##
## $F_p_value
## value
## 0.4240198
##
## $ADF_p_value
## [1] 0.99
##
## $Ljung_Box_p_value
## [1] 0.5998307
(test2 <- esgtoolkit::esgmartingaletest(r = r0, X = sim.GBM_trend, p0 = S0,
alpha = 0.05, method = "trend"))
## $model
##
## Call:
## lm(formula = Y ~ X_past - 1)
##
## Coefficients:
## X_past1 X_past2 X_past3 X_past4 X_past5 X_past6 X_past7
## -10.57510 0.24255 -0.36764 -0.28899 0.25569 -0.02208 0.20474
## X_past8 X_past9 X_past10 X_past11 X_past12
## -0.16338 0.04728 0.17789 -0.08904 -0.03516
##
##
## $confint
## 2.5 % 97.5 %
## X_past1 -16.1430911 -5.00710403
## X_past2 -0.2706056 0.75570513
## X_past3 -0.7878438 0.05256744
## X_past4 -0.7047516 0.12676931
## X_past5 -0.2034114 0.71479488
## X_past6 -0.4421226 0.39796047
## X_past7 -0.2444695 0.65394469
## X_past8 -0.5716269 0.24486928
## X_past9 -0.3556745 0.45023718
## X_past10 -0.1943914 0.55016698
## X_past11 -0.4777750 0.29969756
## X_past12 -0.2880419 0.21771320
##
## $regression_summary
##
## Call:
## lm(formula = Y ~ X_past - 1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.1876 -5.0450 0.2114 4.4381 20.3448
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## X_past1 -10.57510 2.80180 -3.774 0.000291 ***
## X_past2 0.24255 0.25822 0.939 0.350138
## X_past3 -0.36764 0.21145 -1.739 0.085588 .
## X_past4 -0.28899 0.20921 -1.381 0.170670
## X_past5 0.25569 0.23102 1.107 0.271398
## X_past6 -0.02208 0.21136 -0.104 0.917035
## X_past7 0.20474 0.22604 0.906 0.367537
## X_past8 -0.16338 0.20543 -0.795 0.428577
## X_past9 0.04728 0.20277 0.233 0.816162
## X_past10 0.17789 0.18733 0.950 0.344919
## X_past11 -0.08904 0.19561 -0.455 0.650099
## X_past12 -0.03516 0.12725 -0.276 0.782930
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.021 on 88 degrees of freedom
## Multiple R-squared: 0.5881, Adjusted R-squared: 0.532
## F-statistic: 10.47 on 12 and 88 DF, p-value: 1.63e-12
##
##
## $F_statistic
## value
## 10.47123
##
## $F_critical_value
## [1] 1.86387
##
## $F_p_value
## value
## 1.629597e-12
##
## $ADF_p_value
## [1] 0.99
##
## $Ljung_Box_p_value
## [1] 0.5998307
(test1_ratio <- esgtoolkit::esgmartingaletest(r = r0, X = sim.GBM, p0 = S0,
alpha = 0.05, method = "ratio"))
##
## One Sample t-test
##
## data: -log(Dt/Y)
## t = 3.6212, df = 1299, p-value = 0.0003045
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.004930759 0.016589169
## sample estimates:
## mean of x
## 0.01075996
(test2_ratio <- esgtoolkit::esgmartingaletest(r = r0, X = sim.GBM_trend, p0 = S0,
alpha = 0.05, method = "ratio"))
##
## One Sample t-test
##
## data: -log(Dt/Y)
## t = -28.306, df = 1299, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.1381972 -0.1202828
## sample estimates:
## mean of x
## -0.12924
(test3 <- esgtoolkit::esgmartingaletest(r = r0, X = sim.GBM, p0 = S0,
alpha = 0.05))
##
## martingale '1=1' one Sample t-test
##
## alternative hypothesis: true mean of the martingale difference is not equal to 0
##
## df = 99
## t p-value
## 0 Q2 -1.23133508 0.2211146
## 0 Q3 -0.86706246 0.3880045
## 0 Q4 -0.03979258 0.9683386
## 1 Q1 -0.78853728 0.4322667
## 1 Q2 -0.85421446 0.3950485
## 1 Q3 -1.00243504 0.3185774
## 1 Q4 -0.64526489 0.5202482
## 2 Q1 -0.81032744 0.4196956
## 2 Q2 -0.18944936 0.8501285
## 2 Q3 -0.18407588 0.8543305
## 2 Q4 0.16306302 0.8708012
## 3 Q1 0.09358936 0.9256245
##
## 95 percent confidence intervals for the mean :
## c.i lower bound c.i upper bound
## 0 Q1 0.000000 0.0000000
## 0 Q2 -1.415461 0.3314127
## 0 Q3 -1.990430 0.7798667
## 0 Q4 -1.744826 1.6762189
## 1 Q1 -2.629092 1.1337289
## 1 Q2 -2.872560 1.1435895
## 1 Q3 -3.227314 1.0608930
## 1 Q4 -3.092177 1.5745601
## 2 Q1 -3.400502 1.4284311
## 2 Q2 -2.961712 2.4454467
## 2 Q3 -2.826997 2.3470049
## 2 Q4 -2.545313 3.0011186
## 3 Q1 -2.804901 3.0825960
## $t
## Qtr1 Qtr2 Qtr3 Qtr4
## 0 -1.23133508 -0.86706246 -0.03979258
## 1 -0.78853728 -0.85421446 -1.00243504 -0.64526489
## 2 -0.81032744 -0.18944936 -0.18407588 0.16306302
## 3 0.09358936
##
## $p.value
## Qtr1 Qtr2 Qtr3 Qtr4
## 0 0.2211146 0.3880045 0.9683386
## 1 0.4322667 0.3950485 0.3185774 0.5202482
## 2 0.4196956 0.8501285 0.8543305 0.8708012
## 3 0.9256245
##
## $samplemean
## Qtr1 Qtr2 Qtr3 Qtr4
## 0 -0.54202403 -0.60528170 -0.03430376
## 1 -0.74768145 -0.86448540 -1.08321039 -0.75880860
## 2 -0.98603566 -0.25813277 -0.23999618 0.22790296
## 3 0.13884749
##
## $conf.int
## Series 1 Series 2
## 0 Q1 0.000000 0.0000000
## 0 Q2 -1.415461 0.3314127
## 0 Q3 -1.990430 0.7798667
## 0 Q4 -1.744826 1.6762189
## 1 Q1 -2.629092 1.1337289
## 1 Q2 -2.872560 1.1435895
## 1 Q3 -3.227314 1.0608930
## 1 Q4 -3.092177 1.5745601
## 2 Q1 -3.400502 1.4284311
## 2 Q2 -2.961712 2.4454467
## 2 Q3 -2.826997 2.3470049
## 2 Q4 -2.545313 3.0011186
## 3 Q1 -2.804901 3.0825960
##
## $truemean
## [1] 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## $true_prices
## [1] 100 100 100 100 100 100 100 100 100 100 100 100 100
##
## $mc.prices
## [1] 99.25281 99.45798 99.39472 99.96570 99.25232 99.13551 98.91679
## [8] 99.24119 99.01396 99.74187 99.76000 100.22790 100.13885

(test4 <- esgtoolkit::esgmartingaletest(r = r0, X = sim.GBM_trend, p0 = S0,
alpha = 0.05))
##
## martingale '1=1' one Sample t-test
##
## alternative hypothesis: true mean of the martingale difference is not equal to 0
##
## df = 99
## t p-value
## 0 Q2 -0.09830242 9.218909e-01
## 0 Q3 1.26564339 2.086113e-01
## 0 Q4 3.38854397 1.009793e-03
## 1 Q1 4.35501911 3.248801e-05
## 1 Q2 6.28558899 8.832209e-09
## 1 Q3 8.22182946 8.017342e-13
## 1 Q4 10.46406421 1.065632e-17
## 2 Q1 12.72722237 1.464574e-22
## 2 Q2 14.59789208 1.997160e-26
## 2 Q3 18.25662272 1.864629e-33
## 2 Q4 20.27387917 5.091006e-37
## 3 Q1 21.86138734 1.126498e-39
##
## 95 percent confidence intervals for the mean :
## c.i lower bound c.i upper bound
## 0 Q1 0.0000000 0.000000
## 0 Q2 -0.9213037 0.834326
## 0 Q3 -0.5092052 2.302959
## 0 Q4 1.2474891 4.772721
## 1 Q1 2.3632214 6.318966
## 1 Q2 4.6921279 9.021072
## 1 Q3 7.4864493 12.249406
## 1 Q4 11.4705294 16.838555
## 2 Q1 15.6505958 21.431879
## 2 Q2 21.5232520 28.294760
## 2 Q3 27.9312389 34.742971
## 2 Q4 35.5563641 43.271273
## 3 Q1 43.5552945 52.251014
## $t
## Qtr1 Qtr2 Qtr3 Qtr4
## 0 -0.09830242 1.26564339 3.38854397
## 1 4.35501911 6.28558899 8.22182946 10.46406421
## 2 12.72722237 14.59789208 18.25662272 20.27387917
## 3 21.86138734
##
## $p.value
## Qtr1 Qtr2 Qtr3 Qtr4
## 0 9.218909e-01 2.086113e-01 1.009793e-03
## 1 3.248801e-05 8.832209e-09 8.017342e-13 1.065632e-17
## 2 1.464574e-22 1.997160e-26 1.864629e-33 5.091006e-37
## 3 1.126498e-39
##
## $samplemean
## Qtr1 Qtr2 Qtr3 Qtr4
## 0 -0.04348885 0.89687710 3.01010493
## 1 4.34109374 6.85659997 9.86792776 14.15454224
## 2 18.54123730 24.90900609 31.33710516 39.41381860
## 3 47.90315446
##
## $conf.int
## Series 1 Series 2
## 0 Q1 0.0000000 0.000000
## 0 Q2 -0.9213037 0.834326
## 0 Q3 -0.5092052 2.302959
## 0 Q4 1.2474891 4.772721
## 1 Q1 2.3632214 6.318966
## 1 Q2 4.6921279 9.021072
## 1 Q3 7.4864493 12.249406
## 1 Q4 11.4705294 16.838555
## 2 Q1 15.6505958 21.431879
## 2 Q2 21.5232520 28.294760
## 2 Q3 27.9312389 34.742971
## 2 Q4 35.5563641 43.271273
## 3 Q1 43.5552945 52.251014
##
## $truemean
## [1] 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## $true_prices
## [1] 100 100 100 100 100 100 100 100 100 100 100 100 100
##
## $mc.prices
## [1] 99.25281 99.95651 100.89688 103.01010 104.34109 106.85660 109.86793
## [8] 114.15454 118.54124 124.90901 131.33711 139.41382 147.90315
