You are on page 1of 10

Question 1

The p-values of the F-statistics of all models are <0.0001 showing that all models are statistically
significant and the dependent variable is explained by independent variables in the model, with
model 2 and model 5 having the highest F-statistics, followed by models 4, 6, 1, and 3
respectively. The R squared values of models 5 and 6 show that 46% of variations in Y is explained
by independent variables in both models, this explains that the models 5 and 6 have better
explanatory variables to the independent variable and are a better fit than the other models with
the independent variables explaining only 37%, 41%, 37% of changes in the dependent variable.
All explanatory variables in models 2 and 5 are statistically significant at a 1% confidence level
with p-values <0.0001, while for other models we cannot say there is no autocorrelation based
on the p-value of coefficients. Variable X1 has a negative coefficience for in all models meaning a
reduction in the explained variable Y for every unit of increase in the explanatory variable X1. For
every other independent variable, a one-unit increase would lead to a positive change in the
dependent variable.
From the above analysis, I would say model 5 is the most preferred model as it has the highest R
squared value showing the explanatory variables better explain the explained variable, it has one
of the highest F-statistics value, with p-values of all coefficients showing the independent
variables and equation in general are statistically significant. This is followed closely by models 2
and 6.
Using VIF to test for multicollinearity in preferred model 5, we have
VIF = 1/(1-R2) = 1.86
With a Variance Inflation Factor (VIF) < 5, the likelihood of correlation among explanatory
variables in model 5 is low.

Question 3
The Fama-French 3 factor model equation is
Rit −Rft = αit+β1(RMt −Rft)+β2SMBt+β3HMLt+ϵi t
Rit = total return of a stock or portfolio i at time t
Rft= risk free rate of return at time t
RMt= total market portfolio returns at time t
Rit−Rft= expected excess return
RMt−Rft= excess return on the market portfolio
SMBt= size premium (small minus big)
HMLt= value premium (high minus low)
β1,2,3=factor coefficients
αit = Alpha of the investment which is the return on investment that isn’t a result of the general
movement of the greater market.
ϵit = The error term for portfolio p at time t.

Question 4
The Fama French Model above improves upon CAPM by including the value risk and size risk
factors to the market risk factor contained in CAPM. It is a better tool for evaluating
management performance than the CAPM due to its value as some value and low capitalization
stocks tend to outperform others in the market

Question 5
 The Stock Returns for BTI from 3rd January 2019 to 31st December 2019 was used
(Excel Data attached)
 Data was imported from fama_factors_2019.csv and the BTI portfolio adjusted prices and
S&P 500 adjusted prices gotten from https://finance.yahoo.com/ and the following
calculations done in excel
 The S&P 500 Market Returns is calculated by the following formula:
( LN Current day S&P 500 adjusted price/LN previous day S&P 500 adjusted price)*100
 BTI Returns is gotten by:
( LN Current day adjusted price/LN previous day adjusted price)*100
 BTI Excess Returns = BTI Returns – Risk Free Rate (RF)
The Regression is done in R for the CAPM and FFM Model below.

2021-09-20
library(tidyquant)

## Warning: package 'tidyquant' was built under R version 3.6.3

## Loading required package: lubridate

## Warning: package 'lubridate' was built under R version 3.6.3

##
## Attaching package: 'lubridate'

## The following objects are masked from 'package:base':


##
## date, intersect, setdiff, union

## Loading required package: PerformanceAnalytics

## Warning: package 'PerformanceAnalytics' was built under R version 3.6.3

## Loading required package: xts

## Warning: package 'xts' was built under R version 3.6.3

## Loading required package: zoo

## Warning: package 'zoo' was built under R version 3.6.3

##
## Attaching package: 'zoo'

## The following objects are masked from 'package:base':


##
## as.Date, as.Date.numeric

##
## Attaching package: 'PerformanceAnalytics'

## The following object is masked from 'package:graphics':


##
## legend

## Loading required package: quantmod

## Warning: package 'quantmod' was built under R version 3.6.3

## Loading required package: TTR

## Warning: package 'TTR' was built under R version 3.6.3


## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo

## == Need to Learn tidyquant? ==============================================


======
## Business Science offers a 1-hour course - Learning Lab #9: Performance Ana
lysis & Portfolio Optimization with tidyquant!
## </> Learn more at: https://university.business-science.io/p/learning-labs-
pro </>

library(quantmod)
# download apple price using quantmod
getSymbols.yahoo("AAPL",globalenv(),from ='2019-01-01',to = '2019-12-31', war
nings=FALSE, auto.assign = TRUE)

## [1] "AAPL"

AAPL = AAPL[,"AAPL.Adjusted"]
plot(AAPL)

aapl = Return.calculate(AAPL, method = c("log"))


plot(aapl)
# download S&P500 price using quantmod
getSymbols.yahoo("SPY",globalenv(),from ='2019-01-01',to = '2019-12-31', warn
ings=FALSE, auto.assign = TRUE)

## [1] "SPY"

SPY = SPY[,"SPY.Adjusted"]
plot(SPY)
spy = Return.calculate(SPY, method = c("log"))
plot(spy)
# Combine Returns into one data set; exclude first row which is not applicabl
e
xy=cbind(aapl,spy[,1])[-1,]
plot(xy)

# Relabel returns AAPL.ret and SPY.ret


names(xy) = c('AAPL.ret','SPY.ret')
#Get FFM data
library(readxl)
AAPL_ff1 <- read_excel("C:/Users/OEHIEMERE/OneDrive - Axxela Limited/Document
s/WQU documents/Econometrics/Module 2/CRT/AAPL_ff1.xlsx",
col_types = c("date", "numeric", "numeric",
"numeric", "numeric"))
View(AAPL_ff1)
Mktrf <- AAPL_ff1$`Mkt-RF`
SMB <- AAPL_ff1$SMB
HML <- AAPL_ff1$HML
rf <- AAPL_ff1$RF

#Excess Returns
AAPL_ExcessReturns <- aapl - rf
plot(AAPL_ExcessReturns)
#Reduce benchmark return by daily risk free rate
xy[,2] = xy[,2]-rf [-1]

# Run CAPM

regcapm <- lm(AAPL.ret~SPY.ret, data=xy)


print(summary(regcapm))

##
## Call:
## lm(formula = AAPL.ret ~ SPY.ret, data = xy)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.066103 -0.006395 -0.000130 0.005257 0.059529
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0139588 0.0009668 14.44 <2e-16 ***
## SPY.ret 1.5454506 0.0889331 17.38 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01119 on 248 degrees of freedom
## Multiple R-squared: 0.5491, Adjusted R-squared: 0.5473
## F-statistic: 302 on 1 and 248 DF, p-value: < 2.2e-16
print(regcapm)

##
## Call:
## lm(formula = AAPL.ret ~ SPY.ret, data = xy)
##
## Coefficients:
## (Intercept) SPY.ret
## 0.01396 1.54545

#Run Fama-French Regression

ffregression <- lm(AAPL_ExcessReturns ~ Mktrf + SMB + HML)

# Print Summary of Regression Results


print(summary(ffregression))

##
## Call:
## lm(formula = AAPL_ExcessReturns ~ Mktrf + SMB + HML)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.066984 -0.006959 -0.000242 0.005588 0.058580
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0075854 0.0007247 -10.467 <2e-16 ***
## Mktrf 0.0148534 0.0009135 16.259 <2e-16 ***
## SMB -0.0018068 0.0016139 -1.120 0.2640
## HML -0.0026786 0.0012433 -2.154 0.0322 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01133 on 246 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.5456, Adjusted R-squared: 0.54
## F-statistic: 98.45 on 3 and 246 DF, p-value: < 2.2e-16

print(ffregression)

##
## Call:
## lm(formula = AAPL_ExcessReturns ~ Mktrf + SMB + HML)
##
## Coefficients:
## (Intercept) Mktrf SMB HML
## -0.007585 0.014853 -0.001807 -0.002679
Question 6
The greek letter used in front of each model is the Beta as Fama French Model has 3 beta
coefficients β1,2,3 (market beta, market capitalization beta and value beta).

Question 7

The CAPM performed better because:

 P-values were similar but CAPM had a higher F-Statistics value than FFM

 Both had similar adjusted square values with CAPM being just a fraction higher.

 One of FFM variables (SMB) was statistically insignificant as it had a p-value higher than
0.05 (0.2640)

References

https://finance.yahoo.com/
https://www.investopedia.com/terms/f/famaandfrenchthreefactormodel.asp

You might also like