library(quantmod)
getSymbols(c("^FTSE","BLT.L"),src="yahoo",from="1984-01-01")
## [1] "FTSE" "BLT.L"
namesOld <- names(FTSE); namesOld[5:6]<- c("FTSE.Vol","FTSE.Adj")
names(FTSE)<- namesOld
namesOld <- names(BLT.L); namesOld[5:6]<- c("BLT.L.Vol","BLT.L.Adj")
names(BLT.L)<- namesOld
rFtse<-monthlyReturn(FTSE)
rBlt <- monthlyReturn(BLT.L)
As can be seen from the code above the data for BHP Billiton and the Index FTSE are downloaded, using the Quantmod package in R. Afterwards the monthly returns are calculated using the function of Quantmod package ‘monthlyReturn’.
A sample of the data has been displayed below:
tail(FTSE); tail(BLT.L)
## FTSE.Open FTSE.High FTSE.Low FTSE.Close FTSE.Vol FTSE.Adj
## 2016-11-18 6794.7 6811.6 6740.3 6775.8 0 6775.8
## 2016-11-21 6775.8 6820.9 6754.2 6778.0 0 6778.0
## 2016-11-22 6778.0 6851.4 6778.0 6819.7 0 6819.7
## 2016-11-23 6819.7 6880.7 6779.5 6817.7 773975400 6817.7
## 2016-11-24 6817.7 6831.2 6790.7 6829.2 0 6829.2
## 2016-11-25 6829.2 6852.1 6818.1 6840.8 0 6840.8
## BLT.L.Open BLT.L.High BLT.L.Low BLT.L.Close BLT.L.Vol BLT.L.Adj
## 2016-11-18 1265.5 1269.5 1241.0 1263.5 9095500 1263.5
## 2016-11-21 1280.5 1295.8 1265.0 1271.5 9412100 1271.5
## 2016-11-22 1327.5 1339.0 1313.5 1334.0 10272700 1334.0
## 2016-11-23 1360.0 1369.0 1328.5 1363.0 13129000 1363.0
## 2016-11-24 1363.0 1367.0 1340.5 1361.0 4925000 1361.0
## 2016-11-25 1378.0 1380.0 1348.0 1356.0 5569700 1356.0
names(rFtse)<- "monthlyReturnFTSE" ; names(rBlt)<- "monthlyRetBHPBilliton"
cbind(tail(rFtse),tail(rBlt))
## monthlyReturnFTSE monthlyRetBHPBilliton
## 2016-06-30 0.043894846 0.145565006
## 2016-07-29 0.033839168 0.002015274
## 2016-08-31 0.008491479 0.047845877
## 2016-09-30 0.017370759 0.174361047
## 2016-10-31 0.007957386 0.061935484
## 2016-11-25 -0.016306748 0.098420413
The price and return data could be seen for the last 5 observation. Note that the returns are monthly, and the prices daily. The ‘adjusted closed’ price has been used for computing the returns.
An overview of the company and the index price dynamic is illustarted graphically below:
plot(FTSE$FTSE.Adj, main="FTSE")
plot(BLT.L$BLT.L.Adj, main ="BHP Billiton")
There could be different periods for calculation of the beta coefficient, here three regressions can be seen for 2, 5 and 10 years of monthly returns. The last 24, 60 and 120 of the observations have been used.
regBeta2year <- summary(lm(rBlt[(length(rBlt)-24):length(rBlt)]
~rFtse[(length(rFtse)-24):length(rFtse)]))
regBeta5year<- summary(lm(rBlt[(length(rBlt)-60):length(rBlt)]
~rFtse[(length(rFtse)-60):length(rFtse)]))
regBeta10year <- summary(lm(rBlt[(length(rBlt)-120):length(rBlt)]
~rFtse[(length(rFtse)-120):length(rFtse)]))
The regression output :can be seen here:
coefficients(regBeta2year); coefficients(regBeta5year); coefficients(regBeta10year)
## Estimate Std. Error
## (Intercept) -0.02225128 0.02801405
## rFtse[(length(rFtse) - 24):length(rFtse)] 1.08022134 0.93857193
## t value Pr(>|t|)
## (Intercept) -0.7942903 0.4351459
## rFtse[(length(rFtse) - 24):length(rFtse)] 1.1509201 0.2615903
## Estimate Std. Error t value
## (Intercept) -0.01523947 0.0123153 -1.237442
## rFtse[(length(rFtse) - 60):length(rFtse)] 1.29595428 0.4122237 3.143813
## Pr(>|t|)
## (Intercept) 0.220825231
## rFtse[(length(rFtse) - 60):length(rFtse)] 0.002610025
## Estimate Std. Error
## (Intercept) 0.000374944 0.007623196
## rFtse[(length(rFtse) - 120):length(rFtse)] 1.436294616 0.189362748
## t value Pr(>|t|)
## (Intercept) 0.04918462 9.608546e-01
## rFtse[(length(rFtse) - 120):length(rFtse)] 7.58488474 8.106842e-12
It could be observed that the coefficient for beta varies from 1.08 to 1.296 to 1.44 in the case for 10 years. I would use the number for 5 years: in my opinion it is the most reliable measure of risk for the mining industry, since maybe 2 years is too short for the cycles of the commodities, and on the other hand 10 years is maybe too long.
Nevertheless beta = 1.296 .
The 10 year Uk Gilt on 23 Nov 16 was 1.5066%. The data could be found at the website of the Bak of England below:
So riskFreeUK10 = 1.5066%.
\[EctectedReturn = riskFree + \beta (ERP -riskFree + CRP)\]
0.015066 + 1.296*(.06 - .015066 + 0.007325092)
## [1] 0.08279378
As can be seen from the above calculations the expected return of BHP Billiton is 8.28%