#============================================
# factorModels.r
# Examples for Scottish Financial Risk Academy Factor Model tutorial
# author: Eric Zivot
# created: January 10, 2011
# updated: March 14, 2011
#
# comments: Examples follow chapter 11 in Zivot and Wang (2006)
# set output options
options(width = 360, digits=9)
# load required packages
library(ellipse)
##
## Attaching package: 'ellipse'
## The following object is masked from 'package:graphics':
##
## pairs
#library(fEcofin) # various data sets
library(PerformanceAnalytics) # performance and risk analysis functions
## Loading required package: xts
## Loading required package: zoo
##
## 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
library(zoo)
library(readxl)
library(writexl)
################################################################################
# Macroeconomic Factor Models
################################################################################
##
## Single Index Model
##
# load Berndt Data
#data(berndtInvest)
?read_csv
## No documentation for 'read_csv' in specified packages and libraries:
## you could try '??read_csv'
retdata = read.csv("FamaFrench.csv")
retdata
## date Mkt.RF SMB HML RF ge ibm mobil CRSP
## 1 196901 -1.20 -0.80 1.57 0.53 -1.1984 -5.9524 -1.4043 -0.6714
## 2 196902 -5.82 -3.90 0.93 0.46 -6.0377 -0.7004 -7.8431 -5.3641
## 3 196903 2.59 -0.28 -0.45 0.46 6.6474 7.0303 21.5130 3.0505
## 4 196904 1.52 -0.85 0.06 0.53 5.9621 4.4586 2.9961 2.0528
## 5 196905 0.02 -0.27 0.74 0.48 -3.5806 -2.5000 2.6667 0.5038
## 6 196906 -7.25 -5.31 -1.15 0.51 -3.8196 5.8777 -12.9870 -6.7388
## 7 196907 -7.05 -3.27 1.36 0.53 -4.3056 -3.9230 -6.0981 -6.5173
## 8 196908 4.65 0.89 -3.83 0.50 -2.7576 6.6256 10.7798 5.1488
## 9 196909 -2.88 1.20 -3.24 0.62 2.2687 0.0725 -10.3520 -2.2590
## 10 196910 4.96 3.78 -3.19 0.60 -1.0294 4.4171 -4.4342 5.5647
## 11 196911 -3.74 -2.58 -1.15 0.52 -4.7548 -0.6935 -5.3790 -3.2166
## 12 196912 -2.61 -3.65 -3.01 0.64 -2.4649 2.1008 -4.9096 -1.9683
## 13 197001 -7.93 2.91 3.03 0.60 -6.6129 -8.0247 -14.7283 -7.3252
## 14 197002 5.05 -2.44 3.92 0.62 -2.5907 1.8494 9.7087 5.6708
## 15 197003 -1.04 -2.39 4.15 0.57 5.5319 -0.5143 1.7699 -0.4729
## 16 197004 -11.03 -6.12 6.30 0.50 -3.3898 -11.9645 -3.5362 -10.5318
## 17 197005 -6.96 -4.51 3.51 0.53 -6.8421 -6.3087 7.3171 -6.4346
## 18 197006 -5.69 -2.13 0.82 0.58 2.6742 -10.0719 -0.5682 -5.1075
## 19 197007 6.90 -0.55 1.01 0.52 13.8889 1.3800 8.2286 7.4191
## 20 197008 4.47 1.51 1.26 0.53 2.1138 5.5500 6.4171 5.0047
## 21 197009 4.21 8.73 -5.62 0.54 8.3121 9.5775 4.2714 4.7510
## 22 197010 -2.28 -4.23 0.22 0.46 1.9259 1.1825 4.2892 -1.8181
## 23 197011 4.58 -4.04 1.73 0.46 2.7616 4.5068 6.5421 5.0450
## 24 197012 5.65 2.92 0.96 0.42 6.9590 3.4174 0.8772 6.0713
## 25 197101 4.82 7.48 1.53 0.38 5.7257 2.4390 -7.6522 5.2030
## 26 197102 1.36 1.87 -1.38 0.33 8.9421 3.7788 3.8095 1.6899
## 27 197103 4.18 2.58 -4.01 0.30 4.1850 6.2407 1.3761 4.4788
## 28 197104 3.05 -0.43 0.93 0.28 9.7098 0.0699 6.8326 3.3326
## 29 197105 -3.93 -1.08 -1.28 0.29 -2.4415 -8.2320 -7.0664 -3.6386
## 30 197106 -0.06 -1.43 -2.14 0.37 1.9395 -3.0581 2.7650 0.3130
## 31 197107 -4.43 -1.48 0.01 0.40 -12.1399 -8.1230 -5.5605 -4.0270
## 32 197108 3.78 -0.14 2.66 0.47 16.1592 4.8240 -5.7692 4.2502
## 33 197109 -0.87 0.45 -2.94 0.37 -0.2419 -0.0822 -0.7653 -0.5016
## 34 197110 -4.44 -1.77 -0.51 0.37 -5.2846 -1.0700 2.3650 -4.0671
## 35 197111 -0.50 -2.89 -1.67 0.37 2.5751 2.0965 1.5267 -0.1263
## 36 197112 8.76 3.37 -0.26 0.37 5.3975 10.1473 9.5238 9.1268
## 37 197201 2.55 6.10 2.13 0.29 -0.9980 9.3611 -1.3730 2.8385
## 38 197202 2.88 1.37 -2.84 0.25 -2.2177 0.5027 3.0626 3.1338
## 39 197203 0.60 -0.28 -1.68 0.27 7.1753 3.7313 -6.3781 0.8728
## 40 197204 0.26 0.01 0.39 0.29 4.6422 0.9810 1.7032 0.5491
## 41 197205 1.34 -2.77 -2.71 0.30 1.6636 3.3938 6.9856 1.6372
## 42 197206 -2.38 0.36 -2.40 0.29 -3.8545 -1.4456 1.8100 -2.0894
## 43 197207 -0.74 -2.86 0.72 0.31 -4.1825 2.2321 5.7778 -0.4248
## 44 197208 3.31 -4.09 4.62 0.29 5.5556 2.2707 14.1176 3.5972
## 45 197209 -1.11 -2.67 0.48 0.34 0.3383 -0.4896 1.6729 -0.7670
## 46 197210 0.47 -2.71 1.36 0.40 -3.7665 -5.1661 2.3035 0.8678
## 47 197211 4.61 -1.13 4.78 0.37 6.8102 1.7769 5.9567 4.9770
## 48 197212 0.75 -1.87 -2.30 0.37 7.3665 2.8133 0.8518 1.1246
## 49 197301 -3.20 -3.51 2.70 0.44 -3.9451 8.3333 1.6216 -2.7655
## 50 197302 -4.86 -3.98 1.71 0.41 -3.9643 -0.5970 -13.9262 -4.4492
## 51 197303 -1.25 -2.91 2.79 0.46 -3.5514 0.0000 8.9669 -0.7942
## 52 197304 -5.70 -4.03 5.65 0.52 -8.1395 -5.4461 -4.4723 -5.1735
## 53 197305 -2.96 -6.12 0.17 0.51 0.4219 -3.2261 -2.6966 -2.4497
## 54 197306 -1.38 -2.96 1.40 0.51 -2.9832 0.7149 0.1946 -0.8689
## 55 197307 5.07 7.96 -5.31 0.64 9.3682 -0.7886 -5.3204 5.7109
## 56 197308 -3.67 -2.14 1.22 0.70 -5.7769 -3.9364 -2.0747 -2.9654
## 57 197309 4.72 2.89 2.14 0.68 7.2304 -14.2857 6.7797 5.3993
## 58 197310 -0.68 -0.21 1.76 0.65 3.7698 8.6240 -7.0238 -0.0296
## 59 197311 -12.64 -7.75 3.99 0.56 -2.8298 -5.0419 -18.1425 -12.0880
## 60 197312 0.50 -5.31 4.05 0.64 -0.1980 -6.8868 11.8734 1.1442
## 61 197401 -0.19 9.79 5.88 0.63 -4.9603 -0.6079 -5.5660 0.5024
## 62 197402 -0.35 -0.06 2.51 0.58 -4.7599 -2.4852 -9.8985 0.2648
## 63 197403 -2.90 2.41 -0.08 0.56 -4.1943 -0.8933 2.5352 -2.2878
## 64 197404 -5.35 -0.82 0.96 0.75 -5.9908 -3.6055 -4.0110 -4.6377
## 65 197405 -4.95 -2.94 -2.00 0.75 -5.3922 -5.9274 -3.2070 -4.1974
## 66 197406 -2.89 -0.16 0.80 0.60 2.9016 0.1176 -3.3133 -2.2946
## 67 197407 -7.79 0.86 5.17 0.70 -12.6904 -5.2291 2.9283 -7.0891
## 68 197408 -9.38 -0.70 2.61 0.60 -11.9186 -4.0298 -8.6420 -8.7741
## 69 197409 -11.78 0.31 5.50 0.81 -16.4356 -17.1875 -11.8243 -10.9712
## 70 197410 16.05 -3.40 -9.80 0.51 22.4000 18.9465 12.4138 16.5614
## 71 197411 -4.64 -1.21 -0.17 0.54 -2.9412 -5.4858 -8.0139 -4.0940
## 72 197412 -3.40 -4.83 0.06 0.70 -9.0236 -5.2186 9.0909 -2.7007
## 73 197501 13.58 10.96 8.24 0.58 15.7303 12.0536 16.9444 14.1429
## 74 197502 5.41 0.18 -4.44 0.43 15.2751 15.2722 0.3030 5.8610
## 75 197503 2.61 3.80 2.50 0.41 4.2493 -4.1183 -3.9275 3.0163
## 76 197504 4.21 -0.51 -1.24 0.44 0.0000 1.5729 3.3962 4.6423
## 77 197505 5.07 3.87 -4.15 0.44 -1.3587 3.1566 17.7019 5.5156
## 78 197506 4.74 0.75 1.34 0.41 16.8595 -2.7907 0.2639 5.1587
## 79 197507 -6.52 2.67 1.65 0.48 -10.2138 -8.9713 -4.5263 -6.0447
## 80 197508 -2.84 -3.23 -0.86 0.48 -2.1164 -1.1827 -0.8427 -2.3611
## 81 197509 -4.33 -0.06 0.40 0.53 -4.0000 1.0738 1.1331 -3.7964
## 82 197510 5.03 -4.04 0.30 0.56 9.3750 12.7490 4.7059 5.6037
## 83 197511 2.71 -1.21 2.03 0.41 0.2597 7.4794 -1.0899 3.1164
## 84 197512 -1.58 -0.79 1.76 0.48 -3.5751 -0.9387 4.1322 -1.1014
## 85 197601 12.13 4.80 8.57 0.47 21.4092 14.9387 16.8783 12.5958
## 86 197602 0.39 7.00 5.81 0.34 -4.6875 -0.1455 -1.1494 0.7165
## 87 197603 2.28 -1.16 -0.11 0.40 -0.8899 2.4939 7.9070 2.6804
## 88 197604 -1.46 -0.05 -0.07 0.42 2.3810 -3.2920 2.3707 -1.0473
## 89 197605 -1.31 -1.26 -1.32 0.37 -5.3488 1.9734 1.8526 -0.9363
## 90 197606 4.02 -1.34 0.78 0.43 13.0713 7.8422 0.4193 4.4439
## 91 197607 -1.09 0.28 1.74 0.47 -4.5952 -1.6712 -2.2965 -0.6111
## 92 197608 -0.56 -1.97 0.83 0.42 -2.7523 1.3780 -0.0427 -0.1385
## 93 197609 2.01 0.01 -0.32 0.44 2.9717 2.8323 6.7245 2.4500
## 94 197610 -2.45 0.16 -0.18 0.41 -1.3857 -3.4207 -1.6260 -2.0402
## 95 197611 0.14 2.35 1.49 0.40 -5.1522 0.5520 0.5372 0.5578
## 96 197612 5.76 2.98 2.27 0.40 10.7654 2.9982 8.5595 6.1600
## 97 197701 -3.99 4.81 4.29 0.36 -4.9438 -1.3883 2.8846 -3.6341
## 98 197702 -1.93 1.06 0.45 0.35 -4.4917 1.1807 0.1121 -1.5759
## 99 197703 -1.30 1.03 1.09 0.38 -1.8317 0.1812 1.8939 -0.9247
## 100 197704 0.12 -0.10 3.44 0.38 9.6692 -6.4195 -1.4870 0.4957
## 101 197705 -1.45 1.25 0.89 0.37 0.6961 -4.1546 -1.5849 -1.0792
## 102 197706 4.74 2.18 -0.62 0.40 5.1613 7.5356 5.8366 5.1359
## 103 197707 -1.70 2.12 -0.59 0.42 -3.7611 1.5625 0.5515 -1.2806
## 104 197708 -1.78 1.54 -2.74 0.44 -1.8391 1.0256 -10.8592 -1.3357
## 105 197709 -0.27 1.44 -0.51 0.43 -2.9508 -2.7480 3.1250 0.1574
## 106 197710 -4.42 1.29 1.76 0.49 -2.1951 -1.4368 0.0000 -3.9284
## 107 197711 4.04 3.69 0.35 0.50 1.0973 3.5957 4.9293 4.5434
## 108 197712 0.33 1.37 -0.32 0.49 -0.4988 3.5985 -0.3914 0.8209
## 109 197801 -6.01 2.22 3.30 0.49 -8.2707 -2.9250 -4.6365 -5.5195
## 110 197802 -1.39 3.61 0.87 0.46 -2.1858 -4.2825 -1.6771 -0.9280
## 111 197803 2.87 3.41 1.23 0.53 5.4190 -6.2687 4.9041 3.4004
## 112 197804 7.74 0.37 -3.47 0.54 12.0643 12.9512 7.7236 8.2844
## 113 197805 1.81 4.63 -0.59 0.51 1.1962 -1.8308 -1.0566 2.3228
## 114 197806 -1.62 1.74 0.56 0.54 -3.2624 -0.3872 -4.2636 -1.0751
## 115 197807 5.11 0.29 -1.14 0.56 6.1881 9.2323 2.8340 5.6740
## 116 197808 3.69 5.08 -0.47 0.55 1.1655 4.8950 5.5905 4.2352
## 117 197809 -1.31 -0.41 1.89 0.62 -1.3364 -5.0964 6.4394 -0.6892
## 118 197810 -11.78 -9.95 1.37 0.68 -10.1655 -4.6029 -6.9039 -11.0995
## 119 197811 2.68 3.10 -2.19 0.70 0.5789 3.0766 3.6965 3.3793
## 120 197812 0.99 1.27 -2.12 0.78 0.0000 10.7607 4.1276 1.7713
## 121 197901 4.18 3.66 2.17 0.77 2.3873 3.4338 6.0541 4.9491
## 122 197902 -3.41 0.45 1.15 0.73 -3.3161 -1.7198 -0.1727 -2.6774
## 123 197903 5.75 3.20 -0.62 0.81 4.3478 5.1667 2.9412 6.5611
## 124 197904 0.05 2.19 1.08 0.80 2.3438 -0.3962 7.8992 0.8521
## 125 197905 -2.18 0.12 1.29 0.82 1.4249 -2.1671 -8.6293 -1.3597
## 126 197906 3.88 1.14 1.45 0.81 1.7812 -3.4539 8.8388 4.6851
## 127 197907 0.73 1.29 1.79 0.77 3.5000 -4.9404 1.8471 1.4989
## 128 197908 5.70 2.03 -1.58 0.77 2.8986 1.5914 11.1111 6.4743
## 129 197909 -0.69 -0.27 -0.90 0.83 -3.3803 -3.2143 18.0000 0.1409
## 130 197910 -8.14 -3.30 -1.88 0.87 -4.6798 -7.9336 -3.1477 -7.2651
## 131 197911 5.37 2.79 -3.25 0.99 -3.2041 5.9880 5.0761 6.3604
## 132 197912 1.87 4.13 -2.03 0.95 9.7561 -1.3410 6.2802 2.8201
## 133 198001 5.76 1.69 1.76 0.80 8.6420 6.6019 7.5000 6.5578
## 134 198002 -0.79 -1.80 0.59 0.89 -7.3636 -6.2149 36.6167 0.1028
## 135 198003 -13.23 -6.64 -1.03 1.21 -4.2289 -12.2047 -17.5549 -12.0207
## 136 198004 3.97 0.95 1.06 1.26 -1.2987 -1.5695 11.9392 5.2297
## 137 198005 5.20 2.08 0.34 0.81 5.7895 2.4784 0.3436 6.0073
## 138 198006 3.16 1.71 -0.87 0.61 4.0404 6.0948 -2.3973 3.7710
## 139 198007 6.41 4.29 -6.22 0.53 9.2233 11.0638 5.4035 6.9447
## 140 198008 1.72 3.94 -2.64 0.64 -3.1111 1.7011 -5.8923 2.3514
## 141 198009 2.20 0.92 -4.65 0.75 -2.0642 -2.0992 0.7156 2.9481
## 142 198010 1.06 2.53 -2.70 0.95 2.8504 3.8986 5.8615 2.0038
## 143 198011 9.53 -3.37 -8.44 0.96 14.3187 3.5422 19.2953 10.4928
## 144 198012 -4.75 -0.32 2.66 1.31 0.2020 -0.3670 -8.1081 -3.4379
## 145 198101 -5.05 2.96 6.82 1.04 0.0000 -5.1565 -8.2043 -4.0113
## 146 198102 0.48 -0.36 1.02 1.07 8.9796 1.1417 -6.6667 1.5533
## 147 198103 3.41 3.56 0.71 1.21 1.4981 -2.9183 -4.2125 4.6186
## 148 198104 -2.21 4.41 2.26 1.08 -2.0522 -6.0120 -2.4857 -1.1243
## 149 198105 0.21 2.02 -0.39 1.15 0.1905 1.6802 -9.1633 1.3534
## 150 198106 -2.37 -0.86 5.09 1.35 -4.6768 -1.4894 5.2632 -1.0176
## 151 198107 -1.55 -2.14 -0.57 1.24 -1.4141 -3.0238 2.0833 -0.3053
## 152 198108 -6.91 -1.95 4.83 1.28 -8.4016 -0.2494 -5.7143 -5.6263
## 153 198109 -7.62 -2.66 5.20 1.24 -0.3579 -1.8141 -10.5727 -6.3748
## 154 198110 4.81 2.19 -4.16 1.21 -1.1390 -4.8499 2.4631 6.0182
## 155 198111 3.52 -0.99 1.86 1.07 11.2903 7.4951 3.8462 4.5837
## 156 198112 -3.68 1.20 0.75 0.87 -3.6439 4.3578 -8.9623 -2.8082
## 157 198201 -3.42 -1.22 3.11 0.80 8.9325 11.8681 -1.5544 -2.6205
## 158 198202 -6.03 0.47 6.00 0.92 0.6000 -1.3988 -1.5789 -5.1118
## 159 198203 -1.99 -0.23 3.91 0.98 2.0676 -3.4343 -3.8251 -1.0083
## 160 198204 3.20 1.52 -2.79 1.13 1.1834 7.5314 -1.1364 4.3273
## 161 198205 -3.88 0.48 1.84 1.06 -3.5088 -2.9416 9.1954 -2.8197
## 162 198206 -3.35 -0.38 1.52 0.96 4.2020 -1.4228 -3.7634 -2.3914
## 163 198207 -3.10 0.88 0.19 1.05 3.3399 8.2474 -7.2626 -2.0539
## 164 198208 11.14 -4.15 1.13 0.76 14.4487 8.7390 15.6627 11.9023
## 165 198209 1.17 2.94 0.34 0.51 0.4651 4.0780 4.2553 1.6758
## 166 198210 11.27 2.33 -3.64 0.59 14.8829 8.8586 2.0408 11.8634
## 167 198211 4.56 4.79 -1.93 0.63 8.7045 9.3709 -4.0000 5.1921
## 168 198212 0.78 -0.17 0.05 0.67 2.5676 11.2717 6.9149 1.4449
## 169 198301 3.50 2.69 -0.88 0.69 9.0909 2.7273 5.4726 4.1546
## 170 198302 2.40 3.24 0.74 0.62 4.8309 0.9962 0.9434 3.0502
## 171 198303 2.84 1.80 2.06 0.63 -2.4424 2.7778 9.5238 3.4707
## 172 198304 6.71 0.47 0.56 0.71 6.5476 14.9877 9.1304 7.4271
## 173 198305 0.63 6.18 -1.41 0.69 -7.5978 -4.1026 -5.1793 1.3074
## 174 198306 3.11 0.96 -3.83 0.67 7.3277 8.0899 7.6923 3.7997
## 175 198307 -3.90 1.50 5.57 0.74 -9.3182 0.1040 -5.9524 -3.1727
## 176 198308 -0.41 -4.30 5.55 0.76 2.5063 0.0623 11.8143 0.3569
## 177 198309 0.85 0.59 1.06 0.76 4.1076 6.1715 -4.9808 1.6314
## 178 198310 -3.56 -3.60 4.97 0.76 -1.8957 -0.0985 -3.2258 -2.7745
## 179 198311 2.26 2.02 -0.72 0.70 11.3527 -6.6469 -3.3333 2.9353
## 180 198312 -1.78 -0.27 1.74 0.73 2.6258 3.9404 0.8772 -1.0431
## 181 198401 -2.06 -0.40 7.62 0.76 -7.2495 -6.4549 8.4348 -1.2917
## 182 198402 -4.62 -1.67 3.36 0.71 -4.3678 -2.5630 2.4490 -3.9171
## 183 198403 0.61 0.06 0.55 0.73 6.4904 3.4014 -2.7888 1.3449
## 184 198404 -0.56 -1.14 1.26 0.81 1.1390 -0.2193 2.8689 0.2735
## 185 198405 -6.01 0.06 0.22 0.78 -4.2793 -4.4396 -14.5817 -5.2351
## 186 198406 1.59 -0.24 -2.66 0.75 -0.2353 -1.8561 0.9524 2.3593
## 187 198407 -2.88 -2.28 0.33 0.82 0.0000 4.7281 -9.2453 -2.0359
## 188 198408 10.44 -0.27 -1.84 0.83 7.8571 12.7314 26.0638 11.2571
## 189 198409 -0.82 0.22 5.27 0.86 -0.6623 0.4040 1.2658 0.0384
## 190 198410 -1.01 -1.18 0.53 1.00 3.1390 1.1871 1.4167 0.0131
## 191 198411 -1.80 -0.67 3.97 0.73 -2.7391 -2.3069 -4.1841 -1.0492
## 192 198412 1.73 -0.56 -0.09 0.64 2.2573 1.1294 -5.2402 2.3797
## 193 198501 7.92 3.25 -5.37 0.65 12.8035 10.7614 5.2535 8.5734
## 194 198502 1.11 0.84 -0.07 0.58 0.4697 -0.9349 7.1429 1.7002
## 195 198503 -0.79 -1.12 4.02 0.62 -7.0727 -5.2239 0.0000 -0.1930
## 196 198504 -0.94 0.15 3.69 0.72 0.0000 -0.3937 2.6667 -0.2183
## 197 198505 4.92 -2.26 -0.86 0.66 3.4672 2.5494 2.8926 5.5878
## 198 198506 1.16 0.51 0.47 0.55 2.0619 -3.7901 -3.2129 1.7188
## 199 198507 -0.65 2.84 -1.61 0.62 3.6364 6.1616 0.1660 -0.0547
## 200 198508 -1.03 -0.35 2.19 0.55 -4.8733 -2.7783 -1.2658 -0.4806
## 201 198509 -4.58 -1.61 1.23 0.60 -4.8361 -2.1718 0.4274 -3.9657
## 202 198510 3.79 -1.58 0.70 0.65 0.2174 4.8436 9.9574 4.4577
## 203 198511 6.31 0.19 -2.92 0.61 13.8829 8.4504 -0.7874 6.9269
## 204 198512 3.66 -0.41 -1.48 0.65 11.7410 11.2701 -3.9683 4.3260
## 205 198601 0.42 1.18 0.48 0.56 -2.5773 -2.5723 -2.0661 0.9849
## 206 198602 6.72 -0.51 -0.64 0.53 10.1658 0.3135 -0.2532 7.2851
## 207 198603 4.79 -0.56 -0.55 0.60 1.2903 0.4143 -2.5862 5.3887
## 208 198604 -1.31 2.75 -2.97 0.52 -0.4777 3.1353 4.1593 -0.8061
## 209 198605 4.59 -1.25 -0.14 0.49 2.0800 -1.7760 8.2251 5.0822
## 210 198606 0.90 -0.92 1.30 0.52 2.2947 -3.8556 1.2000 1.4299
## 211 198607 -6.49 -3.43 4.70 0.52 -9.8765 -9.5563 -2.2134 -5.9675
## 212 198608 6.16 -4.20 3.54 0.46 7.7055 5.5472 17.2840 6.6390
## 213 198609 -8.35 2.29 3.20 0.45 -7.8474 -3.0631 5.2632 -7.9142
## 214 198610 4.47 -2.59 -1.42 0.46 6.0870 -8.0855 2.0000 4.9450
## 215 198611 1.12 -1.96 -0.10 0.39 8.8525 3.7209 4.3791 1.5160
## 216 198612 -3.13 0.09 0.31 0.49 4.3735 -5.6047 1.9048 -2.6555
## 217 198701 12.43 -1.75 -3.10 0.42 16.5698 7.2917 9.3458 12.8378
## 218 198702 4.36 3.48 -5.90 0.43 3.1172 9.2039 -2.1652 4.7627
## 219 198703 1.89 0.36 1.61 0.47 2.0605 7.6165 12.3894 2.3236
## 220 198704 -2.14 -1.67 -0.22 0.44 -1.3111 6.6611 -0.6824 -1.7122
## 221 198705 0.13 -0.54 0.23 0.38 0.4831 0.6089 -0.2674 0.5218
## 222 198706 3.89 -2.11 1.15 0.48 5.2019 1.5625 9.1153 4.3836
## 223 198707 3.96 -0.49 0.91 0.46 8.9655 -0.9231 3.1941 4.4058
## 224 198708 3.24 -0.78 -0.99 0.47 5.4852 5.2640 2.9524 3.7228
## 225 198709 -2.53 0.57 0.29 0.45 -1.0720 -10.4677 -8.1776 -2.0737
## 226 198710 -23.13 -8.42 4.09 0.60 -22.9675 -18.7396 -17.8117 -22.4879
## 227 198711 -7.58 2.63 3.25 0.35 -10.5541 -8.6939 -15.0464 -7.2908
## 228 198712 6.64 0.17 -4.44 0.39 4.9558 4.2889 15.9259 7.0414
## 229 198801 4.20 -0.63 5.18 0.29 2.2663 -2.7056 12.7796 4.5348
## 230 198802 4.71 3.38 -1.55 0.46 0.8310 5.5395 0.9632 5.1609
## 231 198803 -2.10 6.18 0.80 0.44 -10.4945 -8.4043 0.5682 -1.7064
## 232 198804 0.64 0.92 1.64 0.46 0.0000 5.3426 5.6497 1.0989
## 233 198805 -0.47 -2.68 2.26 0.51 4.0248 0.1985 -2.7273 0.0938
## 234 198806 4.66 2.03 -1.26 0.49 5.2976 13.2222 -3.0641 5.1372
## 235 198807 -1.24 -0.17 2.29 0.51 -2.5641 -1.2758 2.8736 -0.7179
## 236 198808 -3.39 0.10 2.04 0.59 -5.5556 -10.4573 -1.7318 -2.7928
## 237 198809 3.10 -1.28 -0.70 0.62 8.2972 3.4753 -1.7291 3.7276
## 238 198810 1.15 -2.91 1.62 0.61 0.5764 6.2839 4.1056 1.7660
## 239 198811 -2.21 -1.76 1.23 0.57 3.1519 -2.4669 1.6338 -1.6400
## 240 198812 1.48 1.95 -1.51 0.63 0.3556 2.8481 2.2472 2.1005
## 241 198901 6.06 -2.12 0.57 0.55 8.1006 7.1795 7.6374 6.5958
## 242 198902 -2.25 2.78 0.89 0.61 -5.4264 -6.1435 -3.6176 -1.6365
## 243 198903 1.48 0.74 0.51 0.67 -1.8361 -10.1852 5.0938 2.1530
## 244 198904 4.15 -0.56 -1.47 0.67 9.8315 4.4674 3.5714 4.8536
## 245 198905 3.14 -0.04 -0.85 0.79 11.7647 -2.7763 2.7586 3.9529
## 246 198906 -1.20 -1.00 2.17 0.71 -4.7414 2.0525 -4.1262 -0.4925
## 247 198907 7.01 -4.05 -2.72 0.70 13.3172 2.7933 3.7975 7.7109
## 248 198908 1.47 0.59 0.64 0.74 -1.4957 2.9000 8.3415 2.1960
## 249 198909 -0.80 0.33 -1.29 0.65 -1.2408 -6.7236 2.2779 -0.1587
## 250 198910 -3.61 -3.23 -1.14 0.68 -1.9912 -8.2380 0.4900 -2.9390
## 251 198911 1.09 -1.24 -1.15 0.69 11.9639 -1.4115 5.6054 1.7846
## 252 198912 1.22 -2.38 0.19 0.61 4.7903 -3.5851 6.3694 1.8290
## 253 199001 -7.58 -1.26 0.82 0.57 -3.4884 4.7809 -4.5509 -7.0054
## 254 199002 0.92 1.04 0.64 0.57 -0.0482 6.5501 4.4397 1.4978
## 255 199003 1.77 1.49 -2.90 0.64 4.0486 2.1661 -0.4049 2.4162
## 256 199004 -3.52 -0.47 -2.47 0.69 -0.3891 2.7091 -2.0325 -2.8150
## 257 199005 8.21 -2.60 -3.75 0.68 8.3516 11.2018 5.5602 8.8887
## 258 199006 -1.05 1.46 -2.03 0.63 0.5445 -2.0833 -1.7893 -0.4300
## 259 199007 -1.62 -3.07 0.11 0.68 3.4296 -5.1064 6.8421 -0.9381
## 260 199008 -9.85 -3.51 1.54 0.66 -13.4380 -7.5471 -2.1073 -9.1740
## 261 199009 -5.98 -3.65 0.66 0.60 -11.3387 4.4172 -1.5656 -5.3868
## 262 199010 -1.93 -5.56 0.21 0.68 -4.5872 -0.9401 -8.3897 -1.2422
## 263 199011 6.00 0.32 -3.01 0.57 5.2885 8.9775 3.5165 6.5985
## 264 199012 2.35 0.79 -1.56 0.60 5.7260 -0.5501 -1.4862 2.9549
## 265 199101 4.39 3.84 -1.74 0.52 11.5468 12.1681 -0.9052 4.9067
## 266 199102 7.10 3.91 -0.58 0.48 7.0469 2.5325 11.0132 7.5686
## 267 199103 2.45 3.92 -1.21 0.44 2.3897 -11.5534 2.3810 2.8793
## 268 199104 -0.20 0.52 1.45 0.53 1.6158 -9.5499 6.2016 0.3332
## 269 199105 3.60 -0.36 -0.53 0.47 9.9081 4.2087 -2.6642 4.0607
## 270 199106 -4.82 0.12 1.14 0.42 -4.2071 -8.4806 -2.4668 -4.4247
## 271 199107 4.19 -0.96 -1.30 0.49 -1.0135 4.2471 6.4981 4.6838
## 272 199108 2.22 1.61 -0.79 0.46 2.2184 -3.1259 1.1091 2.6912
## 273 199109 -1.56 1.67 -1.09 0.46 -6.6644 6.9677 -0.3656 -1.1062
## 274 199110 1.36 0.87 -0.41 0.42 -0.5405 -5.1870 4.2936 1.7714
## 275 199111 -4.12 -0.55 -1.84 0.39 -6.1594 -4.6209 -7.8292 -3.7272
## 276 199112 10.30 -2.26 -4.01 0.38 18.9961 -3.7838 4.8263 10.7055
## 277 199201 -0.46 8.43 4.53 0.34 -1.6340 1.1236 -5.8932 -0.1693
## 278 199202 1.06 0.88 6.37 0.28 4.4850 -2.1278 -1.8787 1.3281
## 279 199203 -2.71 -1.04 3.66 0.34 -2.9571 -3.8849 -3.8384 -2.3680
## 280 199204 1.02 -6.11 4.33 0.32 1.1551 8.6826 8.6134 1.3838
## 281 199205 0.36 0.40 1.23 0.28 -0.3263 1.3333 1.8182 0.6497
## 282 199206 -2.25 -3.09 3.30 0.32 2.5205 7.8512 -5.3846 -1.9241
## 283 199207 3.68 -0.42 -0.52 0.31 -1.6077 -3.1928 5.8943 3.9942
## 284 199208 -2.34 -0.09 -1.07 0.26 -3.2680 -7.2982 0.8445 -2.0754
## 285 199209 0.98 0.55 -0.22 0.26 6.5405 -6.7821 0.5780 1.2426
## 286 199210 0.87 2.09 -2.06 0.23 -1.9169 -17.1827 -3.4483 1.0905
## 287 199211 3.79 3.61 -1.57 0.23 8.4691 3.8654 -2.3016 4.0181
## 288 199212 1.50 1.64 2.49 0.28 3.4595 -26.1905 3.9095 1.7482
## 289 199301 1.03 2.02 5.83 0.23 0.7310 2.2333 0.7921 1.2331
## 290 199302 0.32 -3.37 6.52 0.22 -2.3222 6.6311 7.1513 0.5486
## 291 199303 2.26 0.30 1.29 0.25 6.6924 -6.4368 2.0408 2.5029
## 292 199304 -2.78 -0.68 2.62 0.24 1.6830 -4.4226 3.0909 -2.5503
## 293 199305 2.74 2.00 -3.39 0.22 2.3448 9.5938 -0.4586 2.9422
## 294 199306 0.29 -0.30 2.59 0.25 3.9137 -6.3981 7.1685 0.5123
## 295 199307 -0.32 0.97 3.25 0.24 2.8721 -9.8734 0.8361 -0.0773
## 296 199308 3.70 0.29 -0.46 0.25 -0.2538 3.3708 4.2123 3.9344
## 297 199309 -0.20 3.15 -0.43 0.26 -1.7761 -8.1967 4.9839 0.0598
## 298 199310 1.59 1.45 -1.59 0.22 1.1734 9.5238 -0.1531 1.8030
## 299 199311 -2.01 -1.44 -0.29 0.25 1.4175 17.6630 -5.2454 -1.7317
## 300 199312 1.72 1.23 0.58 0.23 7.3393 4.8724 3.6007 1.9438
## 301 199401 2.90 0.13 2.11 0.25 2.7414 0.0000 2.3697 3.1304
## 302 199402 -2.63 2.71 -1.45 0.21 -2.2042 -5.9735 -1.8827 -2.4074
## 303 199403 -4.85 -0.94 1.36 0.27 -4.4176 3.3097 -5.4054 -4.5743
## 304 199404 0.68 -0.87 1.70 0.27 -4.7500 5.2632 5.2101 0.9815
## 305 199405 0.62 -2.02 0.20 0.32 4.4619 10.0000 4.6006 0.9504
## 306 199406 -3.10 -0.48 1.67 0.31 -5.5578 -6.7460 0.6173 -2.7381
## 307 199407 2.78 -1.77 0.97 0.28 8.0429 5.3191 2.9141 3.0411
## 308 199408 3.89 1.44 -3.49 0.37 -1.2407 11.1111 1.6095 4.2831
## 309 199409 -2.21 2.68 -1.80 0.37 -2.5427 1.6423 -6.2222 -1.8664
## 310 199410 1.07 -2.16 -2.36 0.38 1.5584 7.0018 8.6888 1.4875
## 311 199411 -4.09 -0.17 -0.05 0.37 -5.8824 -4.6980 0.1163 -3.7079
## 312 199412 0.82 0.05 0.26 0.44 11.7609 3.8869 -1.1730 1.2752
## 313 199501 1.62 -2.94 1.67 0.42 0.9804 -1.8707 3.5312 2.0623
## 314 199502 3.56 -0.34 0.39 0.40 6.3107 4.6794 0.7236 3.9655
## 315 199503 2.24 -0.35 -2.04 0.46 -0.6210 9.1362 6.4655 2.6966
## 316 199504 2.06 -0.41 1.73 0.44 3.7037 15.2207 2.4291 2.4903
## 317 199505 2.86 -2.22 1.92 0.54 3.5714 -1.4531 5.8498 3.4150
## 318 199506 2.65 3.09 -2.95 0.47 -2.0948 3.2258 -3.5176 3.0846
## 319 199507 3.63 2.24 -2.23 0.45 4.6563 13.4115 1.8229 4.0675
## 320 199508 0.46 1.82 1.92 0.47 -0.2119 -4.8220 -1.6113 0.9336
## 321 199509 3.21 -2.04 -0.98 0.43 8.9766 -8.5852 4.5932 3.6391
## 322 199510 -1.60 -3.94 -0.12 0.47 -0.7843 2.9101 1.1292 -1.1150
## 323 199511 3.85 -0.84 0.31 0.42 6.1265 -0.3856 4.5161 4.2984
## 324 199512 1.03 0.39 1.32 0.49 7.9479 -5.4334 7.0659 1.5395
## 325 199601 2.38 -2.52 0.42 0.43 6.5972 18.7414 -0.8949 2.8081
## 326 199602 1.24 2.07 -2.24 0.39 -1.6287 13.2488 -0.1806 1.6042
## 327 199603 0.70 1.31 1.31 0.39 3.7550 -9.2762 5.7013 1.1196
## 328 199604 2.09 4.91 -4.02 0.46 -0.8026 -3.1461 -0.7551 2.5130
## 329 199605 2.26 3.24 -1.38 0.42 7.1197 -0.6032 -0.9783 2.6733
## 330 199606 -1.23 -3.66 1.97 0.40 4.8338 -7.2600 -0.4430 -0.7649
## 331 199607 -5.83 -3.57 4.34 0.45 -4.6571 8.5859 -1.8910 -5.3415
## 332 199608 2.84 2.28 -0.57 0.41 1.0638 6.7209 3.4014 3.2191
## 333 199609 4.86 -0.80 -3.78 0.44 10.0271 8.8525 2.4336 5.2988
## 334 199610 0.94 -4.10 4.82 0.42 6.3187 3.6145 0.8639 1.3957
## 335 199611 6.14 -3.56 0.21 0.41 7.4935 23.8178 4.6039 6.5701
## 336 199612 -1.60 3.13 0.94 0.46 -4.4279 -4.9412 0.9288 -1.1361
## 337 199701 4.89 -1.51 -2.32 0.45 4.6776 3.5479 7.3620 5.3049
## 338 199702 -0.50 -2.57 4.73 0.39 -0.6039 -8.1434 -5.6686 -0.0873
## 339 199703 -4.91 -0.33 3.88 0.43 -3.0182 -4.5217 6.4155 -4.4405
## 340 199704 3.80 -5.16 -1.04 0.43 11.8388 16.9399 -0.4785 4.2500
## 341 199705 6.67 4.80 -4.33 0.49 8.7838 7.9128 8.4115 7.1312
## 342 199706 4.04 1.51 0.65 0.37 7.6605 4.3353 -0.0894 4.4189
## 343 199707 7.22 -2.42 -0.38 0.43 8.2846 17.1745 10.2397 7.6272
## 344 199708 -4.04 7.49 1.06 0.41 -10.7843 -3.9480 -4.9020 -3.6411
## 345 199709 5.40 2.68 -0.26 0.44 9.2068 4.5623 1.7182 5.7970
## 346 199710 -3.87 -0.86 2.28 0.42 -5.0505 -7.0755 -0.8885 -3.4091
## 347 199711 2.66 -5.02 0.98 0.39 14.3133 11.3706 -1.2017 3.1223
## 348 199712 1.30 -2.35 3.80 0.48 -0.2707 -4.4521 0.3475 1.8058
## 349 199801 0.02 -1.02 -1.80 0.43 5.6218 -5.6153 -5.1082 0.4452
## 350 199802 6.93 0.27 -0.74 0.39 0.3226 5.9620 6.3066 7.2849
## 351 199803 4.74 -1.18 1.66 0.39 11.2379 -0.5386 6.0554 5.1306
## 352 199804 0.66 0.44 0.32 0.43 -1.1603 11.5523 3.2626 1.0859
## 353 199805 -2.98 -3.59 4.26 0.40 -2.1277 1.5922 -0.7014 -2.5430
## 354 199806 2.79 -3.26 -1.88 0.41 8.9955 -2.2872 -1.7628 3.2986
## 355 199807 -2.73 -4.95 -1.13 0.40 -1.2517 15.4056 -8.2284 -2.3231
## 356 199808 -16.20 -5.71 5.13 0.43 -10.5521 -14.8340 -0.8961 -15.6572
## 357 199809 5.92 -0.17 -3.92 0.46 -0.1719 14.0954 9.8553 6.4033
## 358 199810 7.12 -3.24 -2.72 0.32 9.9764 15.5642 -0.3292 7.4123
## 359 199811 5.89 1.11 -3.42 0.31 3.2857 11.3434 14.3782 6.1343
## 360 199812 5.93 -0.28 -4.86 0.38 13.2503 11.6578 1.3081 6.3160
str(retdata)
## 'data.frame': 360 obs. of 9 variables:
## $ date : int 196901 196902 196903 196904 196905 196906 196907 196908 196909 196910 ...
## $ Mkt.RF: num -1.2 -5.82 2.59 1.52 0.02 -7.25 -7.05 4.65 -2.88 4.96 ...
## $ SMB : num -0.8 -3.9 -0.28 -0.85 -0.27 -5.31 -3.27 0.89 1.2 3.78 ...
## $ HML : num 1.57 0.93 -0.45 0.06 0.74 -1.15 1.36 -3.83 -3.24 -3.19 ...
## $ RF : num 0.53 0.46 0.46 0.53 0.48 0.51 0.53 0.5 0.62 0.6 ...
## $ ge : num -1.2 -6.04 6.65 5.96 -3.58 ...
## $ ibm : num -5.95 -0.7 7.03 4.46 -2.5 ...
## $ mobil : num -1.4 -7.84 21.51 3 2.67 ...
## $ CRSP : num -0.671 -5.364 3.05 2.053 0.504 ...
# create data frame with dates as rownames
# FamaFrench.df = retdata[, -1]
#rownames(FamaFrench.df) = as.character(FamaFrenchInvest[, 1])
#colnames(FamaFrench.df)
##
## use multivariate regression and matrix algebra
##
returns.mat = as.matrix(retdata[, c(-1, -2,-3, -4, -5, -9 )])
market.mat = as.matrix(retdata[,2, drop=F])
n.obs = nrow(returns.mat)
X.mat = cbind(rep(1,n.obs),market.mat)
colnames(X.mat)[1] = "intercept"
XX.mat = crossprod(X.mat)
# multivariate least squares
G.hat = solve(XX.mat)%*%crossprod(X.mat,returns.mat)
# can also use solve(qr(X.mat), returns.mat)
beta.hat = G.hat[2,]
E.hat = returns.mat - X.mat%*%G.hat
diagD.hat = diag(crossprod(E.hat)/(n.obs-2))
# compute R2 values from multivariate regression
sumSquares = apply(returns.mat, 2, function(x) {sum( (x - mean(x))^2 )})
R.square = 1 - (n.obs-2)*diagD.hat/sumSquares
R.square
## ge ibm mobil
## 0.582416671 0.303968405 0.326377385
# print and plot results
cbind(beta.hat, diagD.hat, R.square)
## beta.hat diagD.hat R.square
## ge 1.058082541 17.0249383 0.582416671
## ibm 0.814994938 32.2587420 0.303968405
## mobil 0.815807172 29.1345781 0.326377385
par(mfrow=c(1,2))
barplot(beta.hat, horiz=T, main="Beta values", col="blue", cex.names = 0.75, las=1)
barplot(R.square, horiz=T, main="R-square values", col="blue", cex.names = 0.75, las=1)

par(mfrow=c(1,1))
# compute single index model covariance/correlation matrices
cov.si = as.numeric(var(market.mat))*beta.hat%*%t(beta.hat) + diag(diagD.hat)
cor.si = cov2cor(cov.si)
# plot correlations using plotcorr() from ellipse package
# compute global min variance portfolio
# use single index covariance
w.gmin.si = solve(cov.si)%*%rep(1,nrow(cov.si))
w.gmin.si = w.gmin.si/sum(w.gmin.si)
colnames(w.gmin.si) = "single.index"
# use sample covariance
w.gmin.sample = solve(var(returns.mat))%*%rep(1,nrow(cov.si))
w.gmin.sample = w.gmin.sample/sum(w.gmin.sample)
colnames(w.gmin.sample) = "sample"
cbind(w.gmin.si, sample = w.gmin.sample)
## single.index sample
## ge 0.331262957 0.320438638
## ibm 0.317603950 0.292423046
## mobil 0.351133093 0.387138316
par(mfrow=c(2,1))
barplot(t(w.gmin.si), horiz=F, main="Single Index Weights", col="blue", cex.names = 0.75, las=2)
barplot(t(w.gmin.sample), horiz=F, main="Sample Weights", col="blue", cex.names = 0.75, las=2)

par(mfrow=c(1,1))