# Steps
# Took Indicators
# Subset data with indicators , Calender date and price
# Calucalte return price
# Remove Outliers
# Remove multi collinearity
# Remove NA'S
# Normalize indicator data
# Split data into 75% train and 25 test
# Create Linear model for train data
# Find Coefficients with higher P value
# Build model for train data.
# Predict return price for test data
# Forecast results.
# How do we forecast ? what package , should date be unbroken
#REVENUEUSD Revenues (USD)
#GP Gross Profit
#OPEX Operating Expenses
#EBITUSD Earning Before Interest & Taxes (USD)
#NETINC Net Income
#EPSUSD Earnings per Basic Share (USD)
#NCFO Net Cash Flow from Operations
#NCFI Net Cash Flow from Investing
#NCFF Net Cash Flow from Financing
#NCF Net Cash Flow / Change in Cash & Cash Equivalents
#ASSETS Total Assets
#CASHNEQUSD Cash and Equivalents (USD)
#LIABILITIES Total Liabilities
#INVESTMENTS Investments
#EQUITYUSD hareholders Equity (USD
#DE Debt to Equity Ratio
#EBITDA Earnings Before Interest, Taxes & Depreciation Amortization
#FCF Free Cash Flow
#PE1 Price to Earnings Ratio
#PB Price to Book Value nam
### Unique Dates
## -- Train
#2011-03-31
#2011-06-30
#2011-09-30
#2011-12-31
#2012-03-31
#2012-06-30
#2012-09-30
#2012-12-31
#2013-03-31
#2013-06-30
#2013-09-30
#2013-12-31
#2014-03-31
#2014-06-30
#2014-09-30
# --- Test
#2014-12-31
#2015-03-31
#2015-06-30
#2015-09-30
#2015-12-31
library('ggplot2')
library('forecast')
## Loading required package: zoo
##
## Attaching package: 'zoo'
##
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Loading required package: timeDate
## This is forecast 6.2
library('tseries')
library('astsa')
##
## Attaching package: 'astsa'
##
## The following object is masked from 'package:forecast':
##
## gas
library('forecast')
########################################################
#################Functions ----- Functions ------#######
#########################################################
### Function ---- Computing Return price
compute_return_price<-function(stock_data){
return_price<-vector();
for(i in 2:length(stock_data[,1])){
if (identical(stock_data[i,1],stock_data[i-1,1])){
return_price[i] = (stock_data[i,72]/stock_data[i-1,72]);
}else{
return_price[i] = 0;
}
}
return_price[1]=0;
#combining return price to Stock Data
stock_data<-cbind(stock_data,return_price)
}
#################################################################
remove_outlier <- function(stock_factors){
#------------------------------------Outlier Removal-----------------
#plot(stock_factors$assets)
stock_factors<-subset(stock_factors, stock_factors$assets < 40000000000)
#plot(stock_factors$assets)
stock_factors<-subset(stock_factors, stock_factors$cashnequsd < 6000000000)
#plot(stock_factors$cashnequsd)
stock_factors<-subset(stock_factors, stock_factors$de > -100)
stock_factors<-subset(stock_factors, stock_factors$de < 100)
#plot(stock_factors$de)
#plot(stock_factors$ebitda)
stock_factors<-subset(stock_factors, stock_factors$ebitda > -500000000)
stock_factors<-subset(stock_factors, stock_factors$ebitda < 2000000000)
#plot(stock_factors$ebitda)
#plot(stock_factors$ebitusd)
stock_factors<-subset(stock_factors, stock_factors$ebitusd > -400000000)
stock_factors<-subset(stock_factors, stock_factors$ebitusd < 1500000000)
#plot(stock_factors$ebitusd)
#View(stock_factors)
stock_factors<-subset(stock_factors, stock_factors$epsusd > -10)
#plot(stock_factors$epsusd)
stock_factors<-subset(stock_factors, stock_factors$epsusd < 10)
#plot(stock_factors$epsusd)
stock_factors<-subset(stock_factors, stock_factors$equityusd > -1000000000)
#plot(stock_factors$equityusd)
stock_factors<-subset(stock_factors, stock_factors$equityusd < 20000000000)
#plot(stock_factors$equityusd)
stock_factors_new <- stock_factors
#stock_factors <- stock_factors_new
#plot(stock_factors$fcf)
stock_factors<-subset(stock_factors, stock_factors$fcf < 1500000000)
stock_factors<-subset(stock_factors, stock_factors$fcf > -1000000000)
#plot(stock_factors$fcf)
#plot(stock_factors$revenueusd)
stock_factors<-subset(stock_factors, stock_factors$revenueusd < 8000000000)
#plot(stock_factors$revenueusd)
stock_factors<-subset(stock_factors, stock_factors$revenueusd > -100000)
#plot(stock_factors$revenueusd)
#plot(stock_factors$gp)
stock_factors<-subset(stock_factors, stock_factors$gp < 3000000000)
stock_factors<-subset(stock_factors, stock_factors$gp > -4000000)
#plot(stock_factors$gp)
stock_factors<-subset(stock_factors, stock_factors$liabilities < 25000000000)
stock_factors<-subset(stock_factors, stock_factors$liabilities > -80000)
#plot(stock_factors$liabilities)
stock_factors_new <- stock_factors
#plot(stock_factors$ncff)
stock_factors<-subset(stock_factors, stock_factors$ncff < 2000000000)
#plot(stock_factors$ncff)
stock_factors<-subset(stock_factors, stock_factors$ncff > -1500000000)
#plot(stock_factors$ncff)
#View(stock_factors_new)
stock_factors<-subset(stock_factors, stock_factors$ncfi < 1000000000)
stock_factors<-subset(stock_factors, stock_factors$ncfi < 1000000000)
#plot(stock_factors$ncfi)
stock_factors<-subset(stock_factors, stock_factors$ncfi > - 2000000000)
#plot(stock_factors$ncfi)
stock_factors<-subset(stock_factors, stock_factors$ncfo < 1500000000)
#plot(stock_factors$ncfo)
stock_factors<-subset(stock_factors, stock_factors$ncfo > -500000000)
#plot(stock_factors$ncfo)
stock_factors_new <- stock_factors
#plot(stock_factors$netinc)
stock_factors<-subset(stock_factors, stock_factors$netinc > -500000000)
#plot(stock_factors$netinc)
#plot(stock_factors$netinc)
stock_factors<-subset(stock_factors, stock_factors$netinc < 1000000000)
#plot(stock_factors$netinc)
#plot(stock_factors$pb)
stock_factors<-subset(stock_factors, stock_factors$pb < 10000)
stock_factors<-subset(stock_factors, stock_factors$pb <200)
stock_factors<-subset(stock_factors, stock_factors$pb > -200)
#plot(stock_factors$pb)
#plot(stock_factors$pe1)
stock_factors<-subset(stock_factors, stock_factors$pe1 > -1000)
stock_factors<-subset(stock_factors, stock_factors$pe1 < 1000)
#plot(stock_factors$pe1)
stock_factors_new <- stock_factors
#plot(stock_factors$sharesbas)
stock_factors<-subset(stock_factors, stock_factors$sharesbas < 800000000)
#plot(stock_factors$sharesbas)
#plot(stock_factors$tangibles)
stock_factors<-subset(stock_factors, stock_factors$tangibles < 20000000000)
#plot(stock_factors$tangibles)
#plot(stock_factors$workingcapital)
stock_factors<-subset(stock_factors, stock_factors$workingcapital > -1500000000)
#plot(stock_factors$workingcapital)
stock_factors<-subset(stock_factors, stock_factors$workingcapital < 6000000000)
#plot(stock_factors$workingcapital)
stock_factors
}
##################################################################################
norm_x_var <- function(data_norm){
for (k in 2:18) {
#normalizing each independent var
x<-(data_norm[,k]-mean(data_norm[,k]))/sd(data_norm[,k])
#merging the normalized var to the original dataset
data_norm<-cbind(data_norm,x)
#naming the normalized variable
names(data_norm)[NCOL(data_norm)]<-paste(colnames(data_norm[k]),"_n",sep="")
}
data_norm <- data_norm[c(1,19:35)]
data_norm
}
######################################################################################
##### subset data and create a list ####
subset_stockdata <- function(stock_factors_date){
unique(stock_factors_date$calendardate)
##Sort by staock factors date
stock_factors_date <- dplyr::arrange(stock_factors_date, calendardate)
#View(stock_factors_date)
#caldates <- unique(stock_factors_date$calendardate)
### Subset data by calendar Date
stock_factor_2011_03_31 <- subset(stock_factors_date , calendardate =='2011-06-30')
stock_factor_2011_03_31 <- stock_factor_2011_03_31[,-(1)]
#View(stock_factor_2011_03_31)
stock_factor_2011_06_30 <- subset(stock_factors_date , calendardate =='2011-06-30')
stock_factor_2011_06_30 <- stock_factor_2011_06_30[,-(1)]
#View(stock_factor_2011_06_30)
stock_factor_2011_09_30 <- subset(stock_factors_date , calendardate =='2011-09-30' )
stock_factor_2011_09_30 <- stock_factor_2011_09_30[,-1]
stock_factor_2011_12_31 <- subset(stock_factors_date , calendardate =='2011-12-31' )
stock_factor_2011_12_31 <- stock_factor_2011_12_31[,-1]
stock_factor_2012_03_31 <- subset(stock_factors_date , calendardate =='2012-03-31' )
stock_factor_2012_03_31 <- stock_factor_2012_03_31[,-1]
stock_factor_2012_06_30 <- subset(stock_factors_date , calendardate =='2012-06-30' )
stock_factor_2012_06_30 <- stock_factor_2012_06_30[,-1]
stock_factor_2012_09_30 <- subset(stock_factors_date , calendardate =='2012-09-30' )
stock_factor_2012_09_30 <- stock_factor_2012_09_30[,-1]
stock_factor_2012_12_31 <- subset(stock_factors_date , calendardate =='2012-12-31' )
stock_factor_2012_12_31 <- stock_factor_2012_12_31[,-1]
stock_factor_2013_03_31 <- subset(stock_factors_date , calendardate =='2013-03-31' )
stock_factor_2013_03_31 <- stock_factor_2013_03_31 [,-1]
stock_factor_2013_06_30 <- subset(stock_factors_date , calendardate =='2013-06-30' )
stock_factor_2013_06_30 <- stock_factor_2013_06_30[,-1]
stock_factor_2013_09_30 <- subset(stock_factors_date , calendardate =='2013-09-30' )
stock_factor_2013_09_30 <- stock_factor_2013_09_30[,-1]
stock_factor_2013_12_31 <- subset(stock_factors_date , calendardate =='2013-12-31' )
stock_factor_2013_12_31 <- stock_factor_2013_12_31[,-1]
stock_factor_2014_03_31 <- subset(stock_factors_date , calendardate =='2014-03-31' )
stock_factor_2014_03_31 <- stock_factor_2014_03_31[,-1]
stock_factor_2014_06_30 <- subset(stock_factors_date , calendardate =='2014-06-30' )
stock_factor_2014_06_30 <- stock_factor_2014_06_30[,-1]
stock_factor_2014_09_30 <- subset(stock_factors_date , calendardate =='2014-09-30' )
stock_factor_2014_09_30 <- stock_factor_2014_09_30[,-1]
######
stock_factor_2014_12_31 <- subset(stock_factors_date , calendardate =='2014-12-31' )
stock_factor_2014_12_31 <- stock_factor_2014_12_31[,-1]
#View(stock_factor_2014_12_31)
is.na(stock_factor_2014_12_31) <- sapply(stock_factor_2014_12_31, is.infinite)
stock_factor_2014_12_31 <- na.omit(stock_factor_2014_12_31)
#2015-03-31
stock_factor_2015_03_31 <- subset(stock_factors_date , calendardate =='2015-03-31' )
stock_factor_2015_03_31 <- stock_factor_2015_03_31[,-1]
is.na(stock_factor_2015_03_31) <- sapply(stock_factor_2015_03_31, is.infinite)
stock_factor_2015_03_31 <- na.omit(stock_factor_2015_03_31)
#View(stock_factor_2015_03_31)
#2015-06-30
stock_factor_2015_06_30 <- subset(stock_factors_date , calendardate =='2015-06-30' )
stock_factor_2015_06_30 <- stock_factor_2015_06_30[,-1]
is.na(stock_factor_2015_06_30) <- sapply(stock_factor_2015_06_30, is.infinite)
stock_factor_2015_06_30 <- na.omit(stock_factor_2015_06_30)
#View(stock_factor_2015_06_30)
#2015-09-30
stock_factor_2015_09_30 <- subset(stock_factors_date , calendardate =='2015-09-30' )
stock_factor_2015_09_30 <- stock_factor_2015_09_30[,-1]
is.na(stock_factor_2015_09_30) <- sapply(stock_factor_2015_09_30, is.infinite)
stock_factor_2015_09_30 <- na.omit(stock_factor_2015_09_30)
#View(stock_factor_2015_09_30)
#2015-12-31
stock_factor_2015_12_31 <- subset(stock_factors_date , calendardate =='2015-12-31' )
stock_factor_2015_12_31 <- stock_factor_2015_12_31[,-1]
is.na(stock_factor_2015_12_31) <- sapply(stock_factor_2015_12_31, is.infinite)
stock_factor_2015_06_30 <- na.omit(stock_factor_2015_12_31)
#View(stock_factor_2015_12_31)
my.list <- list( stock_factor_2011_03_31, stock_factor_2011_06_30, stock_factor_2011_09_30,
stock_factor_2011_12_31,stock_factor_2012_03_31,stock_factor_2012_06_30,
stock_factor_2012_09_30,stock_factor_2012_12_31,stock_factor_2013_03_31,
stock_factor_2013_06_30,stock_factor_2013_09_30,stock_factor_2013_12_31,
stock_factor_2014_03_31,stock_factor_2014_06_30,stock_factor_2014_09_30,
stock_factor_2014_12_31, stock_factor_2015_03_31, stock_factor_2015_06_30,stock_factor_2015_09_30,
stock_factor_2015_12_31)
}
#####################################Prediction Dates ####################################
subset_pred_dates <- function(stock_factors_date) {
stock_factor_2014_12_31 <- subset(stock_factors_date , calendardate =='2014-12-31' )
stock_factor_2014_12_31 <- stock_factor_2014_12_31[,-1]
#View(stock_factor_2014_12_31)
is.na(stock_factor_2014_12_31) <- sapply(stock_factor_2014_12_31, is.infinite)
stock_factor_2014_12_31 <- na.omit(stock_factor_2014_12_31)
#2015-03-31
stock_factor_2015_03_31 <- subset(stock_factors_date , calendardate =='2015-03-31' )
stock_factor_2015_03_31 <- stock_factor_2015_03_31[,-1]
is.na(stock_factor_2015_03_31) <- sapply(stock_factor_2015_03_31, is.infinite)
stock_factor_2015_03_31 <- na.omit(stock_factor_2015_03_31)
#View(stock_factor_2015_03_31)
#2015-06-30
stock_factor_2015_06_30 <- subset(stock_factors_date , calendardate =='2015-06-30' )
stock_factor_2015_06_30 <- stock_factor_2015_06_30[,-1]
is.na(stock_factor_2015_06_30) <- sapply(stock_factor_2015_06_30, is.infinite)
stock_factor_2015_06_30 <- na.omit(stock_factor_2015_06_30)
#View(stock_factor_2015_06_30)
#2015-09-30
stock_factor_2015_09_30 <- subset(stock_factors_date , calendardate =='2015-09-30' )
stock_factor_2015_09_30 <- stock_factor_2015_09_30[,-1]
is.na(stock_factor_2015_09_30) <- sapply(stock_factor_2015_09_30, is.infinite)
stock_factor_2015_09_30 <- na.omit(stock_factor_2015_09_30)
#View(stock_factor_2015_09_30)
#2015-12-31
stock_factor_2015_12_31 <- subset(stock_factors_date , calendardate =='2015-12-31' )
stock_factor_2015_12_31 <- stock_factor_2015_12_31[,-1]
is.na(stock_factor_2015_12_31) <- sapply(stock_factor_2015_12_31, is.infinite)
stock_factor_2015_06_30 <- na.omit(stock_factor_2015_12_31)
#View(stock_factor_2015_12_31)
my.pred.list <- list(stock_factor_2014_12_31, stock_factor_2015_03_31, stock_factor_2015_06_30, stock_factor_2015_09_30,
stock_factor_2015_12_31)
}
###########################
###############################linear model for 20 pred set of beta ##############################################
create_beta_matrix <- function(my.list){
beta_matrix <- matrix()
List <- list()
for (i in 1:length(my.list)) {
obj <- as.data.frame(my.list[i])
lm_model <- lm(return_price~. , data = obj)
print(summary(lm_model))
betas <- lm_model$coefficients
print(betas)
List[[i]] <- betas
}
beta_matrix = do.call(rbind, List)
}
#################################Predicting future date betas #############################################
find_future_beta <- function(beta_matrix){
end_Date_matrix <- matrix( c(2014 , 2015 , 2015 , 2015, 2015, 4, 1, 2, 3,4), nrow=5, ncol=2)
for (k in (15:19) ){
j = k-14
pred_beta <- list()
new_beta_matrix <- beta_matrix[1:k,]
for (i in names(new_beta_matrix)) {
if(i != 'dt'){
beta = new_beta_matrix[i]
model <- ts(beta, start=c(2011, 1), end=c(end_Date_matrix[j,1], end_Date_matrix[j,2]), frequency=4)
par(mfrow = c(3, 1))
#plot(model)
#plot(acf(model))
#plot(pacf(model))
arima_model2 <- arima(model, order=c(2,0,0))
tsdiag(arima_model2)
#par(mfrow = c(1,1))
pred = predict(arima_model2, n.ahead = 1)
pred_beta_list[j,i] <-pred$pred
#fcast <- forecast(model, h=1)
#plot(fcast)
}
}
}
pred_beta_list
}
#############################################################################################################
pred_stock_returns <- function(future_stock_factor_data, pred_beta) {
pred_return_price_row <- 0
x <- data.frame("pred_returnPrice" =1)
stock_16 <- future_stock_factor_data[, -18]
for ( i in 1:nrow(stock_16) ){
row <- stock_16[i,]
#print(i)
for (k in 1:length(pred_beta)) {
if(k==1){
#intercept
pred_return_price_row <- pred_beta[k]
#print(pred_return_price_row )
}else {
#print("in k")
pred_return_price_row <- pred_return_price_row + pred_beta[k]*row[k-1]
}
}
x[i,] <- pred_return_price_row
pred_return_price_row <- 0
}
future_stock_factor_data["pred_returnPrice"] <- x$pred_returnPrice
future_stock_factor_data
}
######################################################################################
make_quantiles <- function(sorted_data){
start = 600
end_file <- nrow(sorted_data)
quantile_list = list()
quantile_pred_list = list()
for (i in 1:5){
#name_pred= paste("QQuantile_pred_" , i, sep="")
#name= paste("QQuantile_" , i, sep="")
start = 1+600*(i-1)
#print(start)
if( i == 5 ) {
end <- end_file
}else {
end <- i*600
}
Quantile <- sorted_data[start:end,]
#assign(name_pred, Quantile_pred)
#assign(name, Quantile)
quantile_list[i] <- mean(Quantile$return_price)
quantile_pred_list[i] <- mean(Quantile$pred_returnPrice)
}
list (quantile_list , quantile_pred_list)
}
######################################################
####### Code starts here ###########################
#######################################################
indicator_list<-c(3,7,15,18, 25,28,32,35, 39,78,42,49,57,58, 59, 61,68,70, 86,90,93,94)
stock_data <- read.csv('/Users/jyothi/Desktop/predictive/data_file_ARQ.csv', header = T, sep =',')
#colnames(stock_data)
stock_data <- compute_return_price(stock_data)
stock_factors <- na.omit(stock_data[indicator_list])
stock_factors <- remove_outlier(stock_factors)
stock_factors_new <- stock_factors
stock_factors_new <- stock_factors_new[ ,-c(1,22)]
sink("/Users/jyothi/Desktop/cor.txt")
cor(stock_factors_new)
## assets cashnequsd de ebitda
## assets 1.000000000 0.61421508 0.0782112544 0.83899851
## cashnequsd 0.614215079 1.00000000 0.0365081290 0.60458431
## de 0.078211254 0.03650813 1.0000000000 0.06269383
## ebitda 0.838998510 0.60458431 0.0626938302 1.00000000
## ebitusd 0.742595158 0.58001121 0.0444972107 0.96363758
## epsusd 0.235966783 0.19675398 0.0288497325 0.40764767
## equityusd 0.899765681 0.62279702 0.0275480022 0.78455830
## fcf 0.386186942 0.44547074 0.0294319370 0.48776439
## revenueusd 0.769944853 0.59396030 0.0662162712 0.74379501
## gp 0.806747034 0.63428636 0.0661628765 0.82904399
## liabilities 0.962654770 0.55148906 0.1014117036 0.79623986
## ncff -0.162384874 -0.12605673 0.0066065380 -0.24640434
## ncfi -0.460766693 -0.22590503 -0.0503986453 -0.40006375
## ncfo 0.702608344 0.55144658 0.0575961132 0.76826401
## netinc 0.632897074 0.54753817 0.0253376649 0.89281569
## pb -0.003325166 0.01478398 0.5403373489 0.01669836
## pe1 0.043807234 0.03581321 -0.0008833853 0.06134799
## sharesbas 0.688486571 0.59694030 0.0327751468 0.63941738
## tangibles 0.931149266 0.59337986 0.0808760753 0.79537863
## workingcapital 0.559316932 0.73375250 0.0169005771 0.55067337
## ebitusd epsusd equityusd fcf
## assets 0.74259516 0.23596678 0.899765681 0.38618694
## cashnequsd 0.58001121 0.19675398 0.622797020 0.44547074
## de 0.04449721 0.02884973 0.027548002 0.02943194
## ebitda 0.96363758 0.40764767 0.784558295 0.48776439
## ebitusd 1.00000000 0.45425849 0.714081767 0.51975006
## epsusd 0.45425849 1.00000000 0.257673865 0.21543515
## equityusd 0.71408177 0.25767386 1.000000000 0.38798529
## fcf 0.51975006 0.21543515 0.387985292 1.00000000
## revenueusd 0.70192224 0.27164316 0.688376123 0.41675110
## gp 0.78894894 0.28266526 0.742147423 0.49506087
## liabilities 0.69356867 0.20225501 0.753153852 0.35344194
## ncff -0.26661924 -0.10483488 -0.165869133 -0.41292779
## ncfi -0.32392860 -0.10827465 -0.426020247 -0.03994817
## ncfo 0.71924796 0.27655192 0.671425053 0.78360998
## netinc 0.95404019 0.50739838 0.656816092 0.51211626
## pb 0.02034100 0.02065151 -0.006716599 0.02247697
## pe1 0.06101799 0.07439753 0.051495711 0.03601164
## sharesbas 0.57786280 0.12284752 0.666471898 0.34293056
## tangibles 0.68823342 0.22934215 0.820558567 0.28276013
## workingcapital 0.54578386 0.23358872 0.636742525 0.39013498
## revenueusd gp liabilities ncff
## assets 0.769944853 0.80674703 0.962654770 -0.162384874
## cashnequsd 0.593960298 0.63428636 0.551489056 -0.126056728
## de 0.066216271 0.06616288 0.101411704 0.006606538
## ebitda 0.743795005 0.82904399 0.796239860 -0.246404342
## ebitusd 0.701922242 0.78894894 0.693568667 -0.266619239
## epsusd 0.271643158 0.28266526 0.202255007 -0.104834878
## equityusd 0.688376123 0.74214742 0.753153852 -0.165869133
## fcf 0.416751095 0.49506087 0.353441940 -0.412927790
## revenueusd 1.000000000 0.78376149 0.749847268 -0.220969783
## gp 0.783761493 1.00000000 0.773573679 -0.243806024
## liabilities 0.749847268 0.77357368 1.000000000 -0.148794728
## ncff -0.220969783 -0.24380602 -0.148794728 1.000000000
## ncfi -0.316798948 -0.35392671 -0.435581231 -0.455934980
## ncfo 0.609154717 0.69953337 0.656410785 -0.293864271
## netinc 0.623455697 0.70343212 0.563238166 -0.261607223
## pb 0.002378546 0.02040166 -0.001392047 -0.002440969
## pe1 0.039886615 0.04474907 0.035364463 -0.011452220
## sharesbas 0.571983721 0.66866987 0.637308950 -0.160438083
## tangibles 0.749534746 0.74089207 0.908638572 -0.118267783
## workingcapital 0.616422661 0.58883200 0.465930659 -0.137293039
## ncfi ncfo netinc pb
## assets -0.460766693 0.70260834 0.63289707 -0.003325166
## cashnequsd -0.225905027 0.55144658 0.54753817 0.014783977
## de -0.050398645 0.05759611 0.02533766 0.540337349
## ebitda -0.400063752 0.76826401 0.89281569 0.016698357
## ebitusd -0.323928598 0.71924796 0.95404019 0.020341003
## epsusd -0.108274652 0.27655192 0.50739838 0.020651509
## equityusd -0.426020247 0.67142505 0.65681609 -0.006716599
## fcf -0.039948165 0.78360998 0.51211626 0.022476972
## revenueusd -0.316798948 0.60915472 0.62345570 0.002378546
## gp -0.353926714 0.69953337 0.70343212 0.020401663
## liabilities -0.435581231 0.65641079 0.56323817 -0.001392047
## ncff -0.455934980 -0.29386427 -0.26160722 -0.002440969
## ncfi 1.000000000 -0.40025187 -0.27062287 -0.006801858
## ncfo -0.400251871 1.00000000 0.66058173 0.017157584
## netinc -0.270622865 0.66058173 1.00000000 0.022462637
## pb -0.006801858 0.01715758 0.02246264 1.000000000
## pe1 -0.030509905 0.04865358 0.06394589 -0.009267894
## sharesbas -0.319376831 0.54944951 0.50376558 0.025466026
## tangibles -0.479200211 0.67490590 0.57879543 -0.005176550
## workingcapital -0.206030627 0.44972139 0.52867111 0.004470168
## pe1 sharesbas tangibles workingcapital
## assets 0.0438072338 0.68848657 0.93114927 0.559316932
## cashnequsd 0.0358132116 0.59694030 0.59337986 0.733752498
## de -0.0008833853 0.03277515 0.08087608 0.016900577
## ebitda 0.0613479949 0.63941738 0.79537863 0.550673370
## ebitusd 0.0610179915 0.57786280 0.68823342 0.545783865
## epsusd 0.0743975276 0.12284752 0.22934215 0.233588721
## equityusd 0.0514957106 0.66647190 0.82055857 0.636742525
## fcf 0.0360116375 0.34293056 0.28276013 0.390134985
## revenueusd 0.0398866149 0.57198372 0.74953475 0.616422661
## gp 0.0447490652 0.66866987 0.74089207 0.588832000
## liabilities 0.0353644634 0.63730895 0.90863857 0.465930659
## ncff -0.0114522201 -0.16043808 -0.11826778 -0.137293039
## ncfi -0.0305099051 -0.31937683 -0.47920021 -0.206030627
## ncfo 0.0486535837 0.54944951 0.67490590 0.449721388
## netinc 0.0639458904 0.50376558 0.57879543 0.528671109
## pb -0.0092678945 0.02546603 -0.00517655 0.004470168
## pe1 1.0000000000 0.02520183 0.03836747 0.041335192
## sharesbas 0.0252018287 1.00000000 0.64790893 0.509420427
## tangibles 0.0383674668 0.64790893 1.00000000 0.549589281
## workingcapital 0.0413351919 0.50942043 0.54958928 1.000000000
stock_factors <- stock_factors[ , -c(2,6,20)]
stock_factors<-unique(stock_factors)
## remove Calender Return price to normalise rest of the factors.
data_norm<-stock_factors[ , -c(19)]
stock_factors_date <- norm_x_var(data_norm)
caldates <- unique(stock_factors_date$calendardate)
stock_factors_date["return_price"]<-stock_factors[,19]
stock_factors_date <- dplyr::arrange(stock_factors_date, calendardate)
my.list <- subset_stockdata(stock_factors_date )
beta_matrix <- create_beta_matrix(my.list)
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8274 -0.1222 -0.0040 0.1015 7.3536
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.789e-01 4.864e-03 180.689 < 2e-16 ***
## cashnequsd_n -4.316e-03 8.321e-03 -0.519 0.60401
## de_n -1.726e-02 6.148e-03 -2.808 0.00502 **
## ebitda_n 2.582e-02 2.598e-02 0.994 0.32038
## epsusd_n 1.908e-02 5.783e-03 3.300 0.00098 ***
## equityusd_n -1.600e-02 1.071e-02 -1.494 0.13532
## fcf_n -3.313e-03 1.074e-02 -0.309 0.75770
## revenueusd_n -5.181e-03 9.546e-03 -0.543 0.58731
## gp_n 2.228e-03 1.018e-02 0.219 0.82684
## liabilities_n -4.700e-03 1.299e-02 -0.362 0.71760
## ncff_n -5.408e-03 7.544e-03 -0.717 0.47356
## ncfi_n 1.938e-03 8.145e-03 0.238 0.81195
## ncfo_n 1.184e-02 1.465e-02 0.808 0.41917
## netinc_n 2.425e-03 1.937e-02 0.125 0.90039
## pb_n 3.821e-02 6.637e-03 5.758 9.4e-09 ***
## pe1_n 1.539e-02 4.830e-03 3.187 0.00145 **
## sharesbas_n -4.728e-05 7.355e-03 -0.006 0.99487
## workingcapital_n -4.700e-03 9.023e-03 -0.521 0.60248
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2592 on 2944 degrees of freedom
## Multiple R-squared: 0.02692, Adjusted R-squared: 0.0213
## F-statistic: 4.791 on 17 and 2944 DF, p-value: 3.069e-10
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 8.788905e-01 -4.316149e-03 -1.726215e-02 2.581616e-02
## epsusd_n equityusd_n fcf_n revenueusd_n
## 1.907995e-02 -1.600308e-02 -3.313435e-03 -5.181383e-03
## gp_n liabilities_n ncff_n ncfi_n
## 2.227962e-03 -4.699924e-03 -5.407592e-03 1.938014e-03
## ncfo_n netinc_n pb_n pe1_n
## 1.183847e-02 2.424616e-03 3.821332e-02 1.539296e-02
## sharesbas_n workingcapital_n
## -4.727553e-05 -4.699862e-03
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8274 -0.1222 -0.0040 0.1015 7.3536
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.789e-01 4.864e-03 180.689 < 2e-16 ***
## cashnequsd_n -4.316e-03 8.321e-03 -0.519 0.60401
## de_n -1.726e-02 6.148e-03 -2.808 0.00502 **
## ebitda_n 2.582e-02 2.598e-02 0.994 0.32038
## epsusd_n 1.908e-02 5.783e-03 3.300 0.00098 ***
## equityusd_n -1.600e-02 1.071e-02 -1.494 0.13532
## fcf_n -3.313e-03 1.074e-02 -0.309 0.75770
## revenueusd_n -5.181e-03 9.546e-03 -0.543 0.58731
## gp_n 2.228e-03 1.018e-02 0.219 0.82684
## liabilities_n -4.700e-03 1.299e-02 -0.362 0.71760
## ncff_n -5.408e-03 7.544e-03 -0.717 0.47356
## ncfi_n 1.938e-03 8.145e-03 0.238 0.81195
## ncfo_n 1.184e-02 1.465e-02 0.808 0.41917
## netinc_n 2.425e-03 1.937e-02 0.125 0.90039
## pb_n 3.821e-02 6.637e-03 5.758 9.4e-09 ***
## pe1_n 1.539e-02 4.830e-03 3.187 0.00145 **
## sharesbas_n -4.728e-05 7.355e-03 -0.006 0.99487
## workingcapital_n -4.700e-03 9.023e-03 -0.521 0.60248
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2592 on 2944 degrees of freedom
## Multiple R-squared: 0.02692, Adjusted R-squared: 0.0213
## F-statistic: 4.791 on 17 and 2944 DF, p-value: 3.069e-10
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 8.788905e-01 -4.316149e-03 -1.726215e-02 2.581616e-02
## epsusd_n equityusd_n fcf_n revenueusd_n
## 1.907995e-02 -1.600308e-02 -3.313435e-03 -5.181383e-03
## gp_n liabilities_n ncff_n ncfi_n
## 2.227962e-03 -4.699924e-03 -5.407592e-03 1.938014e-03
## ncfo_n netinc_n pb_n pe1_n
## 1.183847e-02 2.424616e-03 3.821332e-02 1.539296e-02
## sharesbas_n workingcapital_n
## -4.727553e-05 -4.699862e-03
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11.619 -0.230 -0.055 0.145 84.207
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9458514 0.0321309 29.437 <2e-16 ***
## cashnequsd_n -0.0428069 0.0550956 -0.777 0.4372
## de_n 0.4289061 0.0392490 10.928 <2e-16 ***
## ebitda_n -0.0199314 0.1659624 -0.120 0.9044
## epsusd_n 0.0327520 0.0386259 0.848 0.3965
## equityusd_n 0.0314696 0.0705670 0.446 0.6557
## fcf_n 0.0368658 0.0894578 0.412 0.6803
## revenueusd_n -0.0022733 0.0634233 -0.036 0.9714
## gp_n -0.0196365 0.0652298 -0.301 0.7634
## liabilities_n -0.1275810 0.0844979 -1.510 0.1312
## ncff_n 0.0039441 0.0561670 0.070 0.9440
## ncfi_n -0.0004256 0.0519632 -0.008 0.9935
## ncfo_n -0.0055202 0.1174307 -0.047 0.9625
## netinc_n 0.0274447 0.1124885 0.244 0.8073
## pb_n -0.9197303 0.0415430 -22.139 <2e-16 ***
## pe1_n 0.0308529 0.0318037 0.970 0.3321
## sharesbas_n 0.1047645 0.0498233 2.103 0.0356 *
## workingcapital_n -0.0182780 0.0571972 -0.320 0.7493
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.714 on 2907 degrees of freedom
## Multiple R-squared: 0.145, Adjusted R-squared: 0.14
## F-statistic: 29 on 17 and 2907 DF, p-value: < 2.2e-16
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.9458514364 -0.0428068895 0.4289060501 -0.0199313731
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0327520415 0.0314696064 0.0368658317 -0.0022733278
## gp_n liabilities_n ncff_n ncfi_n
## -0.0196365440 -0.1275810425 0.0039440857 -0.0004256415
## ncfo_n netinc_n pb_n pe1_n
## -0.0055202180 0.0274447131 -0.9197303263 0.0308529126
## sharesbas_n workingcapital_n
## 0.1047645011 -0.0182780017
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.0764 -0.1491 -0.0368 0.1020 12.8273
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.1227447 0.0074348 151.012 < 2e-16 ***
## cashnequsd_n -0.0069652 0.0128768 -0.541 0.588610
## de_n 0.0011991 0.0087808 0.137 0.891387
## ebitda_n -0.0078248 0.0298623 -0.262 0.793316
## epsusd_n 0.0271174 0.0071771 3.778 0.000161 ***
## equityusd_n -0.0103807 0.0161411 -0.643 0.520196
## fcf_n 0.0124862 0.0154970 0.806 0.420474
## revenueusd_n 0.0091391 0.0137329 0.665 0.505788
## gp_n -0.0039288 0.0148905 -0.264 0.791914
## liabilities_n 0.0001761 0.0176696 0.010 0.992047
## ncff_n 0.0046722 0.0116267 0.402 0.687822
## ncfi_n 0.0035367 0.0142612 0.248 0.804159
## ncfo_n -0.0053633 0.0208678 -0.257 0.797188
## netinc_n -0.0114562 0.0201946 -0.567 0.570562
## pb_n 0.0266308 0.0093020 2.863 0.004227 **
## pe1_n -0.0057518 0.0079501 -0.723 0.469435
## sharesbas_n 0.0092518 0.0116017 0.797 0.425255
## workingcapital_n 0.0080115 0.0134800 0.594 0.552343
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3995 on 2939 degrees of freedom
## Multiple R-squared: 0.01049, Adjusted R-squared: 0.004769
## F-statistic: 1.833 on 17 and 2939 DF, p-value: 0.01953
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.1227446643 -0.0069652046 0.0011991225 -0.0078248207
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0271173666 -0.0103806742 0.0124861547 0.0091391293
## gp_n liabilities_n ncff_n ncfi_n
## -0.0039288370 0.0001761497 0.0046722071 0.0035366541
## ncfo_n netinc_n pb_n pe1_n
## -0.0053632509 -0.0114561729 0.0266307597 -0.0057518003
## sharesbas_n workingcapital_n
## 0.0092517914 0.0080114680
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8490 -0.1118 -0.0141 0.0871 5.0294
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9826584 0.0045484 216.044 < 2e-16 ***
## cashnequsd_n 0.0024226 0.0077825 0.311 0.755608
## de_n 0.0103135 0.0064033 1.611 0.107366
## ebitda_n -0.0119237 0.0238054 -0.501 0.616492
## epsusd_n 0.0163807 0.0047111 3.477 0.000514 ***
## equityusd_n -0.0128386 0.0094944 -1.352 0.176407
## fcf_n 0.0254931 0.0104018 2.451 0.014311 *
## revenueusd_n -0.0048316 0.0084632 -0.571 0.568109
## gp_n 0.0140563 0.0096445 1.457 0.145103
## liabilities_n 0.0058807 0.0116131 0.506 0.612626
## ncff_n 0.0011044 0.0073055 0.151 0.879852
## ncfi_n -0.0081863 0.0090290 -0.907 0.364656
## ncfo_n -0.0164564 0.0137102 -1.200 0.230118
## netinc_n 0.0101930 0.0159605 0.639 0.523107
## pb_n 0.0010554 0.0063920 0.165 0.868864
## pe1_n 0.0032982 0.0051562 0.640 0.522445
## sharesbas_n -0.0019913 0.0070799 -0.281 0.778525
## workingcapital_n -0.0007458 0.0081809 -0.091 0.927370
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2425 on 2913 degrees of freedom
## Multiple R-squared: 0.01405, Adjusted R-squared: 0.008297
## F-statistic: 2.442 on 17 and 2913 DF, p-value: 0.0008381
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.9826583545 0.0024225680 0.0103134708 -0.0119237016
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0163807223 -0.0128386242 0.0254930678 -0.0048316481
## gp_n liabilities_n ncff_n ncfi_n
## 0.0140562705 0.0058806848 0.0011043709 -0.0081863164
## ncfo_n netinc_n pb_n pe1_n
## -0.0164564075 0.0101930365 0.0010554296 0.0032981802
## sharesbas_n workingcapital_n
## -0.0019913461 -0.0007457874
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.9555 -0.1212 -0.0129 0.0937 4.0153
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.982051 0.004686 209.565 < 2e-16 ***
## cashnequsd_n -0.005774 0.008141 -0.709 0.478169
## de_n -0.012214 0.006314 -1.935 0.053143 .
## ebitda_n -0.025171 0.024123 -1.043 0.296823
## epsusd_n 0.017216 0.005181 3.323 0.000902 ***
## equityusd_n 0.001750 0.009438 0.185 0.852902
## fcf_n 0.009459 0.010772 0.878 0.379928
## revenueusd_n -0.002536 0.009133 -0.278 0.781296
## gp_n 0.003708 0.009794 0.379 0.705010
## liabilities_n 0.006911 0.011602 0.596 0.551455
## ncff_n 0.003741 0.006748 0.554 0.579282
## ncfi_n 0.006779 0.007311 0.927 0.353842
## ncfo_n 0.002547 0.015315 0.166 0.867909
## netinc_n 0.020285 0.016910 1.200 0.230409
## pb_n 0.029101 0.006137 4.742 2.22e-06 ***
## pe1_n 0.002635 0.004996 0.528 0.597868
## sharesbas_n 0.002990 0.007322 0.408 0.683011
## workingcapital_n -0.016146 0.008263 -1.954 0.050785 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2519 on 2924 degrees of freedom
## Multiple R-squared: 0.01799, Adjusted R-squared: 0.01228
## F-statistic: 3.151 on 17 and 2924 DF, p-value: 1.318e-05
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.982051285 -0.005774405 -0.012213846 -0.025171093
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.017216257 0.001750056 0.009459330 -0.002535755
## gp_n liabilities_n ncff_n ncfi_n
## 0.003708050 0.006910598 0.003741487 0.006779289
## ncfo_n netinc_n pb_n pe1_n
## 0.002547312 0.020284573 0.029101265 0.002635297
## sharesbas_n workingcapital_n
## 0.002990234 -0.016145792
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8527 -0.1156 -0.0197 0.0795 6.1698
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.022617 0.005299 192.999 < 2e-16 ***
## cashnequsd_n -0.007348 0.009727 -0.755 0.450
## de_n -0.009464 0.006908 -1.370 0.171
## ebitda_n 0.019480 0.026685 0.730 0.465
## epsusd_n 0.025992 0.006210 4.186 2.93e-05 ***
## equityusd_n -0.005062 0.010793 -0.469 0.639
## fcf_n 0.008357 0.011967 0.698 0.485
## revenueusd_n 0.013492 0.010286 1.312 0.190
## gp_n 0.001523 0.010639 0.143 0.886
## liabilities_n 0.006293 0.013217 0.476 0.634
## ncff_n 0.001830 0.007971 0.230 0.818
## ncfi_n 0.009576 0.009357 1.023 0.306
## ncfo_n -0.001971 0.016146 -0.122 0.903
## netinc_n -0.021116 0.018935 -1.115 0.265
## pb_n 0.032653 0.007389 4.419 1.03e-05 ***
## pe1_n 0.001781 0.005648 0.315 0.753
## sharesbas_n -0.006783 0.008113 -0.836 0.403
## workingcapital_n 0.004098 0.009168 0.447 0.655
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2833 on 2878 degrees of freedom
## Multiple R-squared: 0.0197, Adjusted R-squared: 0.01391
## F-statistic: 3.402 on 17 and 2878 DF, p-value: 2.792e-06
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.022616538 -0.007348354 -0.009464200 0.019479507
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.025992179 -0.005062053 0.008357460 0.013492108
## gp_n liabilities_n ncff_n ncfi_n
## 0.001523195 0.006293113 0.001829869 0.009576153
## ncfo_n netinc_n pb_n pe1_n
## -0.001971260 -0.021116413 0.032653372 0.001780777
## sharesbas_n workingcapital_n
## -0.006782725 0.004097967
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.0885 -0.1503 -0.0320 0.1001 5.7394
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.1326587 0.0062233 182.004 < 2e-16 ***
## cashnequsd_n 0.0074541 0.0110192 0.676 0.498800
## de_n -0.0015371 0.0074738 -0.206 0.837070
## ebitda_n -0.0004743 0.0218394 -0.022 0.982676
## epsusd_n 0.0126662 0.0065592 1.931 0.053571 .
## equityusd_n -0.0090622 0.0126587 -0.716 0.474119
## fcf_n 0.0100693 0.0106710 0.944 0.345444
## revenueusd_n 0.0071351 0.0125762 0.567 0.570521
## gp_n -0.0134158 0.0134931 -0.994 0.320171
## liabilities_n 0.0045670 0.0143595 0.318 0.750469
## ncff_n 0.0036882 0.0091375 0.404 0.686512
## ncfi_n 0.0041310 0.0096371 0.429 0.668208
## ncfo_n 0.0031214 0.0149802 0.208 0.834955
## netinc_n -0.0166468 0.0147950 -1.125 0.260611
## pb_n 0.0282163 0.0072536 3.890 0.000102 ***
## pe1_n 0.0028903 0.0066017 0.438 0.661550
## sharesbas_n 0.0011165 0.0093887 0.119 0.905350
## workingcapital_n 0.0021682 0.0109243 0.198 0.842688
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3342 on 2952 degrees of freedom
## Multiple R-squared: 0.01084, Adjusted R-squared: 0.005139
## F-statistic: 1.902 on 17 and 2952 DF, p-value: 0.01403
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.1326586846 0.0074540869 -0.0015370709 -0.0004742764
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0126661989 -0.0090621961 0.0100693410 0.0071350907
## gp_n liabilities_n ncff_n ncfi_n
## -0.0134158058 0.0045670308 0.0036882044 0.0041309594
## ncfo_n netinc_n pb_n pe1_n
## 0.0031214186 -0.0166467576 0.0282163322 0.0028903297
## sharesbas_n workingcapital_n
## 0.0011164571 0.0021681931
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.00894 -0.10829 -0.01991 0.07728 2.71410
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.0473682 0.0041885 250.059 < 2e-16 ***
## cashnequsd_n 0.0020662 0.0073209 0.282 0.7778
## de_n 0.0044940 0.0050904 0.883 0.3774
## ebitda_n 0.0035653 0.0214684 0.166 0.8681
## epsusd_n 0.0219432 0.0050417 4.352 1.39e-05 ***
## equityusd_n -0.0166247 0.0082982 -2.003 0.0452 *
## fcf_n 0.0043540 0.0105216 0.414 0.6790
## revenueusd_n -0.0073925 0.0082021 -0.901 0.3675
## gp_n 0.0117395 0.0091282 1.286 0.1985
## liabilities_n 0.0085783 0.0099462 0.862 0.3885
## ncff_n 0.0050784 0.0064014 0.793 0.4277
## ncfi_n 0.0061016 0.0075657 0.806 0.4200
## ncfo_n 0.0010323 0.0135273 0.076 0.9392
## netinc_n -0.0046105 0.0148737 -0.310 0.7566
## pb_n 0.0041753 0.0048529 0.860 0.3897
## pe1_n -0.0007045 0.0041587 -0.169 0.8655
## sharesbas_n 0.0081148 0.0062854 1.291 0.1968
## workingcapital_n -0.0032877 0.0068956 -0.477 0.6336
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2239 on 2913 degrees of freedom
## Multiple R-squared: 0.0131, Adjusted R-squared: 0.007343
## F-statistic: 2.275 on 17 and 2913 DF, p-value: 0.002085
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.0473682127 0.0020662276 0.0044939695 0.0035653052
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0219432255 -0.0166247212 0.0043539818 -0.0073925268
## gp_n liabilities_n ncff_n ncfi_n
## 0.0117395498 0.0085783079 0.0050783704 0.0061015843
## ncfo_n netinc_n pb_n pe1_n
## 0.0010322861 -0.0046105283 0.0041752748 -0.0007045462
## sharesbas_n workingcapital_n
## 0.0081147602 -0.0032876576
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.06313 -0.12764 -0.02717 0.09270 2.34458
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.099e+00 4.841e-03 226.964 < 2e-16 ***
## cashnequsd_n 7.019e-03 8.397e-03 0.836 0.4033
## de_n -6.093e-03 5.835e-03 -1.044 0.2965
## ebitda_n -1.007e-02 2.277e-02 -0.442 0.6583
## epsusd_n 2.581e-02 5.797e-03 4.452 8.83e-06 ***
## equityusd_n -2.357e-02 9.963e-03 -2.366 0.0180 *
## fcf_n 1.779e-03 1.019e-02 0.175 0.8615
## revenueusd_n 9.467e-03 9.298e-03 1.018 0.3087
## gp_n 9.054e-03 1.039e-02 0.871 0.3836
## liabilities_n -2.865e-03 1.104e-02 -0.259 0.7953
## ncff_n 8.489e-03 6.536e-03 1.299 0.1941
## ncfi_n 2.998e-03 7.395e-03 0.405 0.6853
## ncfo_n 2.330e-04 1.464e-02 0.016 0.9873
## netinc_n -8.919e-03 1.633e-02 -0.546 0.5849
## pb_n 1.303e-02 5.478e-03 2.378 0.0175 *
## pe1_n -3.913e-05 4.484e-03 -0.009 0.9930
## sharesbas_n 6.324e-03 7.407e-03 0.854 0.3933
## workingcapital_n -1.227e-03 8.338e-03 -0.147 0.8830
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2614 on 2912 degrees of freedom
## Multiple R-squared: 0.01445, Adjusted R-squared: 0.008699
## F-statistic: 2.512 on 17 and 2912 DF, p-value: 0.0005675
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.098840e+00 7.018619e-03 -6.092690e-03 -1.007018e-02
## epsusd_n equityusd_n fcf_n revenueusd_n
## 2.580910e-02 -2.357392e-02 1.778923e-03 9.467091e-03
## gp_n liabilities_n ncff_n ncfi_n
## 9.053545e-03 -2.865133e-03 8.489286e-03 2.997610e-03
## ncfo_n netinc_n pb_n pe1_n
## 2.329960e-04 -8.919439e-03 1.302896e-02 -3.912514e-05
## sharesbas_n workingcapital_n
## 6.323761e-03 -1.227476e-03
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.024 -0.148 -0.039 0.076 38.892
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.0779549 0.0146846 73.407 <2e-16 ***
## cashnequsd_n -0.0001760 0.0241166 -0.007 0.994
## de_n 0.0060271 0.0180973 0.333 0.739
## ebitda_n 0.0102945 0.0630789 0.163 0.870
## epsusd_n 0.0197100 0.0186922 1.054 0.292
## equityusd_n -0.0090325 0.0297634 -0.303 0.762
## fcf_n 0.0053644 0.0309037 0.174 0.862
## revenueusd_n -0.0078120 0.0277820 -0.281 0.779
## gp_n 0.0001712 0.0300626 0.006 0.995
## liabilities_n -0.0018660 0.0341445 -0.055 0.956
## ncff_n 0.0065067 0.0217269 0.299 0.765
## ncfi_n 0.0012456 0.0227850 0.055 0.956
## ncfo_n 0.0042575 0.0431728 0.099 0.921
## netinc_n -0.0058064 0.0462327 -0.126 0.900
## pb_n 0.0213426 0.0172070 1.240 0.215
## pe1_n 0.0012915 0.0147944 0.087 0.930
## sharesbas_n -0.0128522 0.0216726 -0.593 0.553
## workingcapital_n -0.0030277 0.0246248 -0.123 0.902
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7877 on 2881 degrees of freedom
## Multiple R-squared: 0.002126, Adjusted R-squared: -0.003763
## F-statistic: 0.361 on 17 and 2881 DF, p-value: 0.9921
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.0779549203 -0.0001760021 0.0060270781 0.0102945423
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0197099870 -0.0090325270 0.0053643661 -0.0078120124
## gp_n liabilities_n ncff_n ncfi_n
## 0.0001711704 -0.0018660383 0.0065067456 0.0012455538
## ncfo_n netinc_n pb_n pe1_n
## 0.0042574800 -0.0058063974 0.0213426106 0.0012915184
## sharesbas_n workingcapital_n
## -0.0128522227 -0.0030276565
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.1789 -0.1740 -0.0577 0.0861 9.7723
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.1244176 0.0080601 139.505 < 2e-16 ***
## cashnequsd_n 0.0101455 0.0127910 0.793 0.4277
## de_n -0.0463170 0.0093210 -4.969 7.11e-07 ***
## ebitda_n -0.0228807 0.0271396 -0.843 0.3993
## epsusd_n -0.0002878 0.0090627 -0.032 0.9747
## equityusd_n -0.0297569 0.0158895 -1.873 0.0612 .
## fcf_n 0.0237160 0.0151671 1.564 0.1180
## revenueusd_n -0.0159993 0.0141274 -1.133 0.2575
## gp_n -0.0206879 0.0175935 -1.176 0.2397
## liabilities_n 0.0313528 0.0176401 1.777 0.0756 .
## ncff_n 0.0028819 0.0114682 0.251 0.8016
## ncfi_n 0.0021917 0.0124281 0.176 0.8600
## ncfo_n -0.0174223 0.0209238 -0.833 0.4051
## netinc_n 0.0116724 0.0190718 0.612 0.5406
## pb_n 0.0725291 0.0084498 8.584 < 2e-16 ***
## pe1_n -0.0099871 0.0068224 -1.464 0.1433
## sharesbas_n 0.0150355 0.0119903 1.254 0.2099
## workingcapital_n -0.0018128 0.0130437 -0.139 0.8895
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4343 on 2949 degrees of freedom
## Multiple R-squared: 0.03533, Adjusted R-squared: 0.02977
## F-statistic: 6.352 on 17 and 2949 DF, p-value: 5.891e-15
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.1244176203 0.0101455170 -0.0463170081 -0.0228807075
## epsusd_n equityusd_n fcf_n revenueusd_n
## -0.0002877731 -0.0297568690 0.0237160400 -0.0159993274
## gp_n liabilities_n ncff_n ncfi_n
## -0.0206878519 0.0313527633 0.0028819445 0.0021916891
## ncfo_n netinc_n pb_n pe1_n
## -0.0174222921 0.0116723894 0.0725290948 -0.0099870834
## sharesbas_n workingcapital_n
## 0.0150355215 -0.0018128439
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8593 -0.1027 -0.0067 0.0775 4.1164
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9657672 0.0044754 215.794 < 2e-16 ***
## cashnequsd_n -0.0062570 0.0071805 -0.871 0.3836
## de_n -0.0014130 0.0055192 -0.256 0.7980
## ebitda_n -0.0015179 0.0209664 -0.072 0.9423
## epsusd_n 0.0363460 0.0057450 6.327 2.89e-10 ***
## equityusd_n -0.0016980 0.0085154 -0.199 0.8420
## fcf_n -0.0154614 0.0089293 -1.732 0.0835 .
## revenueusd_n 0.0159357 0.0079413 2.007 0.0449 *
## gp_n -0.0066066 0.0107065 -0.617 0.5372
## liabilities_n 0.0091190 0.0104270 0.875 0.3819
## ncff_n 0.0010090 0.0063998 0.158 0.8747
## ncfi_n -0.0009621 0.0073953 -0.130 0.8965
## ncfo_n 0.0256372 0.0119958 2.137 0.0327 *
## netinc_n -0.0042161 0.0158853 -0.265 0.7907
## pb_n 0.0008507 0.0053369 0.159 0.8734
## pe1_n 0.0073280 0.0039621 1.850 0.0645 .
## sharesbas_n -0.0024332 0.0066236 -0.367 0.7134
## workingcapital_n 0.0038923 0.0072523 0.537 0.5915
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.239 on 2906 degrees of freedom
## Multiple R-squared: 0.03725, Adjusted R-squared: 0.03162
## F-statistic: 6.614 on 17 and 2906 DF, p-value: 9.298e-16
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.9657672340 -0.0062570260 -0.0014130189 -0.0015179185
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0363460212 -0.0016979991 -0.0154614220 0.0159357070
## gp_n liabilities_n ncff_n ncfi_n
## -0.0066065531 0.0091189683 0.0010090440 -0.0009621214
## ncfo_n netinc_n pb_n pe1_n
## 0.0256371898 -0.0042160718 0.0008506684 0.0073280435
## sharesbas_n workingcapital_n
## -0.0024332108 0.0038923450
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.97444 -0.10145 -0.01377 0.08218 2.48002
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.0100803 0.0038945 259.359 < 2e-16 ***
## cashnequsd_n 0.0118107 0.0062035 1.904 0.057 .
## de_n -0.0025228 0.0045515 -0.554 0.579
## ebitda_n -0.0174550 0.0180692 -0.966 0.334
## epsusd_n 0.0266494 0.0052449 5.081 3.99e-07 ***
## equityusd_n -0.0088718 0.0074246 -1.195 0.232
## fcf_n -0.0008175 0.0080334 -0.102 0.919
## revenueusd_n 0.0003193 0.0067595 0.047 0.962
## gp_n -0.0023617 0.0091825 -0.257 0.797
## liabilities_n 0.0049472 0.0090634 0.546 0.585
## ncff_n 0.0038283 0.0059145 0.647 0.518
## ncfi_n 0.0031718 0.0065314 0.486 0.627
## ncfo_n 0.0179212 0.0112461 1.594 0.111
## netinc_n -0.0018691 0.0127154 -0.147 0.883
## pb_n 0.0057576 0.0047160 1.221 0.222
## pe1_n -0.0006006 0.0036653 -0.164 0.870
## sharesbas_n 0.0066495 0.0059041 1.126 0.260
## workingcapital_n -0.0023348 0.0060591 -0.385 0.700
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2105 on 2919 degrees of freedom
## Multiple R-squared: 0.01439, Adjusted R-squared: 0.008646
## F-statistic: 2.506 on 17 and 2919 DF, p-value: 0.0005855
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.0100803307 0.0118106846 -0.0025227540 -0.0174550010
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0266494241 -0.0088717981 -0.0008174622 0.0003193082
## gp_n liabilities_n ncff_n ncfi_n
## -0.0023616682 0.0049472143 0.0038282908 0.0031718286
## ncfo_n netinc_n pb_n pe1_n
## 0.0179212336 -0.0018691390 0.0057575836 -0.0006005884
## sharesbas_n workingcapital_n
## 0.0066495373 -0.0023348239
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.9287 -0.1288 -0.0059 0.1081 9.3448
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.878e-01 5.743e-03 172.003 < 2e-16 ***
## cashnequsd_n 8.820e-03 8.978e-03 0.982 0.325990
## de_n -7.630e-03 6.549e-03 -1.165 0.244084
## ebitda_n -4.369e-02 2.207e-02 -1.980 0.047778 *
## epsusd_n 3.159e-02 7.733e-03 4.085 4.53e-05 ***
## equityusd_n 7.666e-03 1.071e-02 0.716 0.474017
## fcf_n 2.413e-02 1.047e-02 2.304 0.021266 *
## revenueusd_n -5.240e-07 9.758e-03 0.000 0.999957
## gp_n 3.132e-02 1.252e-02 2.502 0.012416 *
## liabilities_n 1.179e-02 1.236e-02 0.954 0.340142
## ncff_n 6.082e-03 7.400e-03 0.822 0.411192
## ncfi_n 2.127e-03 8.770e-03 0.243 0.808354
## ncfo_n -1.660e-02 1.636e-02 -1.014 0.310445
## netinc_n 4.356e-03 1.571e-02 0.277 0.781664
## pb_n 2.339e-02 6.337e-03 3.690 0.000228 ***
## pe1_n 1.062e-03 5.858e-03 0.181 0.856109
## sharesbas_n -1.677e-02 8.632e-03 -1.942 0.052188 .
## workingcapital_n -4.168e-03 9.245e-03 -0.451 0.652169
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3084 on 2892 degrees of freedom
## Multiple R-squared: 0.02131, Adjusted R-squared: 0.01556
## F-statistic: 3.704 on 17 and 2892 DF, p-value: 4.103e-07
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 9.877561e-01 8.819925e-03 -7.629922e-03 -4.369446e-02
## epsusd_n equityusd_n fcf_n revenueusd_n
## 3.158713e-02 7.665846e-03 2.412851e-02 -5.239789e-07
## gp_n liabilities_n ncff_n ncfi_n
## 3.132127e-02 1.179486e-02 6.082073e-03 2.127348e-03
## ncfo_n netinc_n pb_n pe1_n
## -1.659867e-02 4.355670e-03 2.338616e-02 1.062316e-03
## sharesbas_n workingcapital_n
## -1.676590e-02 -4.167795e-03
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.0767 -0.1579 -0.0222 0.1090 9.2718
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.046962 0.006960 150.418 < 2e-16 ***
## cashnequsd_n 0.008706 0.011453 0.760 0.447228
## de_n -0.030122 0.008291 -3.633 0.000285 ***
## ebitda_n -0.032339 0.025047 -1.291 0.196753
## epsusd_n 0.007842 0.007377 1.063 0.287881
## equityusd_n -0.018382 0.013843 -1.328 0.184314
## fcf_n 0.029829 0.012093 2.467 0.013694 *
## revenueusd_n 0.002303 0.012474 0.185 0.853521
## gp_n 0.004026 0.015750 0.256 0.798289
## liabilities_n 0.016725 0.015224 1.099 0.272032
## ncff_n 0.002375 0.009405 0.253 0.800647
## ncfi_n -0.002119 0.010125 -0.209 0.834239
## ncfo_n -0.028778 0.016461 -1.748 0.080520 .
## netinc_n 0.024484 0.016957 1.444 0.148877
## pb_n 0.041362 0.007784 5.314 1.15e-07 ***
## pe1_n -0.003330 0.007427 -0.448 0.653950
## sharesbas_n 0.014326 0.010442 1.372 0.170174
## workingcapital_n -0.008316 0.011731 -0.709 0.478448
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3803 on 3031 degrees of freedom
## Multiple R-squared: 0.01705, Adjusted R-squared: 0.01153
## F-statistic: 3.092 on 17 and 3031 DF, p-value: 1.886e-05
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.046961766 0.008705597 -0.030121776 -0.032339042
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.007842033 -0.018381638 0.029829246 0.002303163
## gp_n liabilities_n ncff_n ncfi_n
## 0.004025533 0.016725328 0.002375124 -0.002119043
## ncfo_n netinc_n pb_n pe1_n
## -0.028778195 0.024483774 0.041362001 -0.003329704
## sharesbas_n workingcapital_n
## 0.014326462 -0.008315666
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.0702 -0.0984 -0.0168 0.0729 3.6536
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.015546 0.004476 226.879 < 2e-16 ***
## cashnequsd_n -0.002881 0.007409 -0.389 0.6974
## de_n 0.003155 0.005088 0.620 0.5353
## ebitda_n 0.011151 0.021394 0.521 0.6022
## epsusd_n 0.030992 0.005998 5.167 2.54e-07 ***
## equityusd_n -0.010728 0.008600 -1.247 0.2123
## fcf_n -0.008465 0.010189 -0.831 0.4061
## revenueusd_n 0.002751 0.008108 0.339 0.7344
## gp_n -0.005413 0.010095 -0.536 0.5919
## liabilities_n -0.007595 0.009706 -0.782 0.4340
## ncff_n 0.005152 0.006032 0.854 0.3931
## ncfi_n 0.007339 0.007481 0.981 0.3267
## ncfo_n 0.018955 0.013390 1.416 0.1570
## netinc_n -0.020254 0.015136 -1.338 0.1810
## pb_n 0.003227 0.004585 0.704 0.4817
## pe1_n 0.003429 0.004746 0.722 0.4701
## sharesbas_n 0.015358 0.006541 2.348 0.0189 *
## workingcapital_n 0.006685 0.007503 0.891 0.3730
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2409 on 2952 degrees of freedom
## Multiple R-squared: 0.01398, Adjusted R-squared: 0.008303
## F-statistic: 2.462 on 17 and 2952 DF, p-value: 0.0007486
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.015546035 -0.002880503 0.003154814 0.011151179
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.030991861 -0.010728027 -0.008465397 0.002751156
## gp_n liabilities_n ncff_n ncfi_n
## -0.005413008 -0.007594645 0.005151904 0.007339201
## ncfo_n netinc_n pb_n pe1_n
## 0.018955098 -0.020254242 0.003226630 0.003428626
## sharesbas_n workingcapital_n
## 0.015358152 0.006684846
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.9544 -0.1514 -0.0110 0.1166 4.7439
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.8885908 0.0055455 160.235 < 2e-16 ***
## cashnequsd_n -0.0135674 0.0094763 -1.432 0.152331
## de_n -0.0223872 0.0056202 -3.983 6.96e-05 ***
## ebitda_n -0.0012597 0.0169229 -0.074 0.940668
## epsusd_n 0.0220123 0.0061809 3.561 0.000375 ***
## equityusd_n -0.0054171 0.0103235 -0.525 0.599805
## fcf_n 0.0027840 0.0114814 0.242 0.808426
## revenueusd_n -0.0010612 0.0096297 -0.110 0.912255
## gp_n -0.0004978 0.0121695 -0.041 0.967376
## liabilities_n -0.0035640 0.0110125 -0.324 0.746239
## ncff_n 0.0037843 0.0083937 0.451 0.652137
## ncfi_n 0.0104430 0.0089251 1.170 0.242068
## ncfo_n 0.0112125 0.0156954 0.714 0.475049
## netinc_n 0.0276644 0.0112904 2.450 0.014333 *
## pb_n 0.0297970 0.0063648 4.681 2.98e-06 ***
## pe1_n 0.0017597 0.0062499 0.282 0.778307
## sharesbas_n -0.0029796 0.0077015 -0.387 0.698872
## workingcapital_n 0.0039041 0.0090917 0.429 0.667654
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2929 on 2917 degrees of freedom
## Multiple R-squared: 0.03455, Adjusted R-squared: 0.02892
## F-statistic: 6.14 on 17 and 2917 DF, p-value: 2.668e-14
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.8885907674 -0.0135673856 -0.0223871610 -0.0012596841
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0220122571 -0.0054171423 0.0027839927 -0.0010612370
## gp_n liabilities_n ncff_n ncfi_n
## -0.0004977758 -0.0035640025 0.0037842557 0.0104430203
## ncfo_n netinc_n pb_n pe1_n
## 0.0112125154 0.0276644462 0.0297969845 0.0017596601
## sharesbas_n workingcapital_n
## -0.0029795848 0.0039041170
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.9270 -0.1261 0.0009 0.1163 6.6550
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9442207 0.0050238 187.948 < 2e-16 ***
## cashnequsd_n 0.0022711 0.0084890 0.268 0.7891
## de_n -0.0087745 0.0059138 -1.484 0.1380
## ebitda_n -0.0026430 0.0180231 -0.147 0.8834
## epsusd_n 0.0413258 0.0066371 6.226 5.46e-10 ***
## equityusd_n 0.0108916 0.0095122 1.145 0.2523
## fcf_n 0.0146926 0.0121514 1.209 0.2267
## revenueusd_n 0.0044221 0.0087738 0.504 0.6143
## gp_n -0.0068771 0.0109429 -0.628 0.5298
## liabilities_n 0.0011850 0.0102469 0.116 0.9079
## ncff_n 0.0034061 0.0071176 0.479 0.6323
## ncfi_n 0.0093050 0.0079947 1.164 0.2446
## ncfo_n 0.0001371 0.0166571 0.008 0.9934
## netinc_n -0.0153577 0.0129551 -1.185 0.2359
## pb_n 0.0148945 0.0060074 2.479 0.0132 *
## pe1_n 0.0078760 0.0045762 1.721 0.0853 .
## sharesbas_n 0.0027947 0.0072016 0.388 0.6980
## workingcapital_n -0.0049031 0.0081686 -0.600 0.5484
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2688 on 2902 degrees of freedom
## Multiple R-squared: 0.023, Adjusted R-squared: 0.01728
## F-statistic: 4.019 on 17 and 2902 DF, p-value: 5.328e-08
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.9442206865 0.0022710774 -0.0087745201 -0.0026430098
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0413257993 0.0108915837 0.0146926259 0.0044220827
## gp_n liabilities_n ncff_n ncfi_n
## -0.0068770731 0.0011849757 0.0034061078 0.0093049824
## ncfo_n netinc_n pb_n pe1_n
## 0.0001370874 -0.0153577242 0.0148944871 0.0078759669
## sharesbas_n workingcapital_n
## 0.0027947221 -0.0049030674
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.9544 -0.1514 -0.0110 0.1166 4.7439
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.8885908 0.0055455 160.235 < 2e-16 ***
## cashnequsd_n -0.0135674 0.0094763 -1.432 0.152331
## de_n -0.0223872 0.0056202 -3.983 6.96e-05 ***
## ebitda_n -0.0012597 0.0169229 -0.074 0.940668
## epsusd_n 0.0220123 0.0061809 3.561 0.000375 ***
## equityusd_n -0.0054171 0.0103235 -0.525 0.599805
## fcf_n 0.0027840 0.0114814 0.242 0.808426
## revenueusd_n -0.0010612 0.0096297 -0.110 0.912255
## gp_n -0.0004978 0.0121695 -0.041 0.967376
## liabilities_n -0.0035640 0.0110125 -0.324 0.746239
## ncff_n 0.0037843 0.0083937 0.451 0.652137
## ncfi_n 0.0104430 0.0089251 1.170 0.242068
## ncfo_n 0.0112125 0.0156954 0.714 0.475049
## netinc_n 0.0276644 0.0112904 2.450 0.014333 *
## pb_n 0.0297970 0.0063648 4.681 2.98e-06 ***
## pe1_n 0.0017597 0.0062499 0.282 0.778307
## sharesbas_n -0.0029796 0.0077015 -0.387 0.698872
## workingcapital_n 0.0039041 0.0090917 0.429 0.667654
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2929 on 2917 degrees of freedom
## Multiple R-squared: 0.03455, Adjusted R-squared: 0.02892
## F-statistic: 6.14 on 17 and 2917 DF, p-value: 2.668e-14
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.8885907674 -0.0135673856 -0.0223871610 -0.0012596841
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.0220122571 -0.0054171423 0.0027839927 -0.0010612370
## gp_n liabilities_n ncff_n ncfi_n
## -0.0004977758 -0.0035640025 0.0037842557 0.0104430203
## ncfo_n netinc_n pb_n pe1_n
## 0.0112125154 0.0276644462 0.0297969845 0.0017596601
## sharesbas_n workingcapital_n
## -0.0029795848 0.0039041170
print(beta_matrix)
## (Intercept) cashnequsd_n de_n ebitda_n epsusd_n
## [1,] 0.8788905 -0.0043161488 -0.017262155 0.0258161550 0.0190799459
## [2,] 0.8788905 -0.0043161488 -0.017262155 0.0258161550 0.0190799459
## [3,] 0.9458514 -0.0428068895 0.428906050 -0.0199313731 0.0327520415
## [4,] 1.1227447 -0.0069652046 0.001199123 -0.0078248207 0.0271173666
## [5,] 0.9826584 0.0024225680 0.010313471 -0.0119237016 0.0163807223
## [6,] 0.9820513 -0.0057744053 -0.012213846 -0.0251710928 0.0172162573
## [7,] 1.0226165 -0.0073483536 -0.009464200 0.0194795071 0.0259921791
## [8,] 1.1326587 0.0074540869 -0.001537071 -0.0004742764 0.0126661989
## [9,] 1.0473682 0.0020662276 0.004493970 0.0035653052 0.0219432255
## [10,] 1.0988404 0.0070186190 -0.006092690 -0.0100701801 0.0258091046
## [11,] 1.0779549 -0.0001760021 0.006027078 0.0102945423 0.0197099870
## [12,] 1.1244176 0.0101455170 -0.046317008 -0.0228807075 -0.0002877731
## [13,] 0.9657672 -0.0062570260 -0.001413019 -0.0015179185 0.0363460212
## [14,] 1.0100803 0.0118106846 -0.002522754 -0.0174550010 0.0266494241
## [15,] 0.9877561 0.0088199251 -0.007629922 -0.0436944631 0.0315871297
## [16,] 1.0469618 0.0087055975 -0.030121776 -0.0323390425 0.0078420334
## [17,] 1.0155460 -0.0028805026 0.003154814 0.0111511787 0.0309918606
## [18,] 0.8885908 -0.0135673856 -0.022387161 -0.0012596841 0.0220122571
## [19,] 0.9442207 0.0022710774 -0.008774520 -0.0026430098 0.0413257993
## [20,] 0.8885908 -0.0135673856 -0.022387161 -0.0012596841 0.0220122571
## equityusd_n fcf_n revenueusd_n gp_n liabilities_n
## [1,] -0.016003077 -0.0033134352 -5.181383e-03 0.0022279625 -0.0046999241
## [2,] -0.016003077 -0.0033134352 -5.181383e-03 0.0022279625 -0.0046999241
## [3,] 0.031469606 0.0368658317 -2.273328e-03 -0.0196365440 -0.1275810425
## [4,] -0.010380674 0.0124861547 9.139129e-03 -0.0039288370 0.0001761497
## [5,] -0.012838624 0.0254930678 -4.831648e-03 0.0140562705 0.0058806848
## [6,] 0.001750056 0.0094593301 -2.535755e-03 0.0037080501 0.0069105982
## [7,] -0.005062053 0.0083574601 1.349211e-02 0.0015231951 0.0062931126
## [8,] -0.009062196 0.0100693410 7.135091e-03 -0.0134158058 0.0045670308
## [9,] -0.016624721 0.0043539818 -7.392527e-03 0.0117395498 0.0085783079
## [10,] -0.023573922 0.0017789229 9.467091e-03 0.0090535453 -0.0028651327
## [11,] -0.009032527 0.0053643661 -7.812012e-03 0.0001711704 -0.0018660383
## [12,] -0.029756869 0.0237160400 -1.599933e-02 -0.0206878519 0.0313527633
## [13,] -0.001697999 -0.0154614220 1.593571e-02 -0.0066065531 0.0091189683
## [14,] -0.008871798 -0.0008174622 3.193082e-04 -0.0023616682 0.0049472143
## [15,] 0.007665846 0.0241285079 -5.239789e-07 0.0313212655 0.0117948602
## [16,] -0.018381638 0.0298292465 2.303163e-03 0.0040255334 0.0167253277
## [17,] -0.010728027 -0.0084653972 2.751156e-03 -0.0054130083 -0.0075946450
## [18,] -0.005417142 0.0027839927 -1.061237e-03 -0.0004977758 -0.0035640025
## [19,] 0.010891584 0.0146926259 4.422083e-03 -0.0068770731 0.0011849757
## [20,] -0.005417142 0.0027839927 -1.061237e-03 -0.0004977758 -0.0035640025
## ncff_n ncfi_n ncfo_n netinc_n pb_n
## [1,] -0.005407592 0.0019380137 0.0118384669 0.002424616 0.0382133198
## [2,] -0.005407592 0.0019380137 0.0118384669 0.002424616 0.0382133198
## [3,] 0.003944086 -0.0004256415 -0.0055202180 0.027444713 -0.9197303263
## [4,] 0.004672207 0.0035366541 -0.0053632509 -0.011456173 0.0266307597
## [5,] 0.001104371 -0.0081863164 -0.0164564075 0.010193037 0.0010554296
## [6,] 0.003741487 0.0067792891 0.0025473116 0.020284573 0.0291012648
## [7,] 0.001829869 0.0095761527 -0.0019712597 -0.021116413 0.0326533721
## [8,] 0.003688204 0.0041309594 0.0031214186 -0.016646758 0.0282163322
## [9,] 0.005078370 0.0061015843 0.0010322861 -0.004610528 0.0041752748
## [10,] 0.008489286 0.0029976101 0.0002329960 -0.008919439 0.0130289586
## [11,] 0.006506746 0.0012455538 0.0042574800 -0.005806397 0.0213426106
## [12,] 0.002881944 0.0021916891 -0.0174222921 0.011672389 0.0725290948
## [13,] 0.001009044 -0.0009621214 0.0256371898 -0.004216072 0.0008506684
## [14,] 0.003828291 0.0031718286 0.0179212336 -0.001869139 0.0057575836
## [15,] 0.006082073 0.0021273483 -0.0165986711 0.004355670 0.0233861569
## [16,] 0.002375124 -0.0021190430 -0.0287781949 0.024483774 0.0413620005
## [17,] 0.005151904 0.0073392010 0.0189550976 -0.020254242 0.0032266298
## [18,] 0.003784256 0.0104430203 0.0112125154 0.027664446 0.0297969845
## [19,] 0.003406108 0.0093049824 0.0001370874 -0.015357724 0.0148944871
## [20,] 0.003784256 0.0104430203 0.0112125154 0.027664446 0.0297969845
## pe1_n sharesbas_n workingcapital_n
## [1,] 1.539296e-02 -4.727553e-05 -0.0046998624
## [2,] 1.539296e-02 -4.727553e-05 -0.0046998624
## [3,] 3.085291e-02 1.047645e-01 -0.0182780017
## [4,] -5.751800e-03 9.251791e-03 0.0080114680
## [5,] 3.298180e-03 -1.991346e-03 -0.0007457874
## [6,] 2.635297e-03 2.990234e-03 -0.0161457922
## [7,] 1.780777e-03 -6.782725e-03 0.0040979674
## [8,] 2.890330e-03 1.116457e-03 0.0021681931
## [9,] -7.045462e-04 8.114760e-03 -0.0032876576
## [10,] -3.912514e-05 6.323761e-03 -0.0012274764
## [11,] 1.291518e-03 -1.285222e-02 -0.0030276565
## [12,] -9.987083e-03 1.503552e-02 -0.0018128439
## [13,] 7.328043e-03 -2.433211e-03 0.0038923450
## [14,] -6.005884e-04 6.649537e-03 -0.0023348239
## [15,] 1.062316e-03 -1.676590e-02 -0.0041677947
## [16,] -3.329704e-03 1.432646e-02 -0.0083156662
## [17,] 3.428626e-03 1.535815e-02 0.0066848459
## [18,] 1.759660e-03 -2.979585e-03 0.0039041170
## [19,] 7.875967e-03 2.794722e-03 -0.0049030674
## [20,] 1.759660e-03 -2.979585e-03 0.0039041170
df_date <- unique(stock_factors_date$calendardate)
df_date <- data.frame(matrix(unlist(caldates), nrow=20, byrow=T))
colnames(df_date)[1] <- "dt"
beta_matrix <- cbind(beta_matrix, df_date)
colnames(beta_matrix)[1] <- "intercept"
new_beta_matrix <- beta_matrix[1,]
pred_beta_list <- new_beta_matrix[1,]
#### Function compute future date betas --------
pred_beta_list <- find_future_beta(beta_matrix)


























































































###### Compute return_price with predicted Betas #############
date16_pred_beta.list <- as.list(pred_beta_list[1,-19])
date17_pred_beta.list <- as.list(pred_beta_list[2,-19])
date18_pred_beta.list <- as.list(pred_beta_list[3,-19])
date19_pred_beta.list <- as.list(pred_beta_list[4,-19])
stock_factor_2014_12_31 <- as.data.frame(my.list[16])
stock_factor_2014_12_31<- pred_stock_returns(stock_factor_2014_12_31,date16_pred_beta.list)
stock_factor_2015_03_31 <- as.data.frame(my.list[17])
stock_factor_2015_03_31<- pred_stock_returns(stock_factor_2015_03_31,date17_pred_beta.list)
stock_factor_2015_06_30 <- as.data.frame(my.list[18])
stock_factor_2015_06_30<- pred_stock_returns(stock_factor_2015_06_30,date18_pred_beta.list)
stock_factor_2015_09_30 <- as.data.frame(my.list[19])
stock_factor_2015_09_30<- pred_stock_returns(stock_factor_2015_09_30,date19_pred_beta.list)
#View(stock_factor_2014_12_31)
#View(stock_factor_2015_03_31)
#View(stock_factor_2014_06_30)
#View(stock_factor_2015_09_30)
#stock_factor_2015_09_30 <- na.omit(stock_factor_2015_09_30)
sorted_stock_factor_2014_12_31 <-stock_factor_2014_12_31[order(-stock_factor_2014_12_31$pred_returnPrice),]
sorted_stock_factor_2015_03_31 <-stock_factor_2015_03_31[order(-stock_factor_2015_03_31$pred_returnPrice),]
sorted_stock_factor_2015_06_30 <-stock_factor_2015_06_30[order(-stock_factor_2015_06_30$pred_returnPrice),]
sorted_stock_factor_2015_09_30 <-stock_factor_2015_09_30[order(-stock_factor_2015_09_30$pred_returnPrice),]
qlist1 <- make_quantiles(sorted_stock_factor_2014_12_31)
qlist2 <- make_quantiles(sorted_stock_factor_2015_03_31)
qlist3 <- make_quantiles(sorted_stock_factor_2015_06_30)
qlist4 <- make_quantiles(sorted_stock_factor_2015_09_30 )
x1<- unlist(qlist1[1])
y1<- unlist(qlist1[2])
x2 <- unlist(qlist2[1])
y2 <- unlist(qlist2[2])
x3 <- unlist(qlist3[1])
y3 <- unlist(qlist3[2])
x4 <- unlist(qlist4[1])
y4 <- unlist(qlist4[2])
x1_name <- "dt16_q"
y1_name <- "dt16_pred"
x2_name <- "dt17_q"
y2_name <- "dt17_pred"
x3_name <- "dt18_q"
y3_name <- "dt18_pred"
x4_name <- "dt9_q"
y4_name <- "dt9_pred"
final_quantile<- data.frame(x1,y1,x2,y2,x3,y3,x4,y4)
names(final_quantile) <- c(x1_name,y1_name,x2_name,y2_name,x3_name,y3_name,x4_name,y4_name)
print(final_quantile)
## dt16_q dt16_pred dt17_q dt17_pred dt18_q dt18_pred dt9_q
## 1 1.035033 0.9912871 1.0347609 1.0235244 0.9072839 0.9986483 0.9676522
## 2 1.029918 0.9564394 1.0317612 0.9733213 0.9120856 0.9660427 0.9620360
## 3 1.020743 0.9489124 1.0231108 0.9615536 0.8963722 0.9579110 0.9373650
## 4 1.027310 0.9373252 0.9904714 0.9501743 0.8495582 0.9468296 0.9343749
## 5 1.120513 0.8884710 0.9891082 0.9012874 0.8498672 0.8995058 0.9126117
## dt9_pred
## 1 0.9835349
## 2 0.9493933
## 3 0.9398078
## 4 0.9294456
## 5 0.8862982