To determine whether momentum trading strategy actualy yields better returns than the typical market porfolios.
We used data from four countries to do our analysis. The USA, UK, Germany & Kenya (Note: The Kenyan Market was used as a control for market efficiency our main focus was on the USA, UK & German Market).
The Data was daily and ranged from 2015 to 2020. It was obtained from Investing.com
We used Technology and Bank Stocks in our analysis and for our benchmark to compare returns to, we used the individual countries’ market portfolios. Since the market portfolios typically contain large cap stocks, for the Tech and Bank stocks we also picked large cap stocks for it to be a fair benchmark.
Momentum strategies draw from the idea that stocks go through ‘hot’ and ‘cold’ periods. This means that investors buy stocks that seem to be rising as they believe it will continue to do so and sell those that are losing as they believe they will as well continue to do so.
To capture this we had a specified ranking period (14 Days) from which we observed the direction the stock was heading and after which we bought or sold it for the next 7 Days and continued to rebalance the portfolio after these intervals.
We then simulated another specification where we had ranking period of (30 Days) to see if it changes the result.
The excel file attached to this has our prior calculations for asset selection.
We bought stocks that had the highest 14 day cumulative returns (Winner Stocks) and sold the ones that had the lowest trailing 14 day cumulative returns (Loser Stocks).
Yt = α + βXt + ε
Y - The Momentum portfolio.
X - The Market portfolio.
This specification allows us to capture alpha (α). Which is the risk adjusted excess return i.e. By how much did the momentum strategy outperform the market portfolio after factoring in the risk attributes of returns.
We looked at both the economic significance and statistical significance to determine if the strategy adequately outperformed the market portfolio.
Other than just comparing it it to the market portfolio, we made a simmulation of the cumulative return achived by the momentum strategy through out the period (2015-2020) and compared it to the cumulative return achieved by some one who just bought the same assets at the beginning and held it for the whole period without rebalancing.
library(readxl)
## Warning: package 'readxl' was built under R version 3.6.3
library(rtf)
## Warning: package 'rtf' was built under R version 3.6.3
library(tseries)
## Warning: package 'tseries' was built under R version 3.6.3
library(fBasics)
## Warning: package 'fBasics' was built under R version 3.6.3
## Warning: package 'timeDate' was built under R version 3.6.3
## Warning: package 'timeSeries' was built under R version 3.6.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.6.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.6.3
library(tibble)
## Warning: package 'tibble' was built under R version 3.6.3
library(PerformanceAnalytics)
## Warning: package 'PerformanceAnalytics' was built under R version 3.6.3
## Warning: package 'xts' was built under R version 3.6.3
## Warning: package 'zoo' was built under R version 3.6.3
setwd("C:/Users/HP/OneDrive/Documents/BBS 4.2/FMM")
WML<-read_excel("~/WML.xlsx")
WML<-as.data.frame(WML)
DATA=subset(WML,select = -c(DATE))
Descriptive_Stats<- basicStats(DATA)
Descriptive_Stats<- t(Descriptive_Stats)
Summary_Stats=subset(Descriptive_Stats,select = c(Minimum,Maximum,Mean,Median,Stdev,Skewness,Kurtosis))
subset(Descriptive_Stats,select = c(Minimum,Maximum,Mean,Median,Stdev,Skewness,Kurtosis))
## Minimum Maximum Mean Median Stdev Skewness
## LONWINNER -0.333661 0.131433 -0.000163 0.000176 0.018684 -3.595141
## LONLOSER -0.118617 0.114958 -0.000408 -0.000059 0.017188 -0.292026
## USWINNER -1.493078 1.500931 0.001402 0.000962 0.059305 0.111096
## USLOSER -0.151735 0.090399 0.000164 0.000565 0.017612 -0.546098
## GERWINNER -0.130168 0.098594 0.000290 0.000513 0.016667 -0.362665
## GERLOSER -0.091179 0.090470 -0.000505 -0.000288 0.016752 -0.064039
## KENWINNER -0.093351 0.084145 0.000167 0.000000 0.017411 -0.251999
## KENLOSER -0.075674 0.091161 0.000113 0.000000 0.017495 0.082651
## LONDON_WML -0.287697 0.097924 0.000246 0.000421 0.019871 -1.831178
## USA_WML -1.510559 1.501911 0.001238 0.000513 0.060585 -0.203777
## GERMANY_WML -0.126538 0.164290 0.000795 0.000809 0.020729 0.079901
## KENYA_WML -0.100852 0.130441 -0.000666 -0.000517 0.024092 0.113683
## LONDON_HOLD -0.075925 0.033327 -0.000118 0.000035 0.005984 -1.760522
## US_HOLD -0.298811 0.301934 0.000310 0.000540 0.012724 0.166432
## GERM_HOLD -0.026891 0.030176 -0.000043 -0.000130 0.005243 -0.105874
## FTSE.RETURN -0.115124 0.086668 -0.000049 0.000470 0.011020 -0.971568
## SNP500.RETURN -0.071410 0.060343 0.000387 0.000921 0.009725 -0.737732
## HDAX.RET -0.093760 0.080174 0.000174 0.000610 0.012655 -0.555055
## NSE20.RETURN -0.051382 0.033612 -0.000728 -0.000633 0.007101 -0.801602
## LON_EX_RETURN -5.049427 3.351245 -0.004924 0.001825 0.246522 -6.157929
## US_EX_RETURN -3.496803 4.330336 -0.002370 0.000537 0.367312 1.675506
## GER_EX_RETURN -1.485797 0.577677 -0.002730 0.000423 0.083395 -6.160912
## KEN_EX_RETURN -1.508712 1.502027 0.001047 0.000000 0.062168 -0.126440
## LON_MKT_EX -5.052553 3.329261 -0.005218 0.000901 0.245515 -6.304645
## US_MKT_EX -3.510042 4.344437 -0.003221 0.000909 0.364970 1.744410
## GER_MKY_EX -1.495855 0.564464 -0.003350 0.000222 0.082171 -6.596775
## KEN_MKY_EX -0.761006 0.744363 -0.005015 -0.005789 0.031138 -0.195407
## LOND_30 -3.490337 4.327849 0.002752 0.000774 0.365600 1.998911
## USA_30 -3.389329 5.070674 0.006303 -0.001478 0.255116 5.719307
## GERM_30 -3.482609 4.332158 0.002580 0.001282 0.363217 2.085256
## LONMKT_30 -0.115124 0.086668 -0.000060 0.000482 0.011068 -0.967615
## USAMKT_30 -0.071410 0.060343 0.000375 0.000924 0.009733 -0.742025
## GERMMKT_30 -0.093760 0.080174 0.000155 0.000582 0.012698 -0.553436
## Kurtosis
## LONWINNER 75.213574
## LONLOSER 6.963096
## USWINNER 551.488006
## USLOSER 7.353672
## GERWINNER 6.559853
## GERLOSER 3.994712
## KENWINNER 3.361015
## KENLOSER 2.681949
## LONDON_WML 31.962242
## USA_WML 518.835152
## GERMANY_WML 5.549413
## KENYA_WML 1.749067
## LONDON_HOLD 24.937266
## US_HOLD 421.655517
## GERM_HOLD 2.983892
## FTSE.RETURN 14.051914
## SNP500.RETURN 7.012699
## HDAX.RET 7.953894
## NSE20.RETURN 5.766428
## LON_EX_RETURN 180.724615
## US_EX_RETURN 53.871236
## GER_EX_RETURN 105.992033
## KEN_EX_RETURN 466.700875
## LON_MKT_EX 182.769203
## US_MKT_EX 55.729255
## GER_MKY_EX 114.380661
## KEN_MKY_EX 463.458075
## LOND_30 53.059390
## USA_30 162.838620
## GERM_30 54.604646
## LONMKT_30 13.935561
## USAMKT_30 7.070617
## GERMMKT_30 7.916660
rtffile <- RTF("descriptive_Stats.doc")
addText(rtffile, "\t\tTable 1: Descriptive statistics \n\n", bold=TRUE, italic=FALSE)
Variable<-rownames(Summary_Stats)
addHeader(rtffile, title="\\i Descriptive stats ")
addTable(rtffile, cbind(Variable, Summary_Stats), font.size=8)
done(rtffile)
LOND_WML<-ts((WML$LONDON_WML))
USA_WML<-ts((WML$USA_WML))
GERM_WML<-ts((WML$GERMANY_WML))
KEN_WML<-ts((WML$KENYA_WML))
FTSE<-ts(WML$`FTSE-RETURN`)
SNP500<-ts((WML$`SNP500-RETURN`))
HDAX<-ts((WML$`HDAX-RET`))
NSE20<-ts((WML$`NSE20-RETURN`))
LOND_HOLD<-ts((WML$LONDON_HOLD))
USA_HOLD<-ts((WML$US_HOLD))
GERM_HOLD<-ts((WML$GERM_HOLD))
TSDATA=cbind.data.frame(LOND_WML,USA_WML,GERM_WML,KEN_WML,FTSE,SNP500,HDAX,NSE20)
LONDONTS=cbind.data.frame(LOND_WML,LOND_HOLD)
USATS=cbind.data.frame(USA_WML,USA_HOLD)
GERMTS=cbind.data.frame(GERM_WML,GERM_HOLD)
plot(LOND_WML,type="l",col="cadetblue",lwd=2,ylab="Return",xlab="Time",main="London_Winner_Minus_Loser")
plot(USA_WML,type="l",col="darksalmon",lwd=2,ylab="Return",xlab="Time",main="USA_Winner_Minus_Loser")
plot(GERM_WML,type="l",col="darkkhaki",lwd=2,ylab="Return",xlab="Time",main="Germany_Winner_Minus_Loser")
plot(KEN_WML,type="l",col="cadetblue",lwd=2,ylab="Return",xlab="Time",main="Kenya_Winner_Minus_Loser")
plot(FTSE,type="l",col="darkmagenta",lwd=2,ylab="Return",xlab="Time",main="FTSE")
plot(SNP500,type="l",col="coral",lwd=2,ylab="Return",xlab="Time",main="SNP500")
plot(HDAX,type="l",col="brown",lwd=2,ylab="Return",xlab="Time",main="HDAX")
plot(NSE20,type="l",col="darkmagenta",lwd=2,ylab="Return",xlab="Time",main="NSE20")
p <- ggplot(TSDATA, aes(x =LOND_WML))
p + geom_histogram(fill="cyan", colour="black")+ geom_density(aes(y=0.02*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p <- ggplot(TSDATA, aes(x =USA_WML))
p + geom_histogram(fill="plum", colour="black")+ geom_density(aes(y=0.08*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p <- ggplot(TSDATA, aes(x =GERM_WML))
p + geom_histogram(fill="burlywood1", colour="black")+ geom_density(aes(y=0.009*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p <- ggplot(TSDATA, aes(x =KEN_WML))
p + geom_histogram(fill="cyan", colour="black")+ geom_density(aes(y=0.009*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 2 rows containing non-finite values (stat_bin).
## Warning: Removed 2 rows containing non-finite values (stat_density).
p <- ggplot(TSDATA, aes(x =FTSE))
p + geom_histogram(fill="coral1", colour="black")+ geom_density(aes(y=0.01*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p <- ggplot(TSDATA, aes(x =SNP500))
p + geom_histogram(fill="burlywood1", colour="black")+ geom_density(aes(y=0.006*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p <- ggplot(TSDATA, aes(x =HDAX))
p + geom_histogram(fill="cornsilk", colour="black")+ geom_density(aes(y=0.007*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p <- ggplot(TSDATA, aes(x =NSE20))
p + geom_histogram(fill="coral1", colour="black")+ geom_density(aes(y=0.004*..count..), colour="red",lwd=1,adjust=4)
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
LondonMKT_EX=lm(WML$LON_EX_RETURN~WML$LON_MKT_EX)
USAMKT_EX=lm(WML$US_EX_RETURN~WML$US_MKT_EX)
GermanMKT_EX=lm(WML$GER_EX_RETURN~WML$GER_MKY_EX)
KenyaMKT_EX=lm(WML$KEN_EX_RETURN~WML$KEN_MKY_EX)
summary(LondonMKT_EX)
##
## Call:
## lm(formula = WML$LON_EX_RETURN ~ WML$LON_MKT_EX)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.256029 -0.011721 -0.000455 0.011583 0.123469
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0002931 0.0006004 0.488 0.626
## WML$LON_MKT_EX 0.9997325 0.0024459 408.735 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02298 on 1463 degrees of freedom
## Multiple R-squared: 0.9913, Adjusted R-squared: 0.9913
## F-statistic: 1.671e+05 on 1 and 1463 DF, p-value: < 2.2e-16
summary(USAMKT_EX)
##
## Call:
## lm(formula = WML$US_EX_RETURN ~ WML$US_MKT_EX)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.50458 -0.01420 -0.00081 0.01315 1.50237
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0008264 0.0015993 0.517 0.605
## WML$US_MKT_EX 0.9923536 0.0043833 226.396 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.06121 on 1463 degrees of freedom
## Multiple R-squared: 0.9722, Adjusted R-squared: 0.9722
## F-statistic: 5.126e+04 on 1 and 1463 DF, p-value: < 2.2e-16
summary(GermanMKT_EX)
##
## Call:
## lm(formula = WML$GER_EX_RETURN ~ WML$GER_MKY_EX)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.151940 -0.011277 0.000323 0.011227 0.149295
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0005423 0.0005924 0.915 0.36
## WML$GER_MKY_EX 0.9767528 0.0072059 135.549 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02266 on 1463 degrees of freedom
## Multiple R-squared: 0.9262, Adjusted R-squared: 0.9262
## F-statistic: 1.837e+04 on 1 and 1463 DF, p-value: < 2.2e-16
summary(KenyaMKT_EX)
##
## Call:
## lm(formula = WML$KEN_EX_RETURN ~ WML$KEN_MKY_EX)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.005015 -0.004491 0.002178 0.002262 0.007444
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.104e-02 9.693e-05 113.9 <2e-16 ***
## WML$KEN_MKY_EX 1.993e+00 3.074e-03 648.3 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.003663 on 1463 degrees of freedom
## Multiple R-squared: 0.9965, Adjusted R-squared: 0.9965
## F-statistic: 4.203e+05 on 1 and 1463 DF, p-value: < 2.2e-16
LondonMKT_WIN=lm(WML$LONWINNER~WML$`FTSE-RETURN`)
USAMKT_WIN=lm(WML$USWINNER~WML$`SNP500-RETURN`)
GermanMKT_WIN=lm(WML$GERWINNER~WML$`HDAX-RET`)
summary(LondonMKT_WIN)
##
## Call:
## lm(formula = WML$LONWINNER ~ WML$`FTSE-RETURN`)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.31783 -0.00757 -0.00012 0.00729 0.12288
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0001385 0.0004674 -0.296 0.767
## WML$`FTSE-RETURN` 0.4908665 0.0424305 11.569 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01789 on 1463 degrees of freedom
## Multiple R-squared: 0.08381, Adjusted R-squared: 0.08319
## F-statistic: 133.8 on 1 and 1463 DF, p-value: < 2.2e-16
summary(USAMKT_WIN)
##
## Call:
## lm(formula = WML$USWINNER ~ WML$`SNP500-RETURN`)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.48890 -0.00817 -0.00058 0.00747 1.50394
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.001013 0.001530 0.662 0.508
## WML$`SNP500-RETURN` 1.003285 0.157261 6.380 2.37e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05852 on 1463 degrees of freedom
## Multiple R-squared: 0.02707, Adjusted R-squared: 0.0264
## F-statistic: 40.7 on 1 and 1463 DF, p-value: 2.374e-10
summary(GermanMKT_WIN)
##
## Call:
## lm(formula = WML$GERWINNER ~ WML$`HDAX-RET`)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.142397 -0.007887 0.000428 0.007921 0.072729
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0002066 0.0004062 0.509 0.611
## WML$`HDAX-RET` 0.4758480 0.0321070 14.821 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01555 on 1463 degrees of freedom
## Multiple R-squared: 0.1305, Adjusted R-squared: 0.1299
## F-statistic: 219.7 on 1 and 1463 DF, p-value: < 2.2e-16
LondonMKT_LOS=lm(WML$LONLOSER~WML$`FTSE-RETURN`)
USAMKT_LOS=lm(WML$USLOSER~WML$`SNP500-RETURN`)
GermanMKT_LOS=lm(WML$GERLOSER~WML$`HDAX-RET`)
summary(LondonMKT_LOS)
##
## Call:
## lm(formula = WML$LONLOSER ~ WML$`FTSE-RETURN`)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.097458 -0.007964 0.000098 0.008289 0.104173
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0003818 0.0004217 -0.905 0.365
## WML$`FTSE-RETURN` 0.5373071 0.0382823 14.035 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01614 on 1463 degrees of freedom
## Multiple R-squared: 0.1187, Adjusted R-squared: 0.1181
## F-statistic: 197 on 1 and 1463 DF, p-value: < 2.2e-16
summary(USAMKT_LOS)
##
## Call:
## lm(formula = WML$USLOSER ~ WML$`SNP500-RETURN`)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.132214 -0.007048 0.000394 0.007097 0.064470
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0001979 0.0003947 -0.501 0.616
## WML$`SNP500-RETURN` 0.9337946 0.0405664 23.019 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01509 on 1463 degrees of freedom
## Multiple R-squared: 0.2659, Adjusted R-squared: 0.2654
## F-statistic: 529.9 on 1 and 1463 DF, p-value: < 2.2e-16
summary(GermanMKT_LOS)
##
## Call:
## lm(formula = WML$GERLOSER ~ WML$`HDAX-RET`)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.090888 -0.008401 0.000339 0.008254 0.104159
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0005481 0.0004302 -1.274 0.203
## WML$`HDAX-RET` 0.2470920 0.0340017 7.267 5.96e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01646 on 1463 degrees of freedom
## Multiple R-squared: 0.03484, Adjusted R-squared: 0.03418
## F-statistic: 52.81 on 1 and 1463 DF, p-value: 5.956e-13
LondonMKT_30D=lm(WML$LOND_30~WML$LONMKT_30)
USAMKT_30D=lm(WML$USA_30~WML$USAMKT_30)
GermanMKT_30D=lm(WML$GERM_30~WML$GERMMKT_30)
summary(LondonMKT_30D)
##
## Call:
## lm(formula = WML$LOND_30 ~ WML$LONMKT_30)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.4909 -0.0458 -0.0021 0.0408 4.3245
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.002773 0.009607 0.289 0.773
## WML$LONMKT_30 0.351048 0.868310 0.404 0.686
##
## Residual standard error: 0.3657 on 1447 degrees of freedom
## (16 observations deleted due to missingness)
## Multiple R-squared: 0.0001129, Adjusted R-squared: -0.0005781
## F-statistic: 0.1634 on 1 and 1447 DF, p-value: 0.6861
summary(USAMKT_30D)
##
## Call:
## lm(formula = WML$USA_30 ~ WML$USAMKT_30)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.3926 -0.0383 -0.0079 0.0288 5.0615
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.006055 0.006707 0.903 0.367
## WML$USAMKT_30 0.663489 0.688804 0.963 0.336
##
## Residual standard error: 0.2551 on 1447 degrees of freedom
## (16 observations deleted due to missingness)
## Multiple R-squared: 0.0006408, Adjusted R-squared: -4.983e-05
## F-statistic: 0.9278 on 1 and 1447 DF, p-value: 0.3356
summary(GermanMKT_30D)
##
## Call:
## lm(formula = WML$GERM_30 ~ WML$GERMMKT_30)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.4867 -0.0384 -0.0012 0.0330 4.3308
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.002596 0.009546 0.272 0.786
## WML$GERMMKT_30 -0.101034 0.751964 -0.134 0.893
##
## Residual standard error: 0.3633 on 1447 degrees of freedom
## (16 observations deleted due to missingness)
## Multiple R-squared: 1.248e-05, Adjusted R-squared: -0.0006786
## F-statistic: 0.01805 on 1 and 1447 DF, p-value: 0.8931
Note: In this section the graph that is green in colour indicates that in that coutry its is that strategy that outperformed the other.
charts.PerformanceSummary(LOND_WML,geometric=TRUE,main="London Winner Minus Loser", col="green")
charts.PerformanceSummary(LOND_HOLD,geometric=TRUE,main="London Hold", col="red")
charts.PerformanceSummary(USA_WML,geometric=TRUE,main="USA Winner Minus Loser", col="red")
charts.PerformanceSummary(USA_HOLD,geometric=TRUE,main="USA Hold", col="green")
charts.PerformanceSummary(GERM_WML,geometric=TRUE,main="Germany Winner Minus Loser", col="green")
charts.PerformanceSummary(GERM_HOLD,geometric=TRUE,main="Germany Hold", col="red")