In this project we analayze the stock data and predict for the stocks that may return positive returns. The data is quarterly,and we have data 20 unique quarters.First we built 20 linear regression models for stocks for each 20 dates(quarterly). In the second part we will restrict our portfolio to only one sector and again bulit the regression modelfor each 20 dates

library(sqldf)
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: RSQLite
library(corrplot)

Data Loading and choosing the right indicators

The data file has around 100 indicators, we will use at most 20 indicators to build our model.To make sure we choose significant indicators we will check for multicollinearity in the indicators

indicators<- c("revenue","cor","gp","sps","eps","netinc","ncff","ncf","ncfdebt",
               "ncfcommon","assets","bvps","equity","debt","de","pe1","ps1",
               "netmargin","fcfps","ncfi","assetsc","assetsnc","capex","cashneq",
               "cashnequsd","currentratio","debtusd","ebit","ebitda","ebitdamargin",
               "ebitusd","ebt","epsdil","epsusd","equityusd","ev",
               "evebit","evebitda","fcf","fcfps","grossmargin","invcap","inventory",
               "liabilitiesc","marketcap","ncfo","ncfx","netinc","netinccmn","pb",
                "pe","ps","retearn","sgna","sharesbas","shareswa","taxexp","tbvps",
               "workingcapital")

Check for co-relation

#*****co-relation matrix ***********

newdata <- data_csv[indicators]
#boxplot(data_csv$marketcap)
newdata <-na.omit(newdata)
dim(newdata)
## [1] 58671    59
res<-cor(newdata, use="complete.obs", method="pearson") 

corrplot(res, type = "upper", order = "hclust", 
         tl.col = "black", tl.srt = 45)

Include those indicators tht are not co-related

ind1 <- c("price","marketcap","sps","eps","ncff","ncf","accoci","ncfcommon","bvps",
          "de","pe1","ps1","netmargin","ncfi","capex","currentratio",
          "epsdil","fcfps", "ncfx","pb","tbvps")

data_ind1<- data_csv[ind1]
data_ind1 <-na.omit(data_ind1)

Plot Co-relation plot

res1<-cor(data_ind1, use="complete.obs", method="pearson") 
corrplot(res1, type = "upper", order = "hclust", 
         tl.col = "black", tl.srt = 45)

Now we have all the significant indicators in our data set, lets subset it in a new dataframe

# subset the data 
ind1 <- c("ticker", "calendardate","price","marketcap","sps","eps","ncff","ncf",
          "accoci","ncfcommon","bvps","de","pe1","ps1","netmargin","ncfi","capex",
          "currentratio", "epsdil","fcfps", "ncfx","pb","tbvps")
data_ind1<- data_csv[ind1]
data_ind1 <-na.omit(data_ind1)
dim(data_ind1)
## [1] 61502    23

Price Return Ratio of each stock

Calculate the price return of each stock. Price return is the ratio of the price of a stock the previous date to current date.

# *******Computing Price returns**********************
data_ind1<-data_ind1[order(data_ind1$ticker, data_ind1$calendardate),]
# adding a new cloumn for log price ratio
data_ind1["pratio"] <- NA

records<-nrow(data_ind1)
for (i in 2:records) {
  if(identical(data_ind1$ticker[i],data_ind1$ticker[i-1])){ # if ticker is same
    
    data_ind1$pratio[i]<-(data_ind1$price[i]/data_ind1$price[i-1])# calculate the log returns
    
  } else {
    data_ind1$pratio[i]<-0
  }
}
data_ind1$pratio[1]<-0 # Price Return ratio of first record cannot be calculated, so 
                       # take it 0
Removing Outliers
#### Data Cleaning, remove outliers #######
# 1. marketcap
data_ind1 <-subset(data_ind1, marketcap < 150000000000)
#boxplot(data_ind1$marketcap)

# 2 sps 
data_ind1 <-subset(data_ind1, sps < 800)
data_ind1 <-subset(data_ind1, sps > -100)
#boxplot(data_ind1$sps)

# 3 eps
data_ind1 <-subset(data_ind1, eps < 10)
data_ind1 <-subset(data_ind1, eps > -10)
#boxplot(data_ind1$eps)

# 4 ncff
data_ind1 <-subset(data_ind1, ncff < 1000000000)
data_ind1 <-subset(data_ind1, ncff > -1000000000)
#boxplot(data_ind1$ncff)

#5 ncf can remove later
data_ind1 <-subset(data_ind1, ncf < 700000000)
data_ind1 <-subset(data_ind1, ncf > -1000000000)
#boxplot(data_ind1$ncf)

#6 accoci can remove later
data_ind1 <-subset(data_ind1, accoci < 1000000000)
data_ind1 <-subset(data_ind1, accoci > -2000000000)
#boxplot(data_ind1$accoci)

#7 ncfcommon lot of outliers still
data_ind1 <-subset(data_ind1, ncfcommon < 400000000)
data_ind1 <-subset(data_ind1, ncfcommon > -300000000)
#boxplot(data_ind1$ncfcommon)

# 8 bvps
data_ind1 <-subset(data_ind1, bvps < 200)
#boxplot(data_ind1$bvps)

#9 de
data_ind1 <-subset(data_ind1, de < 100)
data_ind1 <-subset(data_ind1, de > -100)
#boxplot(data_ind1$de)

#10 pe1
data_ind1 <-subset(data_ind1, pe1 < 1500)
data_ind1 <-subset(data_ind1, pe1 > -1500)
#boxplot(data_ind1$pe1)

#11 ps1
data_ind1 <-subset(data_ind1, ps1 < 1000)
data_ind1 <-subset(data_ind1, ps1 > -1000)
#boxplot(data_ind1$ps1)

# 12 netmargin
data_ind1 <-subset(data_ind1, netmargin <  40)
data_ind1 <-subset(data_ind1, netmargin > -80)
#boxplot(data_ind1$netmargin)

# 13 ncfi
data_ind1 <-subset(data_ind1, ncfi <  1000000000)
data_ind1 <-subset(data_ind1, ncfi > -2000000000)
#boxplot(data_ind1$ncfi)

# 14 capex
data_ind1 <-subset(data_ind1, capex > -900000000)
data_ind1 <-subset(data_ind1, capex < 200000000)
#boxplot(data_ind1$capex)

# 15 currentratio
data_ind1 <-subset(data_ind1, currentratio < 40)
#boxplot(data_ind1$currentratio)

# 16 epsdil
data_ind1 <-subset(data_ind1, epsdil < 20)
#boxplot(data_ind1$epsdil)

# 17 fcfps
data_ind1 <-subset(data_ind1, fcfps < 20)
data_ind1 <-subset(data_ind1, fcfps > -20)
#boxplot(data_ind1$fcfps)

# 18 ncfx
data_ind1 <-subset(data_ind1, ncfx < 9000000)
data_ind1 <-subset(data_ind1, ncfx > -9000000)
#boxplot(data_ind1$ncfx)

# 19 pb
data_ind1 <-subset(data_ind1, pb < 200)
data_ind1 <-subset(data_ind1, pb > -150)
#boxplot(data_ind1$pb)

#20 tbvps
data_ind1 <-subset(data_ind1, tbvps < 300)
#boxplot(data_ind1$tbvps)

Normalizing Data

#************ Normalize data***************
dfNormZ <- as.data.frame( scale(data_ind1[3:23] ))
dfNormZ<-cbind(dfNormZ,data_ind1$ticker)
dfNormZ<-cbind(dfNormZ,data_ind1$calendardate)
dfNormZ<-cbind(dfNormZ,data_ind1$pratio)

#naming the normalized variable
colnames(dfNormZ)[22] <- "ticker"
colnames(dfNormZ)[23] <- "calenderdate"
colnames(dfNormZ)[24] <- "pratio"

Building the Regression model

In this model we will calculate log price returns for all the stocks for each calender date. The data is quarterly and we have 20 unique calender dates and approximately 4400 stocks in each date.

#***************** regression model****************************

dfNormZ<-subset(dfNormZ,pratio!=0)
dfNormZ<-subset(dfNormZ,pratio!=Inf)
dfNormZ<-dfNormZ[complete.cases(dfNormZ), ]
dfNormZ <-na.omit(dfNormZ)

# split the data
smp_size <-floor(0.75* nrow(dfNormZ))
train_ind <-sample(seq_len(nrow(dfNormZ)), size = smp_size)
train_set <- dfNormZ[train_ind,]
test_set  <-dfNormZ[-train_ind,]

cal_date<-unique(train_set$calenderdate)
l<-length(cal_date)
reg_model <- list()
reg_summary <- list()
for (i in 1:l){
  data_set<-subset(train_set,calenderdate==cal_date[i])
  
  #Building a linear regression model
  f<-lm(log(data_set$pratio)~marketcap+sps+eps+ncff+ncf+accoci
        +ncfcommon+bvps+de+pe1+ps1+netmargin+ncfx+pb
        +ncfi+capex+currentratio+epsdil+fcfps+tbvps,data=data_set)
  
  reg_model[[i]] <- f
  reg_summary[[i]] <- summary(f)
  cat("Summary for Model", i)
  print(summary(f))
}
## Summary for Model 1
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.97232 -0.10845  0.01792  0.14410  1.67908 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.092579   0.007051 -13.131  < 2e-16 ***
## marketcap     0.036482   0.008882   4.107 4.16e-05 ***
## sps           0.012232   0.008884   1.377 0.168745    
## eps          -0.030606   0.182981  -0.167 0.867180    
## ncff          0.006617   0.012385   0.534 0.593208    
## ncf          -0.009099   0.010329  -0.881 0.378457    
## accoci        0.012107   0.006325   1.914 0.055747 .  
## ncfcommon     0.002111   0.006864   0.307 0.758511    
## bvps          0.014108   0.009890   1.427 0.153863    
## de            0.001762   0.007491   0.235 0.814104    
## pe1           0.007123   0.006751   1.055 0.291530    
## ps1           0.022881   0.006383   3.584 0.000346 ***
## netmargin     0.015240   0.007066   2.157 0.031144 *  
## ncfx         -0.001723   0.007442  -0.232 0.816891    
## pb            0.017754   0.007159   2.480 0.013218 *  
## ncfi         -0.012432   0.017270  -0.720 0.471708    
## capex         0.028523   0.014164   2.014 0.044171 *  
## currentratio  0.012881   0.006935   1.858 0.063380 .  
## epsdil        0.108636   0.182459   0.595 0.551644    
## fcfps         0.011052   0.011400   0.970 0.332409    
## tbvps        -0.041415   0.012128  -3.415 0.000651 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3026 on 1997 degrees of freedom
## Multiple R-squared:  0.1143, Adjusted R-squared:  0.1054 
## F-statistic: 12.89 on 20 and 1997 DF,  p-value: < 2.2e-16
## 
## Summary for Model 2
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3911 -0.1046  0.0070  0.1197  1.7165 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.0650747  0.0063354  10.272  < 2e-16 ***
## marketcap     0.0123816  0.0122405   1.012  0.31188    
## sps           0.0218727  0.0074615   2.931  0.00341 ** 
## eps           0.1381975  0.1829634   0.755  0.45014    
## ncff          0.0085770  0.0111743   0.768  0.44284    
## ncf          -0.0025299  0.0094048  -0.269  0.78796    
## accoci       -0.0045107  0.0061344  -0.735  0.46223    
## ncfcommon     0.0072585  0.0072347   1.003  0.31584    
## bvps         -0.0040885  0.0094995  -0.430  0.66696    
## de            0.0036744  0.0073889   0.497  0.61904    
## pe1           0.0055878  0.0066884   0.835  0.40356    
## ps1           0.0012774  0.0141893   0.090  0.92827    
## netmargin     0.0392399  0.0085358   4.597 4.55e-06 ***
## ncfx         -0.0004756  0.0068481  -0.069  0.94464    
## pb            0.0126201  0.0079097   1.596  0.11075    
## ncfi          0.0033898  0.0153756   0.220  0.82553    
## capex         0.0011455  0.0112599   0.102  0.91898    
## currentratio  0.0043202  0.0065514   0.659  0.50969    
## epsdil       -0.1039840  0.1828737  -0.569  0.56968    
## fcfps         0.0157526  0.0077841   2.024  0.04313 *  
## tbvps        -0.0193291  0.0111001  -1.741  0.08177 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2774 on 2035 degrees of freedom
## Multiple R-squared:  0.05224,    Adjusted R-squared:  0.04293 
## F-statistic: 5.609 on 20 and 2035 DF,  p-value: 2.252e-14
## 
## Summary for Model 3
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.7732 -0.1132  0.0279  0.1479  1.4688 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.085644   0.006471 -13.235  < 2e-16 ***
## marketcap     0.013915   0.009412   1.478  0.13947    
## sps           0.003219   0.007586   0.424  0.67134    
## eps          -0.335475   0.399289  -0.840  0.40091    
## ncff          0.006358   0.011145   0.570  0.56844    
## ncf          -0.012536   0.010647  -1.177  0.23918    
## accoci        0.006019   0.006920   0.870  0.38449    
## ncfcommon    -0.004565   0.006569  -0.695  0.48720    
## bvps          0.007658   0.009044   0.847  0.39719    
## de           -0.016001   0.007557  -2.117  0.03435 *  
## pe1           0.009064   0.005837   1.553  0.12059    
## ps1           0.021182   0.010207   2.075  0.03810 *  
## netmargin     0.023633   0.007698   3.070  0.00217 ** 
## ncfx         -0.004052   0.006222  -0.651  0.51491    
## pb            0.015779   0.007303   2.161  0.03085 *  
## ncfi          0.019459   0.013971   1.393  0.16385    
## capex        -0.010839   0.011364  -0.954  0.34029    
## currentratio -0.003332   0.006215  -0.536  0.59195    
## epsdil        0.359703   0.397040   0.906  0.36507    
## fcfps         0.031137   0.009467   3.289  0.00102 ** 
## tbvps        -0.008369   0.010204  -0.820  0.41223    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2722 on 1936 degrees of freedom
## Multiple R-squared:  0.04892,    Adjusted R-squared:  0.03909 
## F-statistic: 4.979 on 20 and 1936 DF,  p-value: 3.446e-12
## 
## Summary for Model 4
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.59086 -0.09064  0.00087  0.08928  0.89530 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.0296691  0.0045413   6.533 8.12e-11 ***
## marketcap     0.0193800  0.0063918   3.032 0.002460 ** 
## sps           0.0040434  0.0060311   0.670 0.502669    
## eps          -0.0412701  0.2028115  -0.203 0.838772    
## ncff          0.0103148  0.0071128   1.450 0.147167    
## ncf          -0.0002006  0.0061948  -0.032 0.974173    
## accoci       -0.0008338  0.0043788  -0.190 0.849004    
## ncfcommon    -0.0016152  0.0046886  -0.345 0.730501    
## bvps         -0.0075007  0.0069141  -1.085 0.278120    
## de           -0.0047573  0.0054325  -0.876 0.381296    
## pe1          -0.0020331  0.0039368  -0.516 0.605603    
## ps1           0.0155644  0.0065231   2.386 0.017122 *  
## netmargin     0.0196202  0.0060243   3.257 0.001145 ** 
## ncfx          0.0044670  0.0048594   0.919 0.358069    
## pb            0.0226417  0.0058833   3.848 0.000123 ***
## ncfi          0.0019189  0.0115501   0.166 0.868065    
## capex         0.0046865  0.0088198   0.531 0.595226    
## currentratio  0.0048530  0.0046799   1.037 0.299871    
## epsdil        0.0582487  0.2025877   0.288 0.773741    
## fcfps         0.0097845  0.0063545   1.540 0.123770    
## tbvps         0.0063474  0.0077937   0.814 0.415496    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1976 on 2031 degrees of freedom
## Multiple R-squared:  0.03663,    Adjusted R-squared:  0.02714 
## F-statistic: 3.861 on 20 and 2031 DF,  p-value: 1.767e-08
## 
## Summary for Model 5
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.33633 -0.11598  0.01908  0.13826  1.30944 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.1599162  0.0058681 -27.252  < 2e-16 ***
## marketcap     0.0300292  0.0101833   2.949  0.00323 ** 
## sps          -0.0150750  0.0073420  -2.053  0.04017 *  
## eps          -0.6772268  0.1163850  -5.819 6.86e-09 ***
## ncff          0.0012353  0.0102535   0.120  0.90412    
## ncf          -0.0008472  0.0087054  -0.097  0.92248    
## accoci       -0.0021269  0.0063921  -0.333  0.73937    
## ncfcommon    -0.0016969  0.0056202  -0.302  0.76273    
## bvps          0.0031892  0.0088919   0.359  0.71989    
## de           -0.0283629  0.0066041  -4.295 1.83e-05 ***
## pe1           0.0169670  0.0056851   2.984  0.00287 ** 
## ps1           0.0101557  0.0121590   0.835  0.40368    
## netmargin     0.0137114  0.0076203   1.799  0.07211 .  
## ncfx         -0.0045524  0.0062134  -0.733  0.46384    
## pb            0.0589141  0.0095864   6.146 9.55e-10 ***
## ncfi          0.0134639  0.0135753   0.992  0.32142    
## capex        -0.0035572  0.0092933  -0.383  0.70193    
## currentratio -0.0007394  0.0058772  -0.126  0.89989    
## epsdil        0.7192757  0.1184112   6.074 1.48e-09 ***
## fcfps         0.0220768  0.0071536   3.086  0.00206 ** 
## tbvps         0.0021652  0.0105231   0.206  0.83700    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2415 on 2044 degrees of freedom
## Multiple R-squared:  0.08874,    Adjusted R-squared:  0.07982 
## F-statistic: 9.952 on 20 and 2044 DF,  p-value: < 2.2e-16
## 
## Summary for Model 6
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -3.06468 -0.11151 -0.01033  0.11043  2.40163 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.0618300  0.0062188   9.942  < 2e-16 ***
## marketcap     0.0210165  0.0080042   2.626 0.008714 ** 
## sps          -0.0017282  0.0071401  -0.242 0.808775    
## eps           0.1534483  0.0874422   1.755 0.079439 .  
## ncff          0.0093115  0.0093249   0.999 0.318132    
## ncf          -0.0039227  0.0076010  -0.516 0.605860    
## accoci        0.0040868  0.0068766   0.594 0.552378    
## ncfcommon     0.0073761  0.0064662   1.141 0.254123    
## bvps         -0.0364331  0.0090420  -4.029 5.81e-05 ***
## de           -0.0083674  0.0074073  -1.130 0.258774    
## pe1          -0.0027518  0.0052013  -0.529 0.596819    
## ps1           0.0231725  0.0077259   2.999 0.002740 ** 
## netmargin     0.0258057  0.0076967   3.353 0.000815 ***
## ncfx         -0.0003366  0.0065619  -0.051 0.959093    
## pb            0.0194812  0.0068998   2.823 0.004799 ** 
## ncfi          0.0061795  0.0119274   0.518 0.604449    
## capex         0.0104404  0.0098498   1.060 0.289293    
## currentratio  0.0093479  0.0061989   1.508 0.131715    
## epsdil       -0.1326289  0.0863837  -1.535 0.124859    
## fcfps         0.0006591  0.0070881   0.093 0.925926    
## tbvps         0.0136804  0.0109553   1.249 0.211905    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2736 on 1977 degrees of freedom
## Multiple R-squared:  0.03128,    Adjusted R-squared:  0.02148 
## F-statistic: 3.192 on 20 and 1977 DF,  p-value: 2.329e-06
## 
## Summary for Model 7
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.7646 -0.1014 -0.0057  0.1056  1.1580 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.0736051  0.0049351  14.915  < 2e-16 ***
## marketcap     0.0070318  0.0065883   1.067   0.2860    
## sps           0.0051659  0.0059614   0.867   0.3863    
## eps          -0.0564272  0.1796422  -0.314   0.7535    
## ncff          0.0128512  0.0075495   1.702   0.0889 .  
## ncf          -0.0003011  0.0069106  -0.044   0.9653    
## accoci       -0.0073952  0.0048750  -1.517   0.1294    
## ncfcommon    -0.0008937  0.0053937  -0.166   0.8684    
## bvps         -0.0165855  0.0065209  -2.543   0.0111 *  
## de            0.0004040  0.0060082   0.067   0.9464    
## pe1           0.0022316  0.0041983   0.532   0.5951    
## ps1           0.0221835  0.0092452   2.399   0.0165 *  
## netmargin     0.0294185  0.0055499   5.301 1.28e-07 ***
## ncfx          0.0073053  0.0058427   1.250   0.2113    
## pb            0.0030699  0.0056497   0.543   0.5869    
## ncfi          0.0073454  0.0111428   0.659   0.5098    
## capex         0.0064452  0.0085789   0.751   0.4526    
## currentratio  0.0073025  0.0056385   1.295   0.1954    
## epsdil        0.0792771  0.1798050   0.441   0.6593    
## fcfps         0.0080485  0.0067868   1.186   0.2358    
## tbvps         0.0019791  0.0082682   0.239   0.8108    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2177 on 1963 degrees of freedom
## Multiple R-squared:  0.03589,    Adjusted R-squared:  0.02606 
## F-statistic: 3.653 on 20 and 1963 DF,  p-value: 8.349e-08
## 
## Summary for Model 8
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.57238 -0.11396  0.02396  0.14714  1.58021 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -4.805e-02  6.779e-03  -7.088 1.89e-12 ***
## marketcap     3.881e-02  1.591e-02   2.440 0.014791 *  
## sps           1.379e-06  9.579e-03   0.000 0.999885    
## eps          -2.330e-01  2.383e-01  -0.978 0.328204    
## ncff          1.213e-02  1.375e-02   0.882 0.377821    
## ncf           2.113e-03  1.079e-02   0.196 0.844804    
## accoci       -2.250e-03  9.183e-03  -0.245 0.806425    
## ncfcommon    -1.712e-04  8.115e-03  -0.021 0.983173    
## bvps          8.922e-03  1.028e-02   0.868 0.385448    
## de            1.802e-03  8.188e-03   0.220 0.825819    
## pe1           9.336e-03  7.950e-03   1.174 0.240367    
## ps1           3.557e-02  8.839e-03   4.025 5.93e-05 ***
## netmargin     2.846e-02  7.454e-03   3.818 0.000139 ***
## ncfx         -9.219e-03  6.302e-03  -1.463 0.143664    
## pb            5.852e-03  8.803e-03   0.665 0.506270    
## ncfi          1.175e-02  1.725e-02   0.681 0.495842    
## capex         1.153e-02  1.203e-02   0.959 0.337782    
## currentratio  3.038e-03  6.350e-03   0.478 0.632402    
## epsdil        2.833e-01  2.382e-01   1.189 0.234475    
## fcfps         1.566e-02  9.604e-03   1.631 0.103140    
## tbvps         1.932e-04  1.220e-02   0.016 0.987369    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.269 on 1962 degrees of freedom
## Multiple R-squared:  0.06115,    Adjusted R-squared:  0.05158 
## F-statistic: 6.389 on 20 and 1962 DF,  p-value: < 2.2e-16
## 
## Summary for Model 9
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.7347 -0.1097 -0.0004  0.1119  2.1347 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.092054   0.005667  16.245  < 2e-16 ***
## marketcap    -0.009194   0.009036  -1.018  0.30901    
## sps           0.005117   0.006944   0.737  0.46127    
## eps          -0.113585   0.175088  -0.649  0.51658    
## ncff         -0.004683   0.009423  -0.497  0.61927    
## ncf           0.013738   0.007366   1.865  0.06234 .  
## accoci       -0.001038   0.004882  -0.213  0.83156    
## ncfcommon    -0.002308   0.006344  -0.364  0.71609    
## bvps         -0.002536   0.007209  -0.352  0.72504    
## de           -0.016681   0.007090  -2.353  0.01873 *  
## pe1           0.002630   0.005407   0.486  0.62670    
## ps1           0.005599   0.011943   0.469  0.63927    
## netmargin     0.014091   0.006866   2.052  0.04027 *  
## ncfx          0.002867   0.006987   0.410  0.68166    
## pb            0.025842   0.008297   3.115  0.00187 ** 
## ncfi         -0.013714   0.012053  -1.138  0.25534    
## capex         0.008537   0.008926   0.956  0.33894    
## currentratio -0.005503   0.006395  -0.861  0.38959    
## epsdil        0.129591   0.174888   0.741  0.45878    
## fcfps         0.005986   0.006172   0.970  0.33223    
## tbvps        -0.005913   0.009346  -0.633  0.52703    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2417 on 2006 degrees of freedom
## Multiple R-squared:  0.02296,    Adjusted R-squared:  0.01322 
## F-statistic: 2.357 on 20 and 2006 DF,  p-value: 0.0006248
## 
## Summary for Model 10
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2285 -0.1187  0.0230  0.1359  2.4729 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.012367   0.007271  -1.701   0.0891 .  
## marketcap     0.045676   0.010350   4.413 1.08e-05 ***
## sps           0.022594   0.009105   2.481   0.0132 *  
## eps          -0.010612   0.114316  -0.093   0.9260    
## ncff          0.025701   0.013782   1.865   0.0624 .  
## ncf          -0.007963   0.010890  -0.731   0.4647    
## accoci       -0.009980   0.008661  -1.152   0.2493    
## ncfcommon     0.007426   0.008507   0.873   0.3828    
## bvps          0.001640   0.009830   0.167   0.8675    
## de           -0.010791   0.009059  -1.191   0.2337    
## pe1           0.006064   0.007587   0.799   0.4243    
## ps1           0.040276   0.005902   6.824 1.20e-11 ***
## netmargin     0.027485   0.007013   3.919 9.20e-05 ***
## ncfx         -0.011997   0.007022  -1.709   0.0877 .  
## pb            0.020605   0.008082   2.549   0.0109 *  
## ncfi          0.024585   0.017592   1.397   0.1624    
## capex         0.005167   0.012527   0.412   0.6800    
## currentratio  0.011797   0.007459   1.582   0.1139    
## epsdil        0.028273   0.114664   0.247   0.8053    
## fcfps         0.019646   0.008443   2.327   0.0201 *  
## tbvps        -0.022919   0.011712  -1.957   0.0505 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2959 on 1849 degrees of freedom
## Multiple R-squared:  0.07654,    Adjusted R-squared:  0.06655 
## F-statistic: 7.663 on 20 and 1849 DF,  p-value: < 2.2e-16
## 
## Summary for Model 11
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.34483 -0.09773  0.01184  0.10966  1.82400 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.0423069  0.0051203  -8.263 2.55e-16 ***
## marketcap     0.0256158  0.0077452   3.307 0.000958 ***
## sps           0.0006307  0.0062726   0.101 0.919920    
## eps           0.2221638  0.1931291   1.150 0.250141    
## ncff          0.0062171  0.0068209   0.911 0.362151    
## ncf           0.0020270  0.0064404   0.315 0.752997    
## accoci       -0.0003950  0.0048620  -0.081 0.935252    
## ncfcommon    -0.0087276  0.0052236  -1.671 0.094913 .  
## bvps          0.0023066  0.0072468   0.318 0.750300    
## de            0.0238594  0.0077123   3.094 0.002004 ** 
## pe1           0.0067226  0.0051458   1.306 0.191561    
## ps1           0.0356963  0.0136156   2.622 0.008814 ** 
## netmargin     0.0232837  0.0083553   2.787 0.005375 ** 
## ncfx         -0.0042036  0.0050019  -0.840 0.400785    
## pb           -0.0031609  0.0083536  -0.378 0.705187    
## ncfi         -0.0037985  0.0102895  -0.369 0.712041    
## capex         0.0230858  0.0086732   2.662 0.007836 ** 
## currentratio -0.0077852  0.0050104  -1.554 0.120390    
## epsdil       -0.1995176  0.1924631  -1.037 0.300021    
## fcfps         0.0061503  0.0055011   1.118 0.263688    
## tbvps         0.0011576  0.0084267   0.137 0.890746    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2112 on 2017 degrees of freedom
## Multiple R-squared:  0.04649,    Adjusted R-squared:  0.03703 
## F-statistic: 4.917 on 20 and 2017 DF,  p-value: 5.43e-12
## 
## Summary for Model 12
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.39111 -0.10805  0.01908  0.13474  2.56940 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.044863   0.006908  -6.495 1.06e-10 ***
## marketcap     0.045786   0.010604   4.318 1.66e-05 ***
## sps           0.010936   0.008845   1.236  0.21649    
## eps          -0.130790   0.123387  -1.060  0.28928    
## ncff          0.013506   0.011693   1.155  0.24825    
## ncf          -0.017408   0.010132  -1.718  0.08594 .  
## accoci        0.021174   0.010046   2.108  0.03519 *  
## ncfcommon     0.002970   0.007683   0.387  0.69912    
## bvps          0.018510   0.010075   1.837  0.06635 .  
## de            0.002821   0.006694   0.421  0.67347    
## pe1           0.007365   0.006268   1.175  0.24016    
## ps1          -0.008724   0.007142  -1.222  0.22204    
## netmargin    -0.001501   0.008942  -0.168  0.86668    
## ncfx          0.004126   0.006137   0.672  0.50150    
## pb            0.011952   0.006089   1.963  0.04981 *  
## ncfi          0.024268   0.015125   1.605  0.10877    
## capex         0.015531   0.011945   1.300  0.19369    
## currentratio  0.014574   0.007615   1.914  0.05580 .  
## epsdil        0.178881   0.124254   1.440  0.15014    
## fcfps         0.024437   0.008745   2.794  0.00525 ** 
## tbvps        -0.018866   0.012121  -1.556  0.11978    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2794 on 1861 degrees of freedom
## Multiple R-squared:  0.0707, Adjusted R-squared:  0.06071 
## F-statistic: 7.079 on 20 and 1861 DF,  p-value: < 2.2e-16
## 
## Summary for Model 13
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.45766 -0.13130  0.02228  0.16517  1.87294 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.1598229  0.0079494 -20.105  < 2e-16 ***
## marketcap     0.0329032  0.0105687   3.113  0.00188 ** 
## sps           0.0058403  0.0099727   0.586  0.55819    
## eps          -0.0896606  0.1902539  -0.471  0.63750    
## ncff          0.0256630  0.0122730   2.091  0.03666 *  
## ncf          -0.0112054  0.0112136  -0.999  0.31779    
## accoci       -0.0002440  0.0066797  -0.037  0.97087    
## ncfcommon    -0.0034737  0.0083889  -0.414  0.67886    
## bvps          0.0249531  0.0110043   2.268  0.02347 *  
## de           -0.0150182  0.0071111  -2.112  0.03482 *  
## pe1           0.0035008  0.0084680   0.413  0.67935    
## ps1           0.0306958  0.0131241   2.339  0.01944 *  
## netmargin     0.0544442  0.0093321   5.834 6.35e-09 ***
## ncfx         -0.0002814  0.0077178  -0.036  0.97092    
## pb            0.0103960  0.0077338   1.344  0.17904    
## ncfi          0.0328158  0.0160092   2.050  0.04052 *  
## capex        -0.0056579  0.0137183  -0.412  0.68007    
## currentratio -0.0034728  0.0087019  -0.399  0.68988    
## epsdil        0.1419548  0.1891110   0.751  0.45296    
## fcfps         0.0288665  0.0104832   2.754  0.00595 ** 
## tbvps        -0.0341440  0.0131148  -2.603  0.00930 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3255 on 1897 degrees of freedom
## Multiple R-squared:  0.1034, Adjusted R-squared:  0.09392 
## F-statistic: 10.94 on 20 and 1897 DF,  p-value: < 2.2e-16
## 
## Summary for Model 14
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.1781 -0.0983  0.0005  0.1031  1.4590 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.0349178  0.0060420   5.779 8.68e-09 ***
## marketcap     0.0036397  0.0081250   0.448 0.654224    
## sps          -0.0054753  0.0073105  -0.749 0.453971    
## eps           0.0235160  0.1283701   0.183 0.854668    
## ncff          0.0032201  0.0109447   0.294 0.768626    
## ncf           0.0030426  0.0083057   0.366 0.714156    
## accoci        0.0005268  0.0057714   0.091 0.927284    
## ncfcommon    -0.0003401  0.0064203  -0.053 0.957765    
## bvps          0.0047867  0.0083474   0.573 0.566413    
## de            0.0042739  0.0081105   0.527 0.598283    
## pe1           0.0035595  0.0051640   0.689 0.490719    
## ps1           0.0378634  0.0062117   6.096 1.31e-09 ***
## netmargin     0.0241652  0.0067595   3.575 0.000359 ***
## ncfx          0.0036959  0.0063748   0.580 0.562141    
## pb            0.0193496  0.0086521   2.236 0.025434 *  
## ncfi         -0.0016591  0.0126992  -0.131 0.896071    
## capex         0.0030408  0.0107131   0.284 0.776562    
## currentratio -0.0051263  0.0061728  -0.830 0.406380    
## epsdil        0.0026261  0.1292860   0.020 0.983796    
## fcfps         0.0024406  0.0087435   0.279 0.780173    
## tbvps        -0.0023815  0.0096749  -0.246 0.805589    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2561 on 2003 degrees of freedom
## Multiple R-squared:  0.03814,    Adjusted R-squared:  0.02854 
## F-statistic: 3.971 on 20 and 2003 DF,  p-value: 7.785e-09
## 
## Summary for Model 15
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.1856 -0.0829  0.0063  0.1001  1.5012 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.014040   0.005620  -2.498  0.01256 *  
## marketcap     0.018527   0.007453   2.486  0.01300 *  
## sps           0.004867   0.006602   0.737  0.46107    
## eps          -0.015639   0.191397  -0.082  0.93488    
## ncff          0.002982   0.009322   0.320  0.74910    
## ncf           0.004720   0.007990   0.591  0.55479    
## accoci        0.003205   0.005745   0.558  0.57702    
## ncfcommon     0.003690   0.005332   0.692  0.48899    
## bvps         -0.017954   0.007990  -2.247  0.02475 *  
## de           -0.005385   0.006690  -0.805  0.42097    
## pe1           0.003934   0.005452   0.722  0.47068    
## ps1           0.020193   0.008139   2.481  0.01319 *  
## netmargin     0.037084   0.008530   4.348 1.45e-05 ***
## ncfx         -0.006840   0.007144  -0.958  0.33843    
## pb            0.019409   0.007049   2.753  0.00595 ** 
## ncfi          0.003109   0.011704   0.266  0.79054    
## capex        -0.003049   0.009890  -0.308  0.75793    
## currentratio  0.016762   0.005587   3.000  0.00273 ** 
## epsdil        0.044040   0.191162   0.230  0.81782    
## fcfps         0.006163   0.008479   0.727  0.46745    
## tbvps         0.013793   0.009539   1.446  0.14836    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2372 on 1953 degrees of freedom
## Multiple R-squared:  0.04928,    Adjusted R-squared:  0.03954 
## F-statistic: 5.062 on 20 and 1953 DF,  p-value: 1.79e-12
## 
## Summary for Model 16
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.36198 -0.08153  0.00092  0.09315  1.56232 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.006514   0.005268  -1.237   0.2164    
## marketcap     0.006233   0.007246   0.860   0.3898    
## sps           0.004453   0.006563   0.678   0.4975    
## eps           0.861772   0.389129   2.215   0.0269 *  
## ncff          0.006453   0.008047   0.802   0.4227    
## ncf           0.002071   0.006574   0.315   0.7528    
## accoci        0.002766   0.005090   0.543   0.5869    
## ncfcommon     0.002885   0.005886   0.490   0.6241    
## bvps          0.002831   0.007311   0.387   0.6987    
## de            0.012352   0.005388   2.293   0.0220 *  
## pe1           0.006824   0.004916   1.388   0.1653    
## ps1           0.020070   0.004900   4.096 4.39e-05 ***
## netmargin     0.052892   0.005113  10.345  < 2e-16 ***
## ncfx         -0.004397   0.004533  -0.970   0.3321    
## pb           -0.004677   0.005411  -0.864   0.3875    
## ncfi          0.003726   0.011526   0.323   0.7466    
## capex        -0.006935   0.010221  -0.679   0.4975    
## currentratio  0.004805   0.005079   0.946   0.3443    
## epsdil       -0.837558   0.387465  -2.162   0.0308 *  
## fcfps         0.004118   0.006240   0.660   0.5094    
## tbvps        -0.009661   0.008527  -1.133   0.2573    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2131 on 1860 degrees of freedom
## Multiple R-squared:  0.09015,    Adjusted R-squared:  0.08037 
## F-statistic: 9.215 on 20 and 1860 DF,  p-value: < 2.2e-16
## 
## Summary for Model 17
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3612 -0.1028  0.0220  0.1201  1.6602 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.0450311  0.0063593  -7.081 1.97e-12 ***
## marketcap     0.0101973  0.0132544   0.769  0.44177    
## sps          -0.0074179  0.0083201  -0.892  0.37273    
## eps          -0.2719473  0.2358215  -1.153  0.24897    
## ncff         -0.0024737  0.0105517  -0.234  0.81467    
## ncf           0.0023674  0.0079520   0.298  0.76595    
## accoci        0.0083822  0.0075923   1.104  0.26971    
## ncfcommon     0.0071933  0.0079620   0.903  0.36640    
## bvps          0.0036428  0.0089002   0.409  0.68237    
## de           -0.0245424  0.0084490  -2.905  0.00372 ** 
## pe1           0.0053908  0.0074385   0.725  0.46871    
## ps1           0.0390103  0.0119370   3.268  0.00110 ** 
## netmargin     0.0141719  0.0088542   1.601  0.10963    
## ncfx          0.0103491  0.0064323   1.609  0.10779    
## pb            0.0430187  0.0087770   4.901 1.03e-06 ***
## ncfi          0.0061666  0.0146098   0.422  0.67301    
## capex        -0.0119650  0.0098748  -1.212  0.22578    
## currentratio  0.0003259  0.0063637   0.051  0.95916    
## epsdil        0.3174392  0.2354347   1.348  0.17771    
## fcfps         0.0105590  0.0068366   1.544  0.12262    
## tbvps        -0.0113654  0.0105572  -1.077  0.28181    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2697 on 2010 degrees of freedom
## Multiple R-squared:  0.0601, Adjusted R-squared:  0.05075 
## F-statistic: 6.427 on 20 and 2010 DF,  p-value: < 2.2e-16
## 
## Summary for Model 18
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.64144 -0.08399  0.01442  0.10222  1.84015 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.0597444  0.0051055 -11.702  < 2e-16 ***
## marketcap    -0.0049092  0.0051439  -0.954  0.34001    
## sps           0.0159793  0.0064285   2.486  0.01301 *  
## eps          -0.1734784  0.1054770  -1.645  0.10019    
## ncff         -0.0020303  0.0075012  -0.271  0.78667    
## ncf           0.0071188  0.0061784   1.152  0.24937    
## accoci       -0.0044120  0.0055253  -0.799  0.42467    
## ncfcommon    -0.0054921  0.0051528  -1.066  0.28662    
## bvps          0.0020502  0.0066574   0.308  0.75814    
## de            0.0038508  0.0074772   0.515  0.60661    
## pe1           0.0055331  0.0040018   1.383  0.16692    
## ps1           0.0128128  0.0104439   1.227  0.22003    
## netmargin     0.0281084  0.0086072   3.266  0.00111 ** 
## ncfx         -0.0038197  0.0060663  -0.630  0.52898    
## pb            0.0004431  0.0067456   0.066  0.94764    
## ncfi         -0.0099569  0.0099872  -0.997  0.31890    
## capex        -0.0092256  0.0086380  -1.068  0.28563    
## currentratio -0.0137230  0.0050515  -2.717  0.00665 ** 
## epsdil        0.2193979  0.1053479   2.083  0.03741 *  
## fcfps         0.0011242  0.0062349   0.180  0.85693    
## tbvps         0.0113406  0.0084424   1.343  0.17933    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2254 on 2029 degrees of freedom
## Multiple R-squared:  0.1016, Adjusted R-squared:  0.09275 
## F-statistic: 11.47 on 20 and 2029 DF,  p-value: < 2.2e-16
## 
## Summary for Model 19
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.86086 -0.08773  0.00696  0.09903  1.21179 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.0091145  0.0056737  -1.606   0.1083    
## marketcap     0.0125382  0.0107788   1.163   0.2449    
## sps          -0.0007725  0.0067785  -0.114   0.9093    
## eps          -0.2604866  0.2772357  -0.940   0.3475    
## ncff          0.0011643  0.0103056   0.113   0.9101    
## ncf          -0.0059246  0.0087700  -0.676   0.4994    
## accoci       -0.0071113  0.0058278  -1.220   0.2225    
## ncfcommon    -0.0033115  0.0062019  -0.534   0.5934    
## bvps          0.0065295  0.0075896   0.860   0.3897    
## de           -0.0053545  0.0075092  -0.713   0.4759    
## pe1           0.0034921  0.0062574   0.558   0.5769    
## ps1           0.0274776  0.0126603   2.170   0.0301 *  
## netmargin     0.0141556  0.0072599   1.950   0.0513 .  
## ncfx          0.0029862  0.0053803   0.555   0.5789    
## pb            0.0254026  0.0064582   3.933 8.66e-05 ***
## ncfi          0.0167847  0.0141563   1.186   0.2359    
## capex        -0.0073825  0.0104919  -0.704   0.4817    
## currentratio -0.0073855  0.0055524  -1.330   0.1836    
## epsdil        0.2892703  0.2770218   1.044   0.2965    
## fcfps         0.0137020  0.0072451   1.891   0.0587 .  
## tbvps         0.0033659  0.0093958   0.358   0.7202    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2343 on 2020 degrees of freedom
## Multiple R-squared:  0.05204,    Adjusted R-squared:  0.04265 
## F-statistic: 5.544 on 20 and 2020 DF,  p-value: 3.802e-14
## 
## Summary for Model 20
## Call:
## lm(formula = log(data_set$pratio) ~ marketcap + sps + eps + ncff + 
##     ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + netmargin + 
##     ncfx + pb + ncfi + capex + currentratio + epsdil + fcfps + 
##     tbvps, data = data_set)
## 
## Residuals:
## ALL 19 residuals are 0: no residual degrees of freedom!
## 
## Coefficients: (2 not defined because of singularities)
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept)   -0.1120         NA      NA       NA
## marketcap     -0.6602         NA      NA       NA
## sps            4.5253         NA      NA       NA
## eps          -17.2614         NA      NA       NA
## ncff           1.0792         NA      NA       NA
## ncf            0.4516         NA      NA       NA
## accoci         1.8941         NA      NA       NA
## ncfcommon     -0.9640         NA      NA       NA
## bvps           1.0595         NA      NA       NA
## de             2.8831         NA      NA       NA
## pe1           -0.1998         NA      NA       NA
## ps1            1.9581         NA      NA       NA
## netmargin     -1.5211         NA      NA       NA
## ncfx           1.1043         NA      NA       NA
## pb            -0.5036         NA      NA       NA
## ncfi           2.1643         NA      NA       NA
## capex          7.4100         NA      NA       NA
## currentratio   0.3863         NA      NA       NA
## epsdil        18.7944         NA      NA       NA
## fcfps              NA         NA      NA       NA
## tbvps              NA         NA      NA       NA
## 
## Residual standard error: NaN on 0 degrees of freedom
## Multiple R-squared:      1,  Adjusted R-squared:    NaN 
## F-statistic:   NaN on 18 and 0 DF,  p-value: NA

We noticed that the indicators we chose are significant as the p value < 0.05

Using PCA on the data set

pca_dfnorm <-princomp(dfNormZ[,2:21])
summary(pca_dfnorm)
## Importance of components:
##                           Comp.1    Comp.2     Comp.3     Comp.4
## Standard deviation     1.8817334 1.4601047 1.26623181 1.24343137
## Proportion of Variance 0.1784073 0.1074149 0.08078352 0.07790045
## Cumulative Proportion  0.1784073 0.2858221 0.36660563 0.44450608
##                            Comp.5     Comp.6     Comp.7     Comp.8
## Standard deviation     1.20179533 1.16173177 1.05133720 0.99592945
## Proportion of Variance 0.07277083 0.06799987 0.05569041 0.04997508
## Cumulative Proportion  0.51727692 0.58527679 0.64096719 0.69094227
##                           Comp.9    Comp.10    Comp.11    Comp.12
## Standard deviation     0.9887755 0.93249621 0.91748360 0.85683672
## Proportion of Variance 0.0492597 0.04381174 0.04241241 0.03699069
## Cumulative Proportion  0.7402020 0.78401371 0.82642612 0.86341681
##                           Comp.13    Comp.14   Comp.15    Comp.16
## Standard deviation     0.81629175 0.72584849 0.6762939 0.62569906
## Proportion of Variance 0.03357277 0.02654534 0.0230445 0.01972547
## Cumulative Proportion  0.89698958 0.92353492 0.9465794 0.96630489
##                           Comp.17    Comp.18     Comp.19      Comp.20
## Standard deviation     0.60153045 0.45557114 0.313820523 0.0298854656
## Proportion of Variance 0.01823104 0.01045704 0.004962026 0.0000450004
## Cumulative Proportion  0.98453593 0.99499297 0.999955000 1.0000000000
#screeplot(pca_dfnorm, type="lines")
#biplot(pca_dfnorm)
pca_data<-data.frame(price = dfNormZ[, "price"], ticker = dfNormZ[, "ticker"],
                     calenderdate = dfNormZ[, "calenderdate"],
                     pratio = dfNormZ[, "pratio"],pca_dfnorm$scores)

#interested in first 16 componrnts
pca_data<- pca_data[,1:20]
# split the data
smp_size1 <-floor(0.75* nrow(pca_data))
train_ind1 <-sample(seq_len(nrow(pca_data)), size = smp_size1)
train_set1 <- pca_data[train_ind1,]
test_set1  <-pca_data[-train_ind1,]

cal_date<-unique(train_set1$calenderdate)
l<-length(cal_date)
reg_model1 <- list()
reg_summary1 <- list()
# regression model #
for (i in 1:l){
  data_set1<-subset(train_set1,calenderdate==cal_date[i])
  f1<-lm(log(data_set1$pratio)~Comp.1+Comp.2+Comp.3+Comp.4+Comp.5
        +Comp.6+Comp.7+Comp.8+Comp.9+Comp.10+Comp.11+Comp.12+Comp.13
        +Comp.14+Comp.15+Comp.16,data=data_set1)
  
  reg_model1[[i]] <- f
  reg_summary1[[i]] <- summary(f1)
  cat("Summary for Model", i)
  print(summary(f1))
}
## Summary for Model 1
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2474 -0.1133  0.0183  0.1308  2.5387 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.010648   0.007080  -1.504 0.132751    
## Comp.1      -0.013665   0.003498  -3.906 9.72e-05 ***
## Comp.2      -0.022601   0.004097  -5.517 3.94e-08 ***
## Comp.3       0.008641   0.005756   1.501 0.133447    
## Comp.4      -0.014529   0.005765  -2.520 0.011814 *  
## Comp.5      -0.023573   0.004932  -4.780 1.89e-06 ***
## Comp.6      -0.018716   0.005542  -3.377 0.000748 ***
## Comp.7      -0.006806   0.006662  -1.022 0.307081    
## Comp.8       0.014180   0.007052   2.011 0.044486 *  
## Comp.9       0.002622   0.007334   0.357 0.720795    
## Comp.10      0.005922   0.006961   0.851 0.394989    
## Comp.11      0.003439   0.009191   0.374 0.708342    
## Comp.12      0.003928   0.007972   0.493 0.622222    
## Comp.13     -0.004552   0.008351  -0.545 0.585735    
## Comp.14      0.042010   0.009261   4.536 6.10e-06 ***
## Comp.15      0.045432   0.009184   4.947 8.22e-07 ***
## Comp.16     -0.028267   0.009450  -2.991 0.002816 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2898 on 1836 degrees of freedom
## Multiple R-squared:  0.0919, Adjusted R-squared:  0.08399 
## F-statistic: 11.61 on 16 and 1836 DF,  p-value: < 2.2e-16
## 
## Summary for Model 2
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.35647 -0.10050  0.00089  0.10440  1.45500 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.0315131  0.0061096   5.158 2.75e-07 ***
## Comp.1      -0.0099971  0.0033067  -3.023  0.00253 ** 
## Comp.2      -0.0124781  0.0043570  -2.864  0.00423 ** 
## Comp.3       0.0068170  0.0048781   1.397  0.16243    
## Comp.4      -0.0247659  0.0051579  -4.802 1.69e-06 ***
## Comp.5      -0.0061310  0.0047840  -1.282  0.20015    
## Comp.6      -0.0134991  0.0051748  -2.609  0.00916 ** 
## Comp.7       0.0033600  0.0055883   0.601  0.54774    
## Comp.8      -0.0004801  0.0057372  -0.084  0.93331    
## Comp.9      -0.0034215  0.0053309  -0.642  0.52107    
## Comp.10      0.0054690  0.0063161   0.866  0.38666    
## Comp.11      0.0002778  0.0061518   0.045  0.96398    
## Comp.12      0.0019893  0.0072565   0.274  0.78400    
## Comp.13     -0.0039452  0.0074465  -0.530  0.59631    
## Comp.14     -0.0025386  0.0079309  -0.320  0.74894    
## Comp.15      0.0204898  0.0091635   2.236  0.02546 *  
## Comp.16     -0.0184386  0.0092480  -1.994  0.04631 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2546 on 1958 degrees of freedom
## Multiple R-squared:  0.03157,    Adjusted R-squared:  0.02366 
## F-statistic: 3.989 on 16 and 1958 DF,  p-value: 1.599e-07
## 
## Summary for Model 3
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.91285 -0.10823 -0.00312  0.11512  2.15516 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.0888757  0.0060145  14.777  < 2e-16 ***
## Comp.1      -0.0106129  0.0031137  -3.408 0.000666 ***
## Comp.2      -0.0126555  0.0037129  -3.409 0.000666 ***
## Comp.3      -0.0042008  0.0047222  -0.890 0.373799    
## Comp.4      -0.0084919  0.0049175  -1.727 0.084342 .  
## Comp.5       0.0030489  0.0057058   0.534 0.593155    
## Comp.6      -0.0053339  0.0049548  -1.077 0.281826    
## Comp.7       0.0003470  0.0048936   0.071 0.943478    
## Comp.8      -0.0013731  0.0067691  -0.203 0.839273    
## Comp.9      -0.0026759  0.0059495  -0.450 0.652929    
## Comp.10      0.0035533  0.0066620   0.533 0.593833    
## Comp.11      0.0046892  0.0058337   0.804 0.421600    
## Comp.12     -0.0002664  0.0063730  -0.042 0.966660    
## Comp.13      0.0005744  0.0068210   0.084 0.932896    
## Comp.14      0.0050385  0.0075860   0.664 0.506655    
## Comp.15      0.0206497  0.0092797   2.225 0.026175 *  
## Comp.16     -0.0212509  0.0089227  -2.382 0.017328 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2567 on 1996 degrees of freedom
## Multiple R-squared:  0.02142,    Adjusted R-squared:  0.01357 
## F-statistic:  2.73 on 16 and 1996 DF,  p-value: 0.0002466
## 
## Summary for Model 4
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.7315 -0.1144  0.0299  0.1548  1.4902 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.094114   0.006952 -13.538  < 2e-16 ***
## Comp.1      -0.019368   0.003413  -5.675 1.59e-08 ***
## Comp.2      -0.024211   0.004410  -5.490 4.54e-08 ***
## Comp.3       0.009672   0.005460   1.771   0.0766 .  
## Comp.4      -0.003969   0.005572  -0.712   0.4764    
## Comp.5      -0.001570   0.004954  -0.317   0.7513    
## Comp.6      -0.004313   0.005602  -0.770   0.4415    
## Comp.7       0.001294   0.007018   0.184   0.8538    
## Comp.8       0.004638   0.006824   0.680   0.4968    
## Comp.9      -0.009058   0.006472  -1.400   0.1618    
## Comp.10      0.005350   0.006835   0.783   0.4339    
## Comp.11     -0.008532   0.007495  -1.138   0.2552    
## Comp.12      0.009285   0.008093   1.147   0.2514    
## Comp.13      0.002693   0.008340   0.323   0.7468    
## Comp.14      0.007898   0.009496   0.832   0.4057    
## Comp.15      0.019399   0.009905   1.959   0.0503 .  
## Comp.16     -0.019529   0.010879  -1.795   0.0728 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2971 on 1965 degrees of freedom
## Multiple R-squared:  0.04314,    Adjusted R-squared:  0.03535 
## F-statistic: 5.537 on 16 and 1965 DF,  p-value: 9.052e-12
## 
## Summary for Model 5
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.84557 -0.09170 -0.00520  0.09086  1.05528 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.479e-02  4.384e-03   7.937 3.42e-15 ***
## Comp.1      -1.097e-02  2.400e-03  -4.572 5.12e-06 ***
## Comp.2      -5.293e-03  3.207e-03  -1.651 0.098997 .  
## Comp.3       8.165e-03  3.464e-03   2.357 0.018501 *  
## Comp.4      -1.084e-02  3.588e-03  -3.022 0.002543 ** 
## Comp.5      -3.903e-03  3.758e-03  -1.039 0.299083    
## Comp.6      -9.542e-03  3.926e-03  -2.431 0.015160 *  
## Comp.7      -7.902e-05  4.318e-03  -0.018 0.985401    
## Comp.8      -3.723e-03  4.726e-03  -0.788 0.430936    
## Comp.9      -4.117e-03  4.585e-03  -0.898 0.369310    
## Comp.10      4.863e-03  4.468e-03   1.088 0.276636    
## Comp.11     -2.436e-03  4.331e-03  -0.562 0.573923    
## Comp.12     -7.833e-04  5.236e-03  -0.150 0.881104    
## Comp.13     -6.300e-03  5.932e-03  -1.062 0.288324    
## Comp.14      1.514e-02  6.005e-03   2.520 0.011797 *  
## Comp.15      2.771e-02  7.110e-03   3.897 0.000101 ***
## Comp.16     -1.285e-02  7.633e-03  -1.683 0.092483 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1903 on 2004 degrees of freedom
## Multiple R-squared:  0.03333,    Adjusted R-squared:  0.02561 
## F-statistic: 4.318 on 16 and 2004 DF,  p-value: 2.092e-08
## 
## Summary for Model 6
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.4096 -0.1093  0.0024  0.1162  1.7209 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.0732439  0.0058982  12.418  < 2e-16 ***
## Comp.1      -0.0128712  0.0034469  -3.734 0.000194 ***
## Comp.2      -0.0250770  0.0041074  -6.105 1.23e-09 ***
## Comp.3      -0.0015689  0.0050216  -0.312 0.754749    
## Comp.4      -0.0123106  0.0050105  -2.457 0.014094 *  
## Comp.5       0.0167277  0.0070978   2.357 0.018530 *  
## Comp.6      -0.0245441  0.0051513  -4.765 2.03e-06 ***
## Comp.7      -0.0054306  0.0054331  -1.000 0.317655    
## Comp.8       0.0032897  0.0065737   0.500 0.616827    
## Comp.9       0.0006409  0.0067360   0.095 0.924204    
## Comp.10      0.0096096  0.0065975   1.457 0.145392    
## Comp.11      0.0042117  0.0062369   0.675 0.499571    
## Comp.12      0.0077480  0.0071932   1.077 0.281550    
## Comp.13     -0.0149399  0.0081724  -1.828 0.067681 .  
## Comp.14      0.0293145  0.0084282   3.478 0.000516 ***
## Comp.15      0.0051005  0.0105612   0.483 0.629182    
## Comp.16     -0.0154512  0.0118675  -1.302 0.193073    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2594 on 2032 degrees of freedom
## Multiple R-squared:  0.05006,    Adjusted R-squared:  0.04259 
## F-statistic: 6.693 on 16 and 2032 DF,  p-value: 4.477e-15
## 
## Summary for Model 7
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.81290 -0.08794  0.00348  0.09666  1.52225 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0126757  0.0052000  -2.438 0.014875 *  
## Comp.1      -0.0129816  0.0026993  -4.809 1.63e-06 ***
## Comp.2      -0.0117732  0.0035811  -3.288 0.001029 ** 
## Comp.3      -0.0070072  0.0039674  -1.766 0.077526 .  
## Comp.4      -0.0074394  0.0036058  -2.063 0.039233 *  
## Comp.5       0.0041617  0.0032115   1.296 0.195188    
## Comp.6      -0.0155758  0.0043795  -3.556 0.000385 ***
## Comp.7       0.0009920  0.0046660   0.213 0.831655    
## Comp.8       0.0083071  0.0046814   1.774 0.076147 .  
## Comp.9      -0.0006954  0.0052230  -0.133 0.894102    
## Comp.10      0.0022445  0.0050221   0.447 0.654986    
## Comp.11     -0.0024656  0.0055406  -0.445 0.656367    
## Comp.12      0.0039951  0.0062139   0.643 0.520348    
## Comp.13      0.0011387  0.0063779   0.179 0.858315    
## Comp.14      0.0069179  0.0068372   1.012 0.311759    
## Comp.15     -0.0017685  0.0075339  -0.235 0.814433    
## Comp.16     -0.0285052  0.0075174  -3.792 0.000154 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2141 on 1887 degrees of freedom
## Multiple R-squared:  0.04904,    Adjusted R-squared:  0.04097 
## F-statistic: 6.082 on 16 and 1887 DF,  p-value: 2.693e-13
## 
## Summary for Model 8
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.33354 -0.12120  0.02074  0.13298  1.50261 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.154401   0.005988 -25.785  < 2e-16 ***
## Comp.1      -0.020946   0.003353  -6.246 5.12e-10 ***
## Comp.2      -0.022242   0.004435  -5.015 5.78e-07 ***
## Comp.3       0.021970   0.005380   4.084 4.61e-05 ***
## Comp.4      -0.013690   0.005590  -2.449   0.0144 *  
## Comp.5      -0.014063   0.006144  -2.289   0.0222 *  
## Comp.6      -0.023058   0.005143  -4.484 7.76e-06 ***
## Comp.7      -0.009440   0.006016  -1.569   0.1167    
## Comp.8       0.010275   0.006068   1.693   0.0906 .  
## Comp.9      -0.015046   0.005922  -2.541   0.0111 *  
## Comp.10      0.006079   0.006323   0.962   0.3364    
## Comp.11     -0.009458   0.006334  -1.493   0.1355    
## Comp.12      0.006726   0.006524   1.031   0.3027    
## Comp.13      0.008456   0.007307   1.157   0.2473    
## Comp.14      0.014800   0.007836   1.889   0.0591 .  
## Comp.15      0.051738   0.009690   5.339 1.04e-07 ***
## Comp.16     -0.044170   0.011013  -4.011 6.27e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2419 on 2000 degrees of freedom
## Multiple R-squared:  0.07442,    Adjusted R-squared:  0.06702 
## F-statistic: 10.05 on 16 and 2000 DF,  p-value: < 2.2e-16
## 
## Summary for Model 9
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.88935 -0.09153  0.00501  0.10280  1.99066 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0080816  0.0057432  -1.407   0.1595    
## Comp.1      -0.0237678  0.0031404  -7.569 5.71e-14 ***
## Comp.2      -0.0226244  0.0038444  -5.885 4.65e-09 ***
## Comp.3       0.0037354  0.0048657   0.768   0.4427    
## Comp.4      -0.0074213  0.0047577  -1.560   0.1189    
## Comp.5      -0.0019440  0.0050462  -0.385   0.7001    
## Comp.6      -0.0054137  0.0047602  -1.137   0.2556    
## Comp.7      -0.0006956  0.0057403  -0.121   0.9036    
## Comp.8       0.0027606  0.0055832   0.494   0.6210    
## Comp.9      -0.0036899  0.0056952  -0.648   0.5171    
## Comp.10     -0.0069892  0.0059360  -1.177   0.2392    
## Comp.11     -0.0016692  0.0060528  -0.276   0.7828    
## Comp.12      0.0002965  0.0068559   0.043   0.9655    
## Comp.13      0.0023984  0.0070785   0.339   0.7348    
## Comp.14     -0.0015962  0.0078855  -0.202   0.8396    
## Comp.15      0.0181759  0.0085916   2.116   0.0345 *  
## Comp.16     -0.0108458  0.0101790  -1.066   0.2868    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.236 on 2012 degrees of freedom
## Multiple R-squared:  0.05226,    Adjusted R-squared:  0.04472 
## F-statistic: 6.934 on 16 and 2012 DF,  p-value: 9.17e-16
## 
## Summary for Model 10
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3259 -0.1081  0.0170  0.1397  2.5942 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0439128  0.0068252  -6.434 1.58e-10 ***
## Comp.1      -0.0157108  0.0036092  -4.353 1.42e-05 ***
## Comp.2      -0.0341261  0.0047853  -7.131 1.41e-12 ***
## Comp.3      -0.0001196  0.0049309  -0.024 0.980650    
## Comp.4      -0.0151895  0.0045543  -3.335 0.000869 ***
## Comp.5      -0.0227463  0.0054099  -4.205 2.74e-05 ***
## Comp.6      -0.0149397  0.0057634  -2.592 0.009612 ** 
## Comp.7       0.0139908  0.0064383   2.173 0.029901 *  
## Comp.8       0.0059606  0.0062907   0.948 0.343487    
## Comp.9      -0.0042196  0.0061919  -0.681 0.495650    
## Comp.10      0.0037374  0.0073546   0.508 0.611388    
## Comp.11     -0.0178828  0.0089875  -1.990 0.046766 *  
## Comp.12      0.0043295  0.0077987   0.555 0.578855    
## Comp.13     -0.0069446  0.0081801  -0.849 0.396012    
## Comp.14      0.0284689  0.0085728   3.321 0.000915 ***
## Comp.15      0.0227412  0.0086527   2.628 0.008654 ** 
## Comp.16      0.0322017  0.0096639   3.332 0.000879 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2788 on 1868 degrees of freedom
## Multiple R-squared:  0.06577,    Adjusted R-squared:  0.05777 
## F-statistic:  8.22 on 16 and 1868 DF,  p-value: < 2.2e-16
## 
## Summary for Model 11
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.1857 -0.0803  0.0096  0.1008  0.7463 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0207768  0.0054879  -3.786 0.000158 ***
## Comp.1      -0.0170256  0.0029763  -5.720 1.22e-08 ***
## Comp.2      -0.0119131  0.0039251  -3.035 0.002435 ** 
## Comp.3       0.0048797  0.0042980   1.135 0.256368    
## Comp.4      -0.0168439  0.0044414  -3.792 0.000154 ***
## Comp.5      -0.0076345  0.0044143  -1.729 0.083874 .  
## Comp.6      -0.0118874  0.0047828  -2.485 0.013019 *  
## Comp.7      -0.0033890  0.0056346  -0.601 0.547600    
## Comp.8       0.0026468  0.0067439   0.392 0.694751    
## Comp.9       0.0020016  0.0057585   0.348 0.728178    
## Comp.10      0.0110956  0.0057189   1.940 0.052498 .  
## Comp.11      0.0008191  0.0062294   0.131 0.895397    
## Comp.12     -0.0009207  0.0061673  -0.149 0.881348    
## Comp.13     -0.0010070  0.0062721  -0.161 0.872465    
## Comp.14      0.0232539  0.0070088   3.318 0.000923 ***
## Comp.15      0.0091395  0.0080486   1.136 0.256282    
## Comp.16     -0.0136589  0.0088517  -1.543 0.122966    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2313 on 2016 degrees of freedom
## Multiple R-squared:  0.0408, Adjusted R-squared:  0.03319 
## F-statistic:  5.36 on 16 and 2016 DF,  p-value: 2.795e-11
## 
## Summary for Model 12
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.63756 -0.08414  0.01186  0.10194  1.83437 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0577148  0.0050014 -11.540  < 2e-16 ***
## Comp.1      -0.0376629  0.0027212 -13.841  < 2e-16 ***
## Comp.2      -0.0136855  0.0036428  -3.757 0.000177 ***
## Comp.3      -0.0069557  0.0040048  -1.737 0.082563 .  
## Comp.4      -0.0120362  0.0041792  -2.880 0.004017 ** 
## Comp.5       0.0043267  0.0049670   0.871 0.383808    
## Comp.6      -0.0084406  0.0046761  -1.805 0.071214 .  
## Comp.7       0.0056459  0.0049023   1.152 0.249590    
## Comp.8       0.0077398  0.0057362   1.349 0.177395    
## Comp.9       0.0027276  0.0049280   0.553 0.579984    
## Comp.10     -0.0113282  0.0056295  -2.012 0.044320 *  
## Comp.11      0.0042972  0.0055873   0.769 0.441919    
## Comp.12     -0.0007571  0.0054047  -0.140 0.888613    
## Comp.13     -0.0020201  0.0061856  -0.327 0.744020    
## Comp.14     -0.0007125  0.0069814  -0.102 0.918727    
## Comp.15      0.0019147  0.0075835   0.252 0.800693    
## Comp.16     -0.0205812  0.0087971  -2.340 0.019403 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2228 on 2044 degrees of freedom
## Multiple R-squared:  0.09933,    Adjusted R-squared:  0.09228 
## F-statistic: 14.09 on 16 and 2044 DF,  p-value: < 2.2e-16
## 
## Summary for Model 13
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.92819 -0.09942 -0.00597  0.10485  1.16239 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.0712691  0.0050011  14.251  < 2e-16 ***
## Comp.1      -0.0054131  0.0026194  -2.067  0.03891 *  
## Comp.2      -0.0156654  0.0035530  -4.409 1.09e-05 ***
## Comp.3      -0.0028452  0.0039631  -0.718  0.47288    
## Comp.4      -0.0112379  0.0038779  -2.898  0.00380 ** 
## Comp.5      -0.0035633  0.0042144  -0.846  0.39792    
## Comp.6      -0.0140864  0.0044371  -3.175  0.00152 ** 
## Comp.7      -0.0027122  0.0049181  -0.551  0.58136    
## Comp.8       0.0018657  0.0055221   0.338  0.73551    
## Comp.9      -0.0006734  0.0046108  -0.146  0.88390    
## Comp.10     -0.0013013  0.0053257  -0.244  0.80698    
## Comp.11      0.0108937  0.0052884   2.060  0.03954 *  
## Comp.12      0.0021576  0.0059450   0.363  0.71670    
## Comp.13     -0.0100311  0.0060916  -1.647  0.09978 .  
## Comp.14      0.0145549  0.0071357   2.040  0.04151 *  
## Comp.15      0.0120511  0.0069133   1.743  0.08145 .  
## Comp.16     -0.0192714  0.0075307  -2.559  0.01057 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2235 on 2013 degrees of freedom
## Multiple R-squared:  0.03149,    Adjusted R-squared:  0.0238 
## F-statistic: 4.091 on 16 and 2013 DF,  p-value: 8.499e-08
## 
## Summary for Model 14
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.5683 -0.1141  0.0231  0.1395  1.1649 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.052022   0.006523  -7.975 2.59e-15 ***
## Comp.1      -0.025220   0.004027  -6.263 4.65e-10 ***
## Comp.2      -0.029149   0.005004  -5.825 6.68e-09 ***
## Comp.3       0.001414   0.005729   0.247  0.80500    
## Comp.4      -0.014147   0.005255  -2.692  0.00716 ** 
## Comp.5      -0.010330   0.005900  -1.751  0.08014 .  
## Comp.6      -0.014959   0.005549  -2.696  0.00708 ** 
## Comp.7      -0.002792   0.007296  -0.383  0.70201    
## Comp.8       0.007989   0.006389   1.251  0.21125    
## Comp.9      -0.009023   0.006681  -1.351  0.17700    
## Comp.10      0.002647   0.006680   0.396  0.69199    
## Comp.11     -0.001104   0.009037  -0.122  0.90276    
## Comp.12      0.005640   0.008665   0.651  0.51518    
## Comp.13      0.005900   0.008884   0.664  0.50672    
## Comp.14     -0.001187   0.009946  -0.119  0.90502    
## Comp.15      0.029016   0.010016   2.897  0.00381 ** 
## Comp.16     -0.015056   0.010783  -1.396  0.16280    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2579 on 1913 degrees of freedom
## Multiple R-squared:  0.05798,    Adjusted R-squared:  0.0501 
## F-statistic: 7.359 on 16 and 1913 DF,  p-value: < 2.2e-16
## 
## Summary for Model 15
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.37644 -0.09617  0.00845  0.10661  1.87730 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0357882  0.0051313  -6.975 4.13e-12 ***
## Comp.1      -0.0131062  0.0028054  -4.672 3.18e-06 ***
## Comp.2      -0.0148722  0.0035462  -4.194 2.86e-05 ***
## Comp.3       0.0115801  0.0045356   2.553   0.0107 *  
## Comp.4      -0.0108122  0.0049499  -2.184   0.0291 *  
## Comp.5      -0.0069048  0.0056547  -1.221   0.2222    
## Comp.6      -0.0057836  0.0045453  -1.272   0.2034    
## Comp.7      -0.0024406  0.0048666  -0.501   0.6161    
## Comp.8       0.0048955  0.0053237   0.920   0.3579    
## Comp.9      -0.0067100  0.0057431  -1.168   0.2428    
## Comp.10     -0.0011502  0.0056581  -0.203   0.8389    
## Comp.11     -0.0020120  0.0054764  -0.367   0.7134    
## Comp.12     -0.0090268  0.0054126  -1.668   0.0955 .  
## Comp.13     -0.0078123  0.0062992  -1.240   0.2150    
## Comp.14      0.0002096  0.0066090   0.032   0.9747    
## Comp.15      0.0139281  0.0078800   1.768   0.0773 .  
## Comp.16      0.0115462  0.0088487   1.305   0.1921    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2148 on 2044 degrees of freedom
## Multiple R-squared:  0.03181,    Adjusted R-squared:  0.02423 
## F-statistic: 4.197 on 16 and 2044 DF,  p-value: 4.405e-08
## 
## Summary for Model 16
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.9750 -0.1137  0.0241  0.1465  1.7491 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.1001826  0.0069493 -14.416  < 2e-16 ***
## Comp.1      -0.0243087  0.0034998  -6.946 5.07e-12 ***
## Comp.2      -0.0369687  0.0045702  -8.089 1.03e-15 ***
## Comp.3       0.0042607  0.0049463   0.861  0.38912    
## Comp.4      -0.0165912  0.0050992  -3.254  0.00116 ** 
## Comp.5      -0.0281648  0.0047889  -5.881 4.76e-09 ***
## Comp.6      -0.0299073  0.0058360  -5.125 3.27e-07 ***
## Comp.7       0.0128074  0.0066252   1.933  0.05336 .  
## Comp.8       0.0051917  0.0069993   0.742  0.45833    
## Comp.9       0.0041393  0.0066849   0.619  0.53585    
## Comp.10      0.0037460  0.0067499   0.555  0.57897    
## Comp.11      0.0015486  0.0068334   0.227  0.82074    
## Comp.12     -0.0003585  0.0081930  -0.044  0.96510    
## Comp.13     -0.0034860  0.0079377  -0.439  0.66058    
## Comp.14      0.0368505  0.0087051   4.233 2.41e-05 ***
## Comp.15      0.0461568  0.0092782   4.975 7.09e-07 ***
## Comp.16      0.0031085  0.0091723   0.339  0.73472    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2988 on 2006 degrees of freedom
## Multiple R-squared:  0.1087, Adjusted R-squared:  0.1016 
## F-statistic: 15.29 on 16 and 2006 DF,  p-value: < 2.2e-16
## 
## Summary for Model 17
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.53612 -0.12915  0.02683  0.16896  1.13208 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.164521   0.007703 -21.358  < 2e-16 ***
## Comp.1      -0.024385   0.003909  -6.239 5.42e-10 ***
## Comp.2      -0.040295   0.004683  -8.605  < 2e-16 ***
## Comp.3      -0.002429   0.005365  -0.453 0.650800    
## Comp.4      -0.004465   0.005352  -0.834 0.404279    
## Comp.5      -0.005191   0.005601  -0.927 0.354088    
## Comp.6      -0.022921   0.006305  -3.635 0.000285 ***
## Comp.7      -0.003804   0.006317  -0.602 0.547110    
## Comp.8       0.001517   0.007505   0.202 0.839792    
## Comp.9      -0.002114   0.007309  -0.289 0.772445    
## Comp.10      0.009410   0.007835   1.201 0.229873    
## Comp.11     -0.008748   0.007641  -1.145 0.252417    
## Comp.12     -0.004419   0.008325  -0.531 0.595620    
## Comp.13      0.005301   0.008610   0.616 0.538176    
## Comp.14      0.009112   0.010266   0.888 0.374879    
## Comp.15      0.043790   0.010540   4.155 3.40e-05 ***
## Comp.16     -0.006953   0.011680  -0.595 0.551733    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.319 on 1906 degrees of freedom
## Multiple R-squared:  0.09213,    Adjusted R-squared:  0.08451 
## F-statistic: 12.09 on 16 and 1906 DF,  p-value: < 2.2e-16
## 
## Summary for Model 18
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.0993 -0.1059  0.0172  0.1191  1.6687 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0409688  0.0057583  -7.115 1.55e-12 ***
## Comp.1      -0.0109342  0.0034100  -3.206  0.00136 ** 
## Comp.2      -0.0188145  0.0039555  -4.757 2.11e-06 ***
## Comp.3       0.0152396  0.0050543   3.015  0.00260 ** 
## Comp.4      -0.0210349  0.0050408  -4.173 3.13e-05 ***
## Comp.5      -0.0179614  0.0055052  -3.263  0.00112 ** 
## Comp.6      -0.0111710  0.0049219  -2.270  0.02333 *  
## Comp.7      -0.0020409  0.0058357  -0.350  0.72658    
## Comp.8      -0.0094022  0.0058143  -1.617  0.10602    
## Comp.9      -0.0073962  0.0061258  -1.207  0.22743    
## Comp.10      0.0046796  0.0061000   0.767  0.44309    
## Comp.11      0.0003877  0.0067639   0.057  0.95429    
## Comp.12      0.0126452  0.0070426   1.796  0.07272 .  
## Comp.13      0.0139648  0.0076677   1.821  0.06872 .  
## Comp.14      0.0131070  0.0086944   1.508  0.13183    
## Comp.15      0.0287756  0.0096973   2.967  0.00304 ** 
## Comp.16     -0.0335114  0.0116622  -2.874  0.00410 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2454 on 2017 degrees of freedom
## Multiple R-squared:  0.04794,    Adjusted R-squared:  0.04039 
## F-statistic: 6.348 on 16 and 2017 DF,  p-value: 4.414e-14
## 
## Summary for Model 19
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.66915 -0.11651 -0.01093  0.10912  2.39276 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.0665855  0.0061745  10.784  < 2e-16 ***
## Comp.1       0.0050344  0.0030786   1.635 0.102147    
## Comp.2      -0.0003271  0.0037721  -0.087 0.930914    
## Comp.3       0.0039125  0.0045580   0.858 0.390781    
## Comp.4      -0.0083691  0.0047670  -1.756 0.079306 .  
## Comp.5      -0.0100880  0.0045484  -2.218 0.026673 *  
## Comp.6      -0.0114275  0.0050535  -2.261 0.023847 *  
## Comp.7      -0.0034329  0.0053376  -0.643 0.520199    
## Comp.8      -0.0016401  0.0063125  -0.260 0.795025    
## Comp.9       0.0064868  0.0057925   1.120 0.262904    
## Comp.10      0.0034292  0.0061729   0.556 0.578597    
## Comp.11      0.0005248  0.0065381   0.080 0.936030    
## Comp.12     -0.0036652  0.0063163  -0.580 0.561795    
## Comp.13     -0.0037278  0.0063196  -0.590 0.555340    
## Comp.14      0.0301912  0.0078308   3.855 0.000119 ***
## Comp.15      0.0159465  0.0080885   1.971 0.048804 *  
## Comp.16     -0.0111674  0.0087340  -1.279 0.201183    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2715 on 2007 degrees of freedom
## Multiple R-squared:  0.02083,    Adjusted R-squared:  0.01303 
## F-statistic: 2.669 on 16 and 2007 DF,  p-value: 0.0003437
## 
## Summary for Model 20
## Call:
## lm(formula = log(data_set1$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = data_set1)
## 
## Residuals:
##      57203      38764      58346      50235       6368      63598 
## -0.0330616  0.0632423 -0.0682392  0.0014201 -0.0047587  0.0400073 
##      59751      61186      43941      63719      44107      60200 
## -0.0192558  0.0230946 -0.0005504 -0.0227837  0.0025746  0.0593664 
##      28918      50036       5073      79472       5483      30478 
## -0.0086020  0.0352621  0.0113761 -0.0464797 -0.0087683  0.0491545 
##      45428       6343      50236 
## -0.0143435 -0.0759263  0.0172710 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  -0.6426     0.2997  -2.144  0.09865 . 
## Comp.1        1.1018     0.3250   3.391  0.02751 * 
## Comp.2       -0.4904     0.2586  -1.896  0.13083   
## Comp.3       -0.4156     0.4301  -0.966  0.38864   
## Comp.4       -0.5383     0.2355  -2.286  0.08423 . 
## Comp.5       -0.9418     0.2063  -4.564  0.01030 * 
## Comp.6        0.7004     0.3283   2.134  0.09980 . 
## Comp.7        1.5636     0.9035   1.731  0.15858   
## Comp.8        0.4069     0.3053   1.333  0.25349   
## Comp.9        0.4687     0.1909   2.455  0.07009 . 
## Comp.10      -0.3405     0.1487  -2.290  0.08388 . 
## Comp.11      -4.2915     1.9480  -2.203  0.09234 . 
## Comp.12      -0.1744     0.1420  -1.228  0.28671   
## Comp.13      -0.1865     0.2411  -0.773  0.48243   
## Comp.14       1.0433     0.8104   1.287  0.26741   
## Comp.15       0.7508     0.3366   2.231  0.08956 . 
## Comp.16       2.0014     0.3311   6.044  0.00378 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.0847 on 4 degrees of freedom
## Multiple R-squared:  0.9695, Adjusted R-squared:  0.8473 
## F-statistic: 7.936 on 16 and 4 DF,  p-value: 0.02911

Conclusion:

  1. The betas values do change significantly, PCA ensures removing of multicollinearity 2. Betas value are more signficant (p values)
  2. Model looks consistent in 20 runs of pca comapred to 20 runs of without pca

Restricting stocks for a sector: Information Technology

Uptil now we used all the stocks of all sectors, now we will restrict our portfolio to only one sector, we chose Information Technology

tic <- read.csv('/Users/neha/Documents/Predictive/tic.csv')
tic<-tic[order(tic$Sector),]
t = sqldf("select ticker, sector from tic where sector = 'Information Technology'")
## Loading required package: tcltk
## Warning: Quoted identifiers should have class SQL, use DBI::SQL() if the
## caller performs the quoting.
# get all the data in information technology sector 
colnames(t)[1] <- "ticker"
sect_wise <-merge(dfNormZ,t, by = "ticker")

Building the regression model

f_sect <- lm(log(sect_wise$pratio)~marketcap+sps+eps+ncff+ncf+accoci
               +ncfcommon+bvps+de+pe1+ps1+netmargin+ncfx+pb
               +ncfi+capex+currentratio+epsdil+fcfps+tbvps ,data=sect_wise)

summary(f_sect)
## 
## Call:
## lm(formula = log(sect_wise$pratio) ~ marketcap + sps + eps + 
##     ncff + ncf + accoci + ncfcommon + bvps + de + pe1 + ps1 + 
##     netmargin + ncfx + pb + ncfi + capex + currentratio + epsdil + 
##     fcfps + tbvps, data = sect_wise)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.37400 -0.10477  0.01029  0.12076  0.79269 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.0034759  0.0079602  -0.437 0.662386    
## marketcap     0.1301315  0.0218709   5.950 2.92e-09 ***
## sps           0.0013060  0.0073063   0.179 0.858142    
## eps           0.0810302  0.0945862   0.857 0.391674    
## ncff          0.0389948  0.0203727   1.914 0.055685 .  
## ncf          -0.0243097  0.0155460  -1.564 0.117964    
## accoci        0.0201073  0.0159827   1.258 0.208444    
## ncfcommon     0.0003526  0.0063620   0.055 0.955810    
## bvps         -0.0179879  0.0085105  -2.114 0.034613 *  
## de           -0.0291631  0.0080002  -3.645 0.000271 ***
## pe1           0.0015352  0.0024380   0.630 0.528911    
## ps1           0.0067265  0.0085566   0.786 0.431843    
## netmargin     0.0634323  0.0176397   3.596 0.000327 ***
## ncfx         -0.0057496  0.0035090  -1.639 0.101390    
## pb            0.0275505  0.0052489   5.249 1.61e-07 ***
## ncfi          0.0528226  0.0235749   2.241 0.025107 *  
## capex         0.0133417  0.0259813   0.514 0.607622    
## currentratio -0.0081927  0.0040517  -2.022 0.043241 *  
## epsdil       -0.0598332  0.0958018  -0.625 0.532302    
## fcfps         0.0308196  0.0113468   2.716 0.006634 ** 
## tbvps        -0.0014047  0.0155646  -0.090 0.928095    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2029 on 3859 degrees of freedom
## Multiple R-squared:  0.03864,    Adjusted R-squared:  0.03366 
## F-statistic: 7.756 on 20 and 3859 DF,  p-value: < 2.2e-16
# Run a regression model using pca for Information Technology sector
#View(pca_data)
pca_sect_wise <-merge(pca_data,t, by = "ticker")

f_pca<-lm(log(pca_sect_wise$pratio)~Comp.1+Comp.2+Comp.3+Comp.4+Comp.5
       +Comp.6+Comp.7+Comp.8+Comp.9+Comp.10+Comp.11+Comp.12+Comp.13
       +Comp.14+Comp.15+Comp.16,data=pca_sect_wise)

summary(f_pca)
## 
## Call:
## lm(formula = log(pca_sect_wise$pratio) ~ Comp.1 + Comp.2 + Comp.3 + 
##     Comp.4 + Comp.5 + Comp.6 + Comp.7 + Comp.8 + Comp.9 + Comp.10 + 
##     Comp.11 + Comp.12 + Comp.13 + Comp.14 + Comp.15 + Comp.16, 
##     data = pca_sect_wise)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.39687 -0.10613  0.01129  0.12121  0.79430 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0009092  0.0078829  -0.115  0.90818    
## Comp.1      -0.0259897  0.0079849  -3.255  0.00114 ** 
## Comp.2      -0.0228756  0.0076950  -2.973  0.00297 ** 
## Comp.3       0.0196984  0.0084975   2.318  0.02049 *  
## Comp.4       0.0119347  0.0057079   2.091  0.03660 *  
## Comp.5       0.0014915  0.0080359   0.186  0.85276    
## Comp.6      -0.0359730  0.0064380  -5.588 2.46e-08 ***
## Comp.7      -0.0237174  0.0088826  -2.670  0.00762 ** 
## Comp.8      -0.0045266  0.0043572  -1.039  0.29893    
## Comp.9      -0.0088839  0.0043323  -2.051  0.04037 *  
## Comp.10      0.0144917  0.0058437   2.480  0.01318 *  
## Comp.11     -0.0254706  0.0140550  -1.812  0.07003 .  
## Comp.12     -0.0017378  0.0073391  -0.237  0.81283    
## Comp.13      0.0119802  0.0087843   1.364  0.17270    
## Comp.14      0.0587519  0.0108187   5.431 5.96e-08 ***
## Comp.15      0.0661702  0.0118811   5.569 2.73e-08 ***
## Comp.16      0.0162801  0.0178833   0.910  0.36269    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2033 on 3863 degrees of freedom
## Multiple R-squared:  0.0339, Adjusted R-squared:  0.0299 
## F-statistic: 8.472 on 16 and 3863 DF,  p-value: < 2.2e-16