#################################
## Sharpe ratios
#################################
mkt_sharpe = mean(port_all2$mktrf)/sd(port_all2$mktrf) * sqrt(12)
all_e_sharpe = mean(port_all2$r_port_e)/sd(port_all2$r_port_e) * sqrt(12)
all_v_sharpe = mean(port_all2$r_port_v)/sd(port_all2$r_port_v) * sqrt(12)
non1000_e_sharpe = mean(port_non_top1000_2$r_port_e)/sd(port_non_top1000_2$r_port_e) * sqrt(12)
non1000_v_sharpe = mean(port_non_top1000_2$r_port_v)/sd(port_non_top1000_2$r_port_v) * sqrt(12)
print(rbind(mkt_sharpe,all_e_sharpe,all_v_sharpe,non1000_e_sharpe,non1000_v_sharpe))
## [,1]
## mkt_sharpe 0.48032948
## all_e_sharpe 0.58282141
## all_v_sharpe 0.05480038
## non1000_e_sharpe 0.72048737
## non1000_v_sharpe 0.50506017
#################################
## 3 sets of factor models
#################################
f_capm_e = "r_port_e ~ mktrf"
f_capm_v = "r_port_v ~ mktrf"
f_ff_e = "r_port_e ~ mktrf + smb + hml"
f_ff_v = "r_port_v ~ mktrf + smb + hml"
f_ch_e = "r_port_e ~ mktrf + smb + hml + umd"
f_ch_v = "r_port_v ~ mktrf + smb + hml + umd"
m_capm_v_non1000 = lm(f_capm_v,data = port_non_top1000_2)
m_capm_e_non1000 = lm(f_capm_e,data = port_non_top1000_2)
m_capm_v_all = lm(f_capm_v,data = port_all2)
m_capm_e_all = lm(f_capm_e,data = port_all2)
m_ff_v_all = lm(f_ff_v,data = port_all2)
m_ff_e_all = lm(f_ff_e,data = port_all2)
m_ff_v_non1000 = lm(f_ff_v,data = port_non_top1000_2)
m_ff_e_non1000 = lm(f_ff_e,data = port_non_top1000_2)
m_ch_v_all = lm(f_ch_v,data = port_all2)
m_ch_e_all = lm(f_ch_e,data = port_all2)
m_ch_v_non1000 = lm(f_ch_v,data = port_non_top1000_2)
m_ch_e_non1000 = lm(f_ch_e,data = port_non_top1000_2)
# significant alphas
summary(m_capm_e_all)
##
## Call:
## lm(formula = f_capm_e, data = port_all2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.191951 -0.017694 0.001393 0.018056 0.148257
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.005289 0.001680 3.149 0.00175 **
## mktrf 0.089190 0.037141 2.401 0.01676 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03454 on 429 degrees of freedom
## Multiple R-squared: 0.01326, Adjusted R-squared: 0.01096
## F-statistic: 5.767 on 1 and 429 DF, p-value: 0.01676
summary(m_capm_v_all)
##
## Call:
## lm(formula = f_capm_v, data = port_all2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.30391 -0.02848 0.00124 0.02376 0.31998
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0001119 0.0025159 0.044 0.9645
## mktrf 0.1140927 0.0556256 2.051 0.0409 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05173 on 429 degrees of freedom
## Multiple R-squared: 0.009711, Adjusted R-squared: 0.007403
## F-statistic: 4.207 on 1 and 429 DF, p-value: 0.04087
summary(m_capm_e_non1000)
##
## Call:
## lm(formula = f_capm_e, data = port_non_top1000_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.224664 -0.018873 0.001443 0.019618 0.136143
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.006978 0.001721 4.054 5.99e-05 ***
## mktrf 0.064321 0.038059 1.690 0.0917 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0354 on 429 degrees of freedom
## Multiple R-squared: 0.006614, Adjusted R-squared: 0.004298
## F-statistic: 2.856 on 1 and 429 DF, p-value: 0.09174
summary(m_capm_v_non1000)
##
## Call:
## lm(formula = f_capm_v, data = port_non_top1000_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.238556 -0.018900 0.001097 0.020344 0.224040
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.004875 0.001926 2.531 0.011725 *
## mktrf 0.158375 0.042586 3.719 0.000227 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03961 on 429 degrees of freedom
## Multiple R-squared: 0.03123, Adjusted R-squared: 0.02897
## F-statistic: 13.83 on 1 and 429 DF, p-value: 0.0002266
summary(m_ff_e_all)
##
## Call:
## lm(formula = f_ff_e, data = port_all2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.139020 -0.013939 0.000173 0.014160 0.067653
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.008560 0.001189 7.199 2.74e-12 ***
## mktrf -0.116545 0.027880 -4.180 3.53e-05 ***
## smb 0.138853 0.040495 3.429 0.000665 ***
## hml -0.817350 0.042307 -19.320 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02419 on 427 degrees of freedom
## Multiple R-squared: 0.5183, Adjusted R-squared: 0.5149
## F-statistic: 153.1 on 3 and 427 DF, p-value: < 2.2e-16
summary(m_ff_v_all)
##
## Call:
## lm(formula = f_ff_v, data = port_all2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.18126 -0.01869 -0.00003 0.01907 0.11480
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.004499 0.001706 2.638 0.00864 **
## mktrf -0.216100 0.039991 -5.404 1.09e-07 ***
## smb 0.509594 0.058086 8.773 < 2e-16 ***
## hml -1.109003 0.060685 -18.275 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0347 on 427 degrees of freedom
## Multiple R-squared: 0.5565, Adjusted R-squared: 0.5534
## F-statistic: 178.6 on 3 and 427 DF, p-value: < 2.2e-16
summary(m_ff_e_non1000)
##
## Call:
## lm(formula = f_ff_e, data = port_non_top1000_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.173171 -0.015563 0.001486 0.018427 0.075574
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.009984 0.001377 7.253 1.93e-12 ***
## mktrf -0.110846 0.032278 -3.434 0.000653 ***
## smb 0.044700 0.046884 0.953 0.340916
## hml -0.747914 0.048981 -15.270 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02801 on 427 degrees of freedom
## Multiple R-squared: 0.3809, Adjusted R-squared: 0.3766
## F-statistic: 87.58 on 3 and 427 DF, p-value: < 2.2e-16
summary(m_ff_v_non1000)
##
## Call:
## lm(formula = f_ff_v, data = port_non_top1000_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.188587 -0.017482 0.000308 0.017624 0.117819
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.008133 0.001482 5.487 7.03e-08 ***
## mktrf -0.059878 0.034756 -1.723 0.0856 .
## smb 0.218022 0.050482 4.319 1.95e-05 ***
## hml -0.817069 0.052740 -15.492 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03016 on 427 degrees of freedom
## Multiple R-squared: 0.4409, Adjusted R-squared: 0.437
## F-statistic: 112.3 on 3 and 427 DF, p-value: < 2.2e-16
summary(m_ch_e_all)
##
## Call:
## lm(formula = f_ch_e, data = port_all2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.101752 -0.013856 0.000295 0.013537 0.081551
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.007544 0.001184 6.374 4.79e-10 ***
## mktrf -0.090313 0.027855 -3.242 0.001279 **
## smb 0.133821 0.039603 3.379 0.000794 ***
## hml -0.772030 0.042535 -18.150 < 2e-16 ***
## umd 0.118628 0.026007 4.561 6.65e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02365 on 426 degrees of freedom
## Multiple R-squared: 0.5407, Adjusted R-squared: 0.5364
## F-statistic: 125.4 on 4 and 426 DF, p-value: < 2.2e-16
summary(m_ch_v_all)
##
## Call:
## lm(formula = f_ch_v, data = port_all2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.18749 -0.01912 0.00002 0.01907 0.11797
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.004138 0.001736 2.383 0.0176 *
## mktrf -0.206772 0.040861 -5.060 6.23e-07 ***
## smb 0.507804 0.058094 8.741 < 2e-16 ***
## hml -1.092887 0.062395 -17.516 < 2e-16 ***
## umd 0.042184 0.038149 1.106 0.2695
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03469 on 426 degrees of freedom
## Multiple R-squared: 0.5578, Adjusted R-squared: 0.5536
## F-statistic: 134.3 on 4 and 426 DF, p-value: < 2.2e-16
summary(m_ch_e_non1000)
##
## Call:
## lm(formula = f_ch_e, data = port_non_top1000_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.127228 -0.015339 0.000007 0.017682 0.091136
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.008731 0.001366 6.393 4.28e-10 ***
## mktrf -0.078508 0.032144 -2.442 0.015 *
## smb 0.038495 0.045700 0.842 0.400
## hml -0.692044 0.049084 -14.099 < 2e-16 ***
## umd 0.146241 0.030011 4.873 1.55e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02729 on 426 degrees of freedom
## Multiple R-squared: 0.4136, Adjusted R-squared: 0.4081
## F-statistic: 75.12 on 4 and 426 DF, p-value: < 2.2e-16
summary(m_ch_v_non1000)
##
## Call:
## lm(formula = f_ch_v, data = port_non_top1000_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.135867 -0.017544 0.000141 0.016923 0.097349
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.006695 0.001465 4.570 6.40e-06 ***
## mktrf -0.022771 0.034480 -0.660 0.509
## smb 0.210903 0.049022 4.302 2.10e-05 ***
## hml -0.752959 0.052651 -14.301 < 2e-16 ***
## umd 0.167811 0.032192 5.213 2.91e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02927 on 426 degrees of freedom
## Multiple R-squared: 0.4745, Adjusted R-squared: 0.4695
## F-statistic: 96.15 on 4 and 426 DF, p-value: < 2.2e-16