# 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 = 1
end = 1
end_file <- nrow(sorted_data)
#print(end_file)
quantile_list = list()
quantile_pred_list = list()
for (i in 1:5){
start = 1+20*(i-1)
if( i == 5 ) {
end <- end_file
}else {
end <- i*20
}
#print(start)
#print(end)
Quantile <- sorted_data[start:end,]
quantile_list[i] <- mean(Quantile$return_price)
quantile_pred_list[i] <- mean(Quantile$pred_returnPrice)
}
list (quantile_list , quantile_pred_list)
}
######################################################
####### Code starts here ###########################
#######################################################
sink()
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)
data_file_ARQ <- read.csv('/Users/jyothi/Desktop/predictive/data_file_ARQ.csv', header = T, sep =',')
IWB_holdings <- read.delim("/Users/jyothi/Desktop/predictive/IWB_holdings.csv")
# Information Technology
IWB_holdings_sector <- subset(IWB_holdings, Sector == 'Information Technology')
#View(IWB_holdings)
merge_df <- merge(data_file_ARQ, IWB_holdings_sector)
colnames(merge_df)
## [1] "ticker" "dimension" "calendardate" "datekey"
## [5] "reportperiod" "accoci" "assets" "assetsavg"
## [9] "assetsc" "assetsnc" "assetturnover" "bvps"
## [13] "capex" "cashneq" "cashnequsd" "cor"
## [17] "currentratio" "de" "debt" "debtusd"
## [21] "depamor" "divyield" "dps" "ebit"
## [25] "ebitda" "ebitdamargin" "ebitdausd" "ebitusd"
## [29] "ebt" "eps" "epsdil" "epsusd"
## [33] "equity" "equityavg" "equityusd" "ev"
## [37] "evebit" "evebitda" "fcf" "fcfps"
## [41] "fxusd" "gp" "grossmargin" "intangibles"
## [45] "intexp" "invcap" "invcapavg" "inventory"
## [49] "liabilities" "liabilitiesc" "liabilitiesnc" "marketcap"
## [53] "ncf" "ncfcommon" "ncfdebt" "ncfdiv"
## [57] "ncff" "ncfi" "ncfo" "ncfx"
## [61] "netinc" "netinccmn" "netinccmnusd" "netincdis"
## [65] "netmargin" "payables" "payoutratio" "pb"
## [69] "pe" "pe1" "prefdivis" "price"
## [73] "ps" "ps1" "receivables" "retearn"
## [77] "revenue" "revenueusd" "rnd" "roa"
## [81] "roe" "roic" "ros" "sgna"
## [85] "sharefactor" "sharesbas" "shareswa" "shareswadil"
## [89] "sps" "tangibles" "taxexp" "tbvps"
## [93] "workingcapital" "Name" "Asset.Class" "Weight...."
## [97] "Price" "Shares" "Market.Value" "Notional.Value"
## [101] "Sector" "SEDOL" "ISIN" "Exchange"
merge_df <- merge_df[-c(94:104) ]
#View(merge_df)
stock_data <- merge_df
colnames(stock_data)
## [1] "ticker" "dimension" "calendardate" "datekey"
## [5] "reportperiod" "accoci" "assets" "assetsavg"
## [9] "assetsc" "assetsnc" "assetturnover" "bvps"
## [13] "capex" "cashneq" "cashnequsd" "cor"
## [17] "currentratio" "de" "debt" "debtusd"
## [21] "depamor" "divyield" "dps" "ebit"
## [25] "ebitda" "ebitdamargin" "ebitdausd" "ebitusd"
## [29] "ebt" "eps" "epsdil" "epsusd"
## [33] "equity" "equityavg" "equityusd" "ev"
## [37] "evebit" "evebitda" "fcf" "fcfps"
## [41] "fxusd" "gp" "grossmargin" "intangibles"
## [45] "intexp" "invcap" "invcapavg" "inventory"
## [49] "liabilities" "liabilitiesc" "liabilitiesnc" "marketcap"
## [53] "ncf" "ncfcommon" "ncfdebt" "ncfdiv"
## [57] "ncff" "ncfi" "ncfo" "ncfx"
## [61] "netinc" "netinccmn" "netinccmnusd" "netincdis"
## [65] "netmargin" "payables" "payoutratio" "pb"
## [69] "pe" "pe1" "prefdivis" "price"
## [73] "ps" "ps1" "receivables" "retearn"
## [77] "revenue" "revenueusd" "rnd" "roa"
## [81] "roe" "roic" "ros" "sgna"
## [85] "sharefactor" "sharesbas" "shareswa" "shareswadil"
## [89] "sps" "tangibles" "taxexp" "tbvps"
## [93] "workingcapital"
#colnames(stock_data)
stock_data <- compute_return_price(stock_data)
stock_factors <- na.omit(stock_data[indicator_list])
#View(stock_factors)
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.00000000 0.69639811 0.097921199 0.724801047
## cashnequsd 0.69639811 1.00000000 -0.050151023 0.637595890
## de 0.09792120 -0.05015102 1.000000000 0.029416971
## ebitda 0.72480105 0.63759589 0.029416971 1.000000000
## ebitusd 0.61585197 0.55873289 0.021321732 0.967781732
## epsusd 0.23199783 0.15043216 0.058831330 0.483944037
## equityusd 0.83699575 0.68823929 -0.077642059 0.623766881
## fcf 0.48959441 0.50065483 0.019141758 0.633326398
## revenueusd 0.68063844 0.46364081 0.058721442 0.598128410
## gp 0.80919764 0.74396038 0.004867728 0.814970143
## liabilities 0.90624208 0.55180359 0.211711732 0.644739894
## ncff -0.17918768 -0.17367063 0.075074390 -0.288316119
## ncfi -0.23789751 -0.10626588 -0.051714648 -0.153728030
## ncfo 0.57740498 0.56072944 0.016613246 0.692782206
## netinc 0.55974446 0.57128194 -0.021246769 0.929676449
## pb -0.10101095 -0.09426541 0.698364849 -0.089557268
## pe1 -0.04310139 -0.01916197 0.002213804 -0.001772147
## sharesbas 0.55612024 0.55985953 -0.053109188 0.444279257
## tangibles 0.85843710 0.70243765 0.084979391 0.680255692
## workingcapital 0.62651170 0.57397347 0.038326287 0.495174066
## ebitusd epsusd equityusd fcf
## assets 0.615851971 0.231997828 0.83699575 0.48959441
## cashnequsd 0.558732886 0.150432157 0.68823929 0.50065483
## de 0.021321732 0.058831330 -0.07764206 0.01914176
## ebitda 0.967781732 0.483944037 0.62376688 0.63332640
## ebitusd 1.000000000 0.525699784 0.52987713 0.61176561
## epsusd 0.525699784 1.000000000 0.16011215 0.22138204
## equityusd 0.529877127 0.160112149 1.00000000 0.44965606
## fcf 0.611765614 0.221382041 0.44965606 1.00000000
## revenueusd 0.544506432 0.292230498 0.48260532 0.33448774
## gp 0.765096941 0.225003356 0.71489175 0.63374488
## liabilities 0.548711525 0.237645613 0.52756536 0.41378577
## ncff -0.280664193 -0.134915724 -0.17981275 -0.24378715
## ncfi -0.123915975 -0.002043466 -0.18713471 -0.16736464
## ncfo 0.642388261 0.226854602 0.53318574 0.97586985
## netinc 0.963005098 0.558293818 0.53502449 0.57589042
## pb -0.076718009 -0.068649890 -0.13725153 -0.03520709
## pe1 0.007698045 0.005097213 -0.02403983 -0.01112517
## sharesbas 0.403023137 -0.117372306 0.63446267 0.37717047
## tangibles 0.600945352 0.283854898 0.70393622 0.44949108
## workingcapital 0.472787053 0.227301301 0.66377933 0.35334311
## revenueusd gp liabilities ncff
## assets 0.68063844 0.809197637 0.90624208 -0.17918768
## cashnequsd 0.46364081 0.743960377 0.55180359 -0.17367063
## de 0.05872144 0.004867728 0.21171173 0.07507439
## ebitda 0.59812841 0.814970143 0.64473989 -0.28831612
## ebitusd 0.54450643 0.765096941 0.54871152 -0.28066419
## epsusd 0.29223050 0.225003356 0.23764561 -0.13491572
## equityusd 0.48260532 0.714891751 0.52756536 -0.17981275
## fcf 0.33448774 0.633744881 0.41378577 -0.24378715
## revenueusd 1.00000000 0.642293733 0.68658752 -0.18966980
## gp 0.64229373 1.000000000 0.70622983 -0.28853777
## liabilities 0.68658752 0.706229829 1.00000000 -0.14047576
## ncff -0.18966980 -0.288537769 -0.14047576 1.00000000
## ncfi -0.11705779 -0.181130404 -0.22461909 -0.48806912
## ncfo 0.40462296 0.681430695 0.48547018 -0.24789622
## netinc 0.49725287 0.727329918 0.45769383 -0.27637493
## pb -0.07848427 -0.061518602 -0.05072636 0.04956667
## pe1 -0.05019492 -0.052943518 -0.04883284 -0.00759318
## sharesbas 0.24048668 0.657417877 0.37444197 -0.16100976
## tangibles 0.77179559 0.764493936 0.79144821 -0.15967543
## workingcapital 0.52069166 0.538704046 0.46174928 -0.08880563
## ncfi ncfo netinc pb
## assets -0.237897513 0.57740498 0.55974446 -0.101010949
## cashnequsd -0.106265885 0.56072944 0.57128194 -0.094265406
## de -0.051714648 0.01661325 -0.02124677 0.698364849
## ebitda -0.153728030 0.69278221 0.92967645 -0.089557268
## ebitusd -0.123915975 0.64238826 0.96300510 -0.076718009
## epsusd -0.002043466 0.22685460 0.55829382 -0.068649890
## equityusd -0.187134709 0.53318574 0.53502449 -0.137251528
## fcf -0.167364642 0.97586985 0.57589042 -0.035207087
## revenueusd -0.117057788 0.40462296 0.49725287 -0.078484265
## gp -0.181130404 0.68143069 0.72732992 -0.061518602
## liabilities -0.224619091 0.48547018 0.45769383 -0.050726358
## ncff -0.488069121 -0.24789622 -0.27637493 0.049566673
## ncfi 1.000000000 -0.20377781 -0.11190257 0.038038105
## ncfo -0.203777812 1.00000000 0.60570115 -0.052941711
## netinc -0.111902568 0.60570115 1.00000000 -0.084997099
## pb 0.038038105 -0.05294171 -0.08499710 1.000000000
## pe1 0.015625456 -0.01461507 0.01895074 -0.008853833
## sharesbas -0.152221311 0.41523598 0.39546374 -0.051965768
## tangibles -0.221951074 0.54210226 0.57801199 -0.091894073
## workingcapital -0.168723678 0.40180602 0.48682487 -0.083543879
## pe1 sharesbas tangibles workingcapital
## assets -0.043101391 0.55612024 0.85843710 0.626511697
## cashnequsd -0.019161966 0.55985953 0.70243765 0.573973470
## de 0.002213804 -0.05310919 0.08497939 0.038326287
## ebitda -0.001772147 0.44427926 0.68025569 0.495174066
## ebitusd 0.007698045 0.40302314 0.60094535 0.472787053
## epsusd 0.005097213 -0.11737231 0.28385490 0.227301301
## equityusd -0.024039832 0.63446267 0.70393622 0.663779327
## fcf -0.011125172 0.37717047 0.44949108 0.353343110
## revenueusd -0.050194918 0.24048668 0.77179559 0.520691658
## gp -0.052943518 0.65741788 0.76449394 0.538704046
## liabilities -0.048832835 0.37444197 0.79144821 0.461749282
## ncff -0.007593180 -0.16100976 -0.15967543 -0.088805626
## ncfi 0.015625456 -0.15222131 -0.22195107 -0.168723678
## ncfo -0.014615066 0.41523598 0.54210226 0.401806017
## netinc 0.018950739 0.39546374 0.57801199 0.486824871
## pb -0.008853833 -0.05196577 -0.09189407 -0.083543879
## pe1 1.000000000 -0.09431443 -0.04310713 0.007477473
## sharesbas -0.094314433 1.00000000 0.45528338 0.383620454
## tangibles -0.043107125 0.45528338 1.00000000 0.797023338
## workingcapital 0.007477473 0.38362045 0.79702334 1.000000000
stock_factors <- stock_factors[ , -c(2,6,20)]
#View(stock_factors)
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)
#View(stock_factors_date)
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
## -1.67448 -0.20630 -0.03271 0.22905 2.73272
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.671671 0.097112 6.916 3.47e-09 ***
## cashnequsd_n -0.087833 0.132184 -0.664 0.5089
## de_n 0.083360 0.087929 0.948 0.3469
## ebitda_n -1.121859 0.460957 -2.434 0.0179 *
## epsusd_n 0.107495 0.067810 1.585 0.1182
## equityusd_n 0.128233 0.179527 0.714 0.4778
## fcf_n -1.911523 0.365649 -5.228 2.28e-06 ***
## revenueusd_n -0.008647 0.146513 -0.059 0.9531
## gp_n 0.416428 0.252665 1.648 0.1046
## liabilities_n -0.283434 0.228703 -1.239 0.2201
## ncff_n 0.179728 0.100571 1.787 0.0790 .
## ncfi_n 0.265999 0.103190 2.578 0.0124 *
## ncfo_n 2.052307 0.438780 4.677 1.70e-05 ***
## netinc_n 0.890133 0.491508 1.811 0.0751 .
## pb_n 0.094364 0.305157 0.309 0.7582
## pe1_n -0.145057 0.138441 -1.048 0.2989
## sharesbas_n 0.083132 0.110417 0.753 0.4545
## workingcapital_n -0.316859 0.185039 -1.712 0.0920 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5766 on 60 degrees of freedom
## Multiple R-squared: 0.4485, Adjusted R-squared: 0.2922
## F-statistic: 2.87 on 17 and 60 DF, p-value: 0.001363
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.671671106 -0.087833052 0.083359844 -1.121859156
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.107495153 0.128233375 -1.911523009 -0.008646812
## gp_n liabilities_n ncff_n ncfi_n
## 0.416427937 -0.283434149 0.179728401 0.265999331
## ncfo_n netinc_n pb_n pe1_n
## 2.052306582 0.890133156 0.094363742 -0.145057063
## sharesbas_n workingcapital_n
## 0.083131550 -0.316859315
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.67448 -0.20630 -0.03271 0.22905 2.73272
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.671671 0.097112 6.916 3.47e-09 ***
## cashnequsd_n -0.087833 0.132184 -0.664 0.5089
## de_n 0.083360 0.087929 0.948 0.3469
## ebitda_n -1.121859 0.460957 -2.434 0.0179 *
## epsusd_n 0.107495 0.067810 1.585 0.1182
## equityusd_n 0.128233 0.179527 0.714 0.4778
## fcf_n -1.911523 0.365649 -5.228 2.28e-06 ***
## revenueusd_n -0.008647 0.146513 -0.059 0.9531
## gp_n 0.416428 0.252665 1.648 0.1046
## liabilities_n -0.283434 0.228703 -1.239 0.2201
## ncff_n 0.179728 0.100571 1.787 0.0790 .
## ncfi_n 0.265999 0.103190 2.578 0.0124 *
## ncfo_n 2.052307 0.438780 4.677 1.70e-05 ***
## netinc_n 0.890133 0.491508 1.811 0.0751 .
## pb_n 0.094364 0.305157 0.309 0.7582
## pe1_n -0.145057 0.138441 -1.048 0.2989
## sharesbas_n 0.083132 0.110417 0.753 0.4545
## workingcapital_n -0.316859 0.185039 -1.712 0.0920 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5766 on 60 degrees of freedom
## Multiple R-squared: 0.4485, Adjusted R-squared: 0.2922
## F-statistic: 2.87 on 17 and 60 DF, p-value: 0.001363
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.671671106 -0.087833052 0.083359844 -1.121859156
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.107495153 0.128233375 -1.911523009 -0.008646812
## gp_n liabilities_n ncff_n ncfi_n
## 0.416427937 -0.283434149 0.179728401 0.265999331
## ncfo_n netinc_n pb_n pe1_n
## 2.052306582 0.890133156 0.094363742 -0.145057063
## sharesbas_n workingcapital_n
## 0.083131550 -0.316859315
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.72864 -0.17813 -0.00991 0.14063 1.51557
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.713838 0.054446 13.111 <2e-16 ***
## cashnequsd_n 0.009736 0.086185 0.113 0.910
## de_n 0.078729 0.066462 1.185 0.241
## ebitda_n -0.067134 0.308828 -0.217 0.829
## epsusd_n -0.062501 0.073009 -0.856 0.395
## equityusd_n 0.048735 0.103178 0.472 0.638
## fcf_n -0.288049 0.271942 -1.059 0.294
## revenueusd_n 0.041919 0.089931 0.466 0.643
## gp_n -0.044541 0.148280 -0.300 0.765
## liabilities_n -0.076397 0.164555 -0.464 0.644
## ncff_n -0.078970 0.085820 -0.920 0.361
## ncfi_n 0.008657 0.065856 0.131 0.896
## ncfo_n 0.150615 0.280031 0.538 0.593
## netinc_n 0.167708 0.275555 0.609 0.545
## pb_n -0.049730 0.105702 -0.470 0.640
## pe1_n -0.026646 0.058929 -0.452 0.653
## sharesbas_n 0.037475 0.072182 0.519 0.605
## workingcapital_n -0.035040 0.080932 -0.433 0.667
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3823 on 63 degrees of freedom
## Multiple R-squared: 0.1162, Adjusted R-squared: -0.1223
## F-statistic: 0.4873 on 17 and 63 DF, p-value: 0.9498
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.713837921 0.009735691 0.078729135 -0.067133910
## epsusd_n equityusd_n fcf_n revenueusd_n
## -0.062501268 0.048734566 -0.288048767 0.041919400
## gp_n liabilities_n ncff_n ncfi_n
## -0.044540558 -0.076396977 -0.078970474 0.008656821
## ncfo_n netinc_n pb_n pe1_n
## 0.150615313 0.167707537 -0.049729991 -0.026645633
## sharesbas_n workingcapital_n
## 0.037475235 -0.035039662
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.84706 -0.22720 0.05663 0.24317 1.04996
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.770580 0.067940 11.342 <2e-16 ***
## cashnequsd_n 0.010774 0.099522 0.108 0.9142
## de_n 0.068898 0.103751 0.664 0.5092
## ebitda_n -0.161236 0.255913 -0.630 0.5311
## epsusd_n -0.003568 0.171920 -0.021 0.9835
## equityusd_n 0.027445 0.117675 0.233 0.8164
## fcf_n 0.344832 0.478354 0.721 0.4738
## revenueusd_n 0.153631 0.096752 1.588 0.1176
## gp_n -0.102724 0.166308 -0.618 0.5391
## liabilities_n -0.024378 0.163273 -0.149 0.8818
## ncff_n 0.249446 0.130205 1.916 0.0602 .
## ncfi_n 0.034745 0.115931 0.300 0.7654
## ncfo_n -0.474825 0.516650 -0.919 0.3618
## netinc_n 0.236371 0.280989 0.841 0.4036
## pb_n -0.034298 0.097874 -0.350 0.7272
## pe1_n 0.062025 0.050616 1.225 0.2252
## sharesbas_n 0.135384 0.097565 1.388 0.1704
## workingcapital_n -0.086164 0.108770 -0.792 0.4314
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4116 on 60 degrees of freedom
## Multiple R-squared: 0.2221, Adjusted R-squared: 0.001703
## F-statistic: 1.008 on 17 and 60 DF, p-value: 0.4632
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.770579681 0.010773691 0.068898088 -0.161236348
## epsusd_n equityusd_n fcf_n revenueusd_n
## -0.003567968 0.027444567 0.344831598 0.153631392
## gp_n liabilities_n ncff_n ncfi_n
## -0.102723670 -0.024378420 0.249445579 0.034744878
## ncfo_n netinc_n pb_n pe1_n
## -0.474825265 0.236371375 -0.034298382 0.062025007
## sharesbas_n workingcapital_n
## 0.135384061 -0.086164240
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.99766 -0.23426 0.04777 0.25684 0.81180
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.92024 0.05566 16.533 < 2e-16 ***
## cashnequsd_n 0.21309 0.09499 2.243 0.02852 *
## de_n -0.42058 0.15649 -2.688 0.00926 **
## ebitda_n -0.01299 0.27315 -0.048 0.96222
## epsusd_n 0.52790 0.07000 7.542 2.71e-10 ***
## equityusd_n -0.12148 0.11792 -1.030 0.30698
## fcf_n 0.01295 0.43055 0.030 0.97610
## revenueusd_n 0.06792 0.10430 0.651 0.51739
## gp_n -0.09929 0.16395 -0.606 0.54700
## liabilities_n 0.09362 0.18392 0.509 0.61257
## ncff_n 0.17111 0.10746 1.592 0.11648
## ncfi_n 0.06057 0.08316 0.728 0.46915
## ncfo_n 0.12278 0.52414 0.234 0.81557
## netinc_n -0.45369 0.20418 -2.222 0.03000 *
## pb_n 0.29255 0.10290 2.843 0.00607 **
## pe1_n 0.12596 0.06490 1.941 0.05689 .
## sharesbas_n 0.18691 0.08997 2.078 0.04197 *
## workingcapital_n -0.02538 0.09180 -0.276 0.78313
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3989 on 61 degrees of freedom
## Multiple R-squared: 0.6269, Adjusted R-squared: 0.523
## F-statistic: 6.03 on 17 and 61 DF, p-value: 7.712e-08
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.92024307 0.21309429 -0.42057521 -0.01299234
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.52789752 -0.12148030 0.01294913 0.06791670
## gp_n liabilities_n ncff_n ncfi_n
## -0.09929460 0.09362256 0.17111146 0.06057153
## ncfo_n netinc_n pb_n pe1_n
## 0.12278493 -0.45368544 0.29254870 0.12596422
## sharesbas_n workingcapital_n
## 0.18690849 -0.02537872
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.84061 -0.19962 0.06721 0.20882 0.46241
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.778111 0.038542 20.189 <2e-16 ***
## cashnequsd_n 0.022435 0.074284 0.302 0.7636
## de_n -0.123064 0.118064 -1.042 0.3009
## ebitda_n -0.161579 0.203958 -0.792 0.4310
## epsusd_n -0.016629 0.054652 -0.304 0.7618
## equityusd_n -0.004181 0.084484 -0.049 0.9607
## fcf_n 0.278714 0.241167 1.156 0.2519
## revenueusd_n -0.010274 0.065422 -0.157 0.8757
## gp_n 0.102377 0.121893 0.840 0.4039
## liabilities_n 0.032131 0.104867 0.306 0.7602
## ncff_n -0.057225 0.064298 -0.890 0.3766
## ncfi_n -0.080149 0.044241 -1.812 0.0745 .
## ncfo_n -0.285998 0.259384 -1.103 0.2741
## netinc_n 0.105156 0.189989 0.553 0.5817
## pb_n 0.099261 0.067690 1.466 0.1471
## pe1_n -0.009838 0.037962 -0.259 0.7963
## sharesbas_n -0.081369 0.066563 -1.222 0.2258
## workingcapital_n -0.095113 0.071934 -1.322 0.1905
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3302 on 68 degrees of freedom
## Multiple R-squared: 0.2171, Adjusted R-squared: 0.0214
## F-statistic: 1.109 on 17 and 68 DF, p-value: 0.3638
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.778110888 0.022434521 -0.123064346 -0.161579273
## epsusd_n equityusd_n fcf_n revenueusd_n
## -0.016628963 -0.004181429 0.278713813 -0.010274131
## gp_n liabilities_n ncff_n ncfi_n
## 0.102377393 0.032131132 -0.057225324 -0.080148709
## ncfo_n netinc_n pb_n pe1_n
## -0.285998352 0.105156376 0.099261086 -0.009838432
## sharesbas_n workingcapital_n
## -0.081368799 -0.095112639
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.83967 -0.13509 0.00482 0.14288 0.67375
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.788532 0.042353 18.618 <2e-16 ***
## cashnequsd_n -0.040636 0.098410 -0.413 0.681
## de_n 0.086943 0.082293 1.057 0.295
## ebitda_n -0.117236 0.209737 -0.559 0.578
## epsusd_n 0.023415 0.057913 0.404 0.687
## equityusd_n -0.053077 0.103676 -0.512 0.610
## fcf_n -0.073660 0.234389 -0.314 0.754
## revenueusd_n -0.100840 0.078611 -1.283 0.204
## gp_n 0.035776 0.150055 0.238 0.812
## liabilities_n 0.105036 0.104259 1.007 0.317
## ncff_n 0.035530 0.065869 0.539 0.591
## ncfi_n 0.058208 0.060144 0.968 0.337
## ncfo_n 0.097535 0.257891 0.378 0.707
## netinc_n 0.143334 0.172693 0.830 0.410
## pb_n -0.208933 0.128481 -1.626 0.109
## pe1_n -0.032864 0.047979 -0.685 0.496
## sharesbas_n -0.008687 0.067284 -0.129 0.898
## workingcapital_n -0.001412 0.067837 -0.021 0.983
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3454 on 65 degrees of freedom
## Multiple R-squared: 0.1327, Adjusted R-squared: -0.09414
## F-statistic: 0.585 on 17 and 65 DF, p-value: 0.8912
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.788532233 -0.040636087 0.086942718 -0.117236452
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.023414824 -0.053077127 -0.073660461 -0.100840024
## gp_n liabilities_n ncff_n ncfi_n
## 0.035776372 0.105035780 0.035529586 0.058208361
## ncfo_n netinc_n pb_n pe1_n
## 0.097535093 0.143333971 -0.208932967 -0.032864376
## sharesbas_n workingcapital_n
## -0.008686944 -0.001411896
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.15090 -0.20351 0.03337 0.21723 1.87645
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.887499 0.050940 17.422 < 2e-16 ***
## cashnequsd_n -0.004625 0.107968 -0.043 0.96595
## de_n -0.221831 0.142155 -1.560 0.12309
## ebitda_n -0.016162 0.171705 -0.094 0.92528
## epsusd_n 0.293151 0.047048 6.231 2.92e-08 ***
## equityusd_n -0.289442 0.124277 -2.329 0.02271 *
## fcf_n -0.346736 0.321894 -1.077 0.28505
## revenueusd_n -0.095387 0.095351 -1.000 0.32053
## gp_n -0.005902 0.151780 -0.039 0.96909
## liabilities_n 0.244418 0.124604 1.962 0.05374 .
## ncff_n -0.028406 0.097136 -0.292 0.77081
## ncfi_n 0.048035 0.082949 0.579 0.56436
## ncfo_n 0.419524 0.333983 1.256 0.21319
## netinc_n -0.223891 0.145723 -1.536 0.12888
## pb_n 0.030887 0.119486 0.258 0.79677
## pe1_n 0.241500 0.090332 2.673 0.00931 **
## sharesbas_n 0.143982 0.073075 1.970 0.05270 .
## workingcapital_n 0.072401 0.087244 0.830 0.40940
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4579 on 71 degrees of freedom
## Multiple R-squared: 0.4446, Adjusted R-squared: 0.3116
## F-statistic: 3.343 on 17 and 71 DF, p-value: 0.0001811
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.887499436 -0.004625149 -0.221830675 -0.016161515
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.293150898 -0.289442129 -0.346736385 -0.095386818
## gp_n liabilities_n ncff_n ncfi_n
## -0.005902162 0.244418452 -0.028405886 0.048035219
## ncfo_n netinc_n pb_n pe1_n
## 0.419524480 -0.223891176 0.030886616 0.241499907
## sharesbas_n workingcapital_n
## 0.143982177 0.072400762
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.15201 -0.30286 0.05224 0.32849 1.63932
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.89281 0.06217 14.361 < 2e-16 ***
## cashnequsd_n 0.08792 0.13063 0.673 0.503
## de_n -0.17954 0.15887 -1.130 0.262
## ebitda_n -0.18458 0.35609 -0.518 0.606
## epsusd_n 0.59757 0.10747 5.560 4.59e-07 ***
## equityusd_n 0.12255 0.13687 0.895 0.374
## fcf_n -0.23295 0.48165 -0.484 0.630
## revenueusd_n 0.08848 0.11389 0.777 0.440
## gp_n 0.07857 0.19357 0.406 0.686
## liabilities_n -0.15358 0.13353 -1.150 0.254
## ncff_n 0.07325 0.08689 0.843 0.402
## ncfi_n 0.01753 0.08644 0.203 0.840
## ncfo_n 0.13606 0.50965 0.267 0.790
## netinc_n -0.31671 0.32137 -0.986 0.328
## pb_n 0.07856 0.09388 0.837 0.406
## pe1_n 0.01904 0.08554 0.223 0.825
## sharesbas_n 0.02774 0.08643 0.321 0.749
## workingcapital_n -0.02682 0.09691 -0.277 0.783
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5295 on 70 degrees of freedom
## Multiple R-squared: 0.4045, Adjusted R-squared: 0.2599
## F-statistic: 2.797 on 17 and 70 DF, p-value: 0.001327
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 0.89280680 0.08791581 -0.17953903 -0.18457705
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.59756836 0.12255463 -0.23295164 0.08848492
## gp_n liabilities_n ncff_n ncfi_n
## 0.07856736 -0.15357923 0.07324728 0.01752808
## ncfo_n netinc_n pb_n pe1_n
## 0.13606070 -0.31671212 0.07855738 0.01904022
## sharesbas_n workingcapital_n
## 0.02773642 -0.02682445
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.12759 -0.19930 -0.04888 0.20907 2.44398
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.09339 0.06341 17.243 <2e-16 ***
## cashnequsd_n 0.16118 0.13046 1.235 0.2208
## de_n -0.13571 0.18316 -0.741 0.4612
## ebitda_n 0.36692 0.27634 1.328 0.1886
## epsusd_n 0.08326 0.16459 0.506 0.6145
## equityusd_n 0.02176 0.13709 0.159 0.8744
## fcf_n 0.21521 0.74871 0.287 0.7746
## revenueusd_n 0.08471 0.10353 0.818 0.4160
## gp_n -0.03905 0.19795 -0.197 0.8442
## liabilities_n -0.04693 0.13514 -0.347 0.7294
## ncff_n -0.11623 0.06513 -1.785 0.0787 .
## ncfi_n -0.17579 0.14215 -1.237 0.2203
## ncfo_n -0.53015 0.81480 -0.651 0.5174
## netinc_n -0.17705 0.23160 -0.764 0.4471
## pb_n 0.15814 0.11402 1.387 0.1699
## pe1_n -0.08170 0.08329 -0.981 0.3300
## sharesbas_n -0.07902 0.11105 -0.712 0.4791
## workingcapital_n -0.07239 0.09623 -0.752 0.4544
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5454 on 70 degrees of freedom
## Multiple R-squared: 0.192, Adjusted R-squared: -0.004287
## F-statistic: 0.9782 on 17 and 70 DF, p-value: 0.4917
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.09339375 0.16118131 -0.13570824 0.36691880
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.08326134 0.02175655 0.21521343 0.08471081
## gp_n liabilities_n ncff_n ncfi_n
## -0.03904768 -0.04693018 -0.11623043 -0.17579351
## ncfo_n netinc_n pb_n pe1_n
## -0.53014658 -0.17705412 0.15813550 -0.08169670
## sharesbas_n workingcapital_n
## -0.07902377 -0.07239028
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.0311 -0.3587 -0.0701 0.1412 4.0246
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.060262 0.079289 13.372 <2e-16 ***
## cashnequsd_n 0.162171 0.159529 1.017 0.313
## de_n -0.387748 0.322044 -1.204 0.232
## ebitda_n -0.310880 0.351020 -0.886 0.379
## epsusd_n 0.350424 0.211662 1.656 0.102
## equityusd_n -0.063683 0.175126 -0.364 0.717
## fcf_n 0.092883 0.504923 0.184 0.855
## revenueusd_n 0.017557 0.132720 0.132 0.895
## gp_n -0.181048 0.291658 -0.621 0.537
## liabilities_n 0.200707 0.189826 1.057 0.294
## ncff_n 0.092417 0.157040 0.588 0.558
## ncfi_n 0.031535 0.083075 0.380 0.705
## ncfo_n -0.208146 0.526146 -0.396 0.694
## netinc_n 0.242661 0.358303 0.677 0.500
## pb_n 0.091427 0.153506 0.596 0.553
## pe1_n -0.006587 0.069700 -0.095 0.925
## sharesbas_n 0.065288 0.176030 0.371 0.712
## workingcapital_n -0.077364 0.123908 -0.624 0.534
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7023 on 73 degrees of freedom
## Multiple R-squared: 0.1319, Adjusted R-squared: -0.07023
## F-statistic: 0.6526 on 17 and 73 DF, p-value: 0.8375
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.060262416 0.162171105 -0.387747555 -0.310879570
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.350424278 -0.063682784 0.092883299 0.017556632
## gp_n liabilities_n ncff_n ncfi_n
## -0.181048431 0.200706611 0.092417102 0.031535108
## ncfo_n netinc_n pb_n pe1_n
## -0.208145543 0.242660732 0.091426575 -0.006587097
## sharesbas_n workingcapital_n
## 0.065287602 -0.077364454
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.1361 -0.3351 -0.1186 0.1254 6.4430
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.25485 0.10455 12.003 <2e-16 ***
## cashnequsd_n 0.27663 0.18039 1.533 0.129
## de_n 0.11317 0.36417 0.311 0.757
## ebitda_n 0.19144 0.44511 0.430 0.668
## epsusd_n 0.05584 0.19065 0.293 0.770
## equityusd_n 0.11934 0.22482 0.531 0.597
## fcf_n -0.80951 0.70105 -1.155 0.252
## revenueusd_n -0.02328 0.16313 -0.143 0.887
## gp_n -0.31855 0.30925 -1.030 0.306
## liabilities_n -0.02161 0.22441 -0.096 0.924
## ncff_n 0.08424 0.16043 0.525 0.601
## ncfi_n 0.12227 0.20693 0.591 0.556
## ncfo_n 0.69075 0.75280 0.918 0.362
## netinc_n -0.05102 0.38036 -0.134 0.894
## pb_n -0.00354 0.18010 -0.020 0.984
## pe1_n -0.06202 0.07906 -0.784 0.435
## sharesbas_n -0.05110 0.18324 -0.279 0.781
## workingcapital_n -0.07008 0.16343 -0.429 0.669
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9336 on 74 degrees of freedom
## Multiple R-squared: 0.09134, Adjusted R-squared: -0.1174
## F-statistic: 0.4376 on 17 and 74 DF, p-value: 0.9709
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.254850354 0.276626320 0.113165054 0.191443873
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.055837151 0.119339902 -0.809511950 -0.023279024
## gp_n liabilities_n ncff_n ncfi_n
## -0.318547269 -0.021613554 0.084241245 0.122272099
## ncfo_n netinc_n pb_n pe1_n
## 0.690744994 -0.051023486 -0.003539524 -0.062015801
## sharesbas_n workingcapital_n
## -0.051104755 -0.070083881
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.14604 -0.24476 -0.02976 0.21351 1.68329
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.107009 0.049820 22.220 <2e-16 ***
## cashnequsd_n -0.025899 0.079729 -0.325 0.746
## de_n -0.069244 0.151884 -0.456 0.650
## ebitda_n -0.018431 0.305041 -0.060 0.952
## epsusd_n 0.035798 0.109231 0.328 0.744
## equityusd_n 0.046211 0.101601 0.455 0.651
## fcf_n -0.745373 0.501557 -1.486 0.142
## revenueusd_n -0.087295 0.081544 -1.071 0.288
## gp_n -0.044897 0.144723 -0.310 0.757
## liabilities_n -0.022483 0.099625 -0.226 0.822
## ncff_n -0.106890 0.090876 -1.176 0.243
## ncfi_n -0.088292 0.090381 -0.977 0.332
## ncfo_n 0.848740 0.548787 1.547 0.126
## netinc_n -0.085957 0.273108 -0.315 0.754
## pb_n 0.079848 0.128451 0.622 0.536
## pe1_n 0.021692 0.049274 0.440 0.661
## sharesbas_n 0.105052 0.089445 1.174 0.244
## workingcapital_n -0.008197 0.069098 -0.119 0.906
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4278 on 71 degrees of freedom
## Multiple R-squared: 0.1818, Adjusted R-squared: -0.01406
## F-statistic: 0.9282 on 17 and 71 DF, p-value: 0.5453
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.107009361 -0.025898880 -0.069244057 -0.018431198
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.035798463 0.046211205 -0.745373212 -0.087295055
## gp_n liabilities_n ncff_n ncfi_n
## -0.044896953 -0.022483058 -0.106890204 -0.088291929
## ncfo_n netinc_n pb_n pe1_n
## 0.848739821 -0.085956648 0.079848465 0.021692480
## sharesbas_n workingcapital_n
## 0.105051617 -0.008197474
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.2090 -0.2394 -0.0270 0.2691 1.5928
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.21048 0.06011 20.137 < 2e-16 ***
## cashnequsd_n 0.09014 0.09359 0.963 0.33858
## de_n 0.16250 0.22858 0.711 0.47935
## ebitda_n -0.38671 0.27699 -1.396 0.16680
## epsusd_n 0.06134 0.12014 0.511 0.61117
## equityusd_n 0.09175 0.13590 0.675 0.50169
## fcf_n -1.20208 0.47106 -2.552 0.01275 *
## revenueusd_n -0.15222 0.10368 -1.468 0.14624
## gp_n -0.02069 0.16098 -0.129 0.89806
## liabilities_n 0.15966 0.11230 1.422 0.15925
## ncff_n 0.20180 0.09403 2.146 0.03511 *
## ncfi_n 0.17320 0.09065 1.911 0.05988 .
## ncfo_n 1.45080 0.52308 2.774 0.00699 **
## netinc_n 0.28855 0.21801 1.324 0.18966
## pb_n 0.01270 0.15317 0.083 0.93415
## pe1_n -0.04786 0.03898 -1.228 0.22337
## sharesbas_n -0.07478 0.10781 -0.694 0.49005
## workingcapital_n 0.02017 0.07891 0.256 0.79898
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5287 on 75 degrees of freedom
## Multiple R-squared: 0.3247, Adjusted R-squared: 0.1716
## F-statistic: 2.121 on 17 and 75 DF, p-value: 0.01408
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.21048144 0.09013989 0.16249846 -0.38670905
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.06133891 0.09174715 -1.20207739 -0.15221775
## gp_n liabilities_n ncff_n ncfi_n
## -0.02069233 0.15966424 0.20179624 0.17319932
## ncfo_n netinc_n pb_n pe1_n
## 1.45080382 0.28855455 0.01269846 -0.04786274
## sharesbas_n workingcapital_n
## -0.07477891 0.02016836
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.4014 -0.3008 -0.1240 0.1803 2.7308
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.217531 0.076301 15.957 <2e-16 ***
## cashnequsd_n -0.054248 0.121163 -0.448 0.656
## de_n 0.059306 0.238768 0.248 0.805
## ebitda_n -0.253057 0.362187 -0.699 0.487
## epsusd_n 0.101815 0.138744 0.734 0.465
## equityusd_n 0.086749 0.163118 0.532 0.597
## fcf_n -0.626446 0.545073 -1.149 0.254
## revenueusd_n -0.124765 0.131366 -0.950 0.345
## gp_n -0.081177 0.198997 -0.408 0.685
## liabilities_n 0.053442 0.155161 0.344 0.732
## ncff_n 0.017593 0.066039 0.266 0.791
## ncfi_n -0.017598 0.137650 -0.128 0.899
## ncfo_n 0.606665 0.574580 1.056 0.295
## netinc_n 0.389348 0.330052 1.180 0.242
## pb_n 0.168169 0.148496 1.132 0.261
## pe1_n 0.087002 0.163784 0.531 0.597
## sharesbas_n 0.003603 0.126643 0.028 0.977
## workingcapital_n -0.051175 0.117284 -0.436 0.664
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6422 on 71 degrees of freedom
## Multiple R-squared: 0.138, Adjusted R-squared: -0.06839
## F-statistic: 0.6687 on 17 and 71 DF, p-value: 0.8225
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.217530596 -0.054247738 0.059305647 -0.253056777
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.101815062 0.086749341 -0.626446452 -0.124764904
## gp_n liabilities_n ncff_n ncfi_n
## -0.081177296 0.053441712 0.017593476 -0.017598373
## ncfo_n netinc_n pb_n pe1_n
## 0.606664622 0.389348224 0.168168819 0.087002218
## sharesbas_n workingcapital_n
## 0.003602847 -0.051174987
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.20553 -0.27359 -0.04166 0.18646 2.75115
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.289531 0.084313 15.295 < 2e-16 ***
## cashnequsd_n 0.110007 0.132564 0.830 0.409371
## de_n -0.544684 0.132147 -4.122 9.93e-05 ***
## ebitda_n 0.146080 0.349120 0.418 0.676882
## epsusd_n -0.024071 0.101663 -0.237 0.813504
## equityusd_n -0.076245 0.182413 -0.418 0.677204
## fcf_n -0.080766 0.467892 -0.173 0.863437
## revenueusd_n 0.045715 0.135238 0.338 0.736323
## gp_n -0.271785 0.225857 -1.203 0.232783
## liabilities_n 0.147697 0.222183 0.665 0.508333
## ncff_n -0.014416 0.169677 -0.085 0.932530
## ncfi_n -0.073107 0.124283 -0.588 0.558218
## ncfo_n 0.103424 0.510846 0.202 0.840131
## netinc_n 0.103106 0.294017 0.351 0.726852
## pb_n 0.588082 0.152482 3.857 0.000248 ***
## pe1_n 0.232970 0.142173 1.639 0.105651
## sharesbas_n 0.008571 0.132814 0.065 0.948725
## workingcapital_n -0.019302 0.130505 -0.148 0.882834
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7185 on 72 degrees of freedom
## Multiple R-squared: 0.2527, Adjusted R-squared: 0.0763
## F-statistic: 1.432 on 17 and 72 DF, p-value: 0.1471
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.289531457 0.110007404 -0.544683533 0.146080368
## epsusd_n equityusd_n fcf_n revenueusd_n
## -0.024071269 -0.076245237 -0.080766224 0.045714736
## gp_n liabilities_n ncff_n ncfi_n
## -0.271784870 0.147696600 -0.014415546 -0.073107369
## ncfo_n netinc_n pb_n pe1_n
## 0.103423993 0.103105869 0.588082049 0.232969699
## sharesbas_n workingcapital_n
## 0.008570927 -0.019301821
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.1508 -0.4074 -0.1464 0.2821 2.4803
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.415460 0.077054 18.370 <2e-16 ***
## cashnequsd_n 0.009261 0.114537 0.081 0.9358
## de_n -0.330148 0.203747 -1.620 0.1092
## ebitda_n 0.869384 0.415791 2.091 0.0398 *
## epsusd_n -0.098950 0.149859 -0.660 0.5110
## equityusd_n 0.005083 0.133084 0.038 0.9696
## fcf_n -0.114335 0.424570 -0.269 0.7884
## revenueusd_n -0.073213 0.136988 -0.534 0.5946
## gp_n -0.050481 0.220733 -0.229 0.8197
## liabilities_n -0.170419 0.162065 -1.052 0.2963
## ncff_n 0.089098 0.105268 0.846 0.4000
## ncfi_n 0.108404 0.115077 0.942 0.3491
## ncfo_n 0.285745 0.419265 0.682 0.4976
## netinc_n -0.463530 0.371069 -1.249 0.2154
## pb_n 0.203070 0.130300 1.558 0.1232
## pe1_n -0.018351 0.086196 -0.213 0.8320
## sharesbas_n -0.190641 0.117858 -1.618 0.1098
## workingcapital_n 0.021910 0.107289 0.204 0.8387
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6855 on 77 degrees of freedom
## Multiple R-squared: 0.2314, Adjusted R-squared: 0.0617
## F-statistic: 1.364 on 17 and 77 DF, p-value: 0.1787
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.415459659 0.009261197 -0.330147838 0.869383760
## epsusd_n equityusd_n fcf_n revenueusd_n
## -0.098950141 0.005083472 -0.114334949 -0.073213131
## gp_n liabilities_n ncff_n ncfi_n
## -0.050481081 -0.170418906 0.089097533 0.108403871
## ncfo_n netinc_n pb_n pe1_n
## 0.285745249 -0.463529858 0.203070175 -0.018351278
## sharesbas_n workingcapital_n
## -0.190640863 0.021910485
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.19178 -0.31108 -0.03041 0.26528 1.78412
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.118386 0.064146 17.435 < 2e-16 ***
## cashnequsd_n -0.068919 0.100755 -0.684 0.49589
## de_n -0.187027 0.097381 -1.921 0.05826 .
## ebitda_n -0.264158 0.270378 -0.977 0.33145
## epsusd_n 0.094185 0.052815 1.783 0.07824 .
## equityusd_n 0.074995 0.107574 0.697 0.48768
## fcf_n 0.420521 0.264836 1.588 0.11617
## revenueusd_n -0.148324 0.092425 -1.605 0.11238
## gp_n -0.104330 0.151312 -0.690 0.49245
## liabilities_n 0.341919 0.105753 3.233 0.00176 **
## ncff_n 0.003914 0.090415 0.043 0.96558
## ncfi_n 0.062490 0.117074 0.534 0.59495
## ncfo_n -0.383403 0.313269 -1.224 0.22450
## netinc_n 0.338793 0.218665 1.549 0.12514
## pb_n 0.235745 0.110090 2.141 0.03521 *
## pe1_n -0.005342 0.049450 -0.108 0.91423
## sharesbas_n -0.019697 0.094139 -0.209 0.83479
## workingcapital_n -0.202859 0.094245 -2.152 0.03430 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5576 on 82 degrees of freedom
## Multiple R-squared: 0.3398, Adjusted R-squared: 0.2029
## F-statistic: 2.483 on 17 and 82 DF, p-value: 0.003368
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.118386409 -0.068919176 -0.187027038 -0.264157871
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.094184879 0.074995153 0.420520994 -0.148323835
## gp_n liabilities_n ncff_n ncfi_n
## -0.104330483 0.341919117 0.003913555 0.062489968
## ncfo_n netinc_n pb_n pe1_n
## -0.383403424 0.338793139 0.235744947 -0.005342234
## sharesbas_n workingcapital_n
## -0.019696719 -0.202858619
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.3476 -0.3340 -0.0751 0.2164 3.2986
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.244757 0.094057 13.234 <2e-16 ***
## cashnequsd_n 0.284228 0.133292 2.132 0.0361 *
## de_n 0.014080 0.193533 0.073 0.9422
## ebitda_n 0.186916 0.377007 0.496 0.6214
## epsusd_n 0.292775 0.182369 1.605 0.1124
## equityusd_n -0.042159 0.168717 -0.250 0.8033
## fcf_n 0.223764 0.433015 0.517 0.6068
## revenueusd_n 0.126097 0.149770 0.842 0.4024
## gp_n -0.020007 0.231395 -0.086 0.9313
## liabilities_n -0.150875 0.172100 -0.877 0.3834
## ncff_n -0.186713 0.132931 -1.405 0.1641
## ncfi_n -0.199735 0.109896 -1.817 0.0730 .
## ncfo_n -0.174578 0.482685 -0.362 0.7186
## netinc_n -0.397607 0.291190 -1.365 0.1760
## pb_n 0.110730 0.152209 0.727 0.4691
## pe1_n 0.007618 0.071019 0.107 0.9149
## sharesbas_n 0.075494 0.141676 0.533 0.5956
## workingcapital_n -0.123513 0.121577 -1.016 0.3128
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8137 on 78 degrees of freedom
## Multiple R-squared: 0.1543, Adjusted R-squared: -0.03008
## F-statistic: 0.8368 on 17 and 78 DF, p-value: 0.647
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.244757441 0.284228415 0.014080145 0.186916232
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.292774640 -0.042159157 0.223763574 0.126096990
## gp_n liabilities_n ncff_n ncfi_n
## -0.020007236 -0.150874981 -0.186712873 -0.199734626
## ncfo_n netinc_n pb_n pe1_n
## -0.174577652 -0.397606866 0.110730047 0.007618022
## sharesbas_n workingcapital_n
## 0.075493789 -0.123512925
##
## Call:
## lm(formula = return_price ~ ., data = obj)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.19178 -0.31108 -0.03041 0.26528 1.78412
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.118386 0.064146 17.435 < 2e-16 ***
## cashnequsd_n -0.068919 0.100755 -0.684 0.49589
## de_n -0.187027 0.097381 -1.921 0.05826 .
## ebitda_n -0.264158 0.270378 -0.977 0.33145
## epsusd_n 0.094185 0.052815 1.783 0.07824 .
## equityusd_n 0.074995 0.107574 0.697 0.48768
## fcf_n 0.420521 0.264836 1.588 0.11617
## revenueusd_n -0.148324 0.092425 -1.605 0.11238
## gp_n -0.104330 0.151312 -0.690 0.49245
## liabilities_n 0.341919 0.105753 3.233 0.00176 **
## ncff_n 0.003914 0.090415 0.043 0.96558
## ncfi_n 0.062490 0.117074 0.534 0.59495
## ncfo_n -0.383403 0.313269 -1.224 0.22450
## netinc_n 0.338793 0.218665 1.549 0.12514
## pb_n 0.235745 0.110090 2.141 0.03521 *
## pe1_n -0.005342 0.049450 -0.108 0.91423
## sharesbas_n -0.019697 0.094139 -0.209 0.83479
## workingcapital_n -0.202859 0.094245 -2.152 0.03430 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5576 on 82 degrees of freedom
## Multiple R-squared: 0.3398, Adjusted R-squared: 0.2029
## F-statistic: 2.483 on 17 and 82 DF, p-value: 0.003368
##
## (Intercept) cashnequsd_n de_n ebitda_n
## 1.118386409 -0.068919176 -0.187027038 -0.264157871
## epsusd_n equityusd_n fcf_n revenueusd_n
## 0.094184879 0.074995153 0.420520994 -0.148323835
## gp_n liabilities_n ncff_n ncfi_n
## -0.104330483 0.341919117 0.003913555 0.062489968
## ncfo_n netinc_n pb_n pe1_n
## -0.383403424 0.338793139 0.235744947 -0.005342234
## sharesbas_n workingcapital_n
## -0.019696719 -0.202858619
sink()
print(beta_matrix)
## (Intercept) cashnequsd_n de_n ebitda_n epsusd_n
## [1,] 0.6716711 -0.087833052 0.08335984 -1.12185916 0.107495153
## [2,] 0.6716711 -0.087833052 0.08335984 -1.12185916 0.107495153
## [3,] 0.7138379 0.009735691 0.07872914 -0.06713391 -0.062501268
## [4,] 0.7705797 0.010773691 0.06889809 -0.16123635 -0.003567968
## [5,] 0.9202431 0.213094286 -0.42057521 -0.01299234 0.527897518
## [6,] 0.7781109 0.022434521 -0.12306435 -0.16157927 -0.016628963
## [7,] 0.7885322 -0.040636087 0.08694272 -0.11723645 0.023414824
## [8,] 0.8874994 -0.004625149 -0.22183067 -0.01616151 0.293150898
## [9,] 0.8928068 0.087915807 -0.17953903 -0.18457705 0.597568363
## [10,] 1.0933938 0.161181307 -0.13570824 0.36691880 0.083261343
## [11,] 1.0602624 0.162171105 -0.38774755 -0.31087957 0.350424278
## [12,] 1.2548504 0.276626320 0.11316505 0.19144387 0.055837151
## [13,] 1.1070094 -0.025898880 -0.06924406 -0.01843120 0.035798463
## [14,] 1.2104814 0.090139892 0.16249846 -0.38670905 0.061338910
## [15,] 1.2175306 -0.054247738 0.05930565 -0.25305678 0.101815062
## [16,] 1.2895315 0.110007404 -0.54468353 0.14608037 -0.024071269
## [17,] 1.4154597 0.009261197 -0.33014784 0.86938376 -0.098950141
## [18,] 1.1183864 -0.068919176 -0.18702704 -0.26415787 0.094184879
## [19,] 1.2447574 0.284228415 0.01408015 0.18691623 0.292774640
## [20,] 1.1183864 -0.068919176 -0.18702704 -0.26415787 0.094184879
## equityusd_n fcf_n revenueusd_n gp_n liabilities_n
## [1,] 0.128233375 -1.91152301 -0.008646812 0.416427937 -0.28343415
## [2,] 0.128233375 -1.91152301 -0.008646812 0.416427937 -0.28343415
## [3,] 0.048734566 -0.28804877 0.041919400 -0.044540558 -0.07639698
## [4,] 0.027444567 0.34483160 0.153631392 -0.102723670 -0.02437842
## [5,] -0.121480296 0.01294913 0.067916702 -0.099294603 0.09362256
## [6,] -0.004181429 0.27871381 -0.010274131 0.102377393 0.03213113
## [7,] -0.053077127 -0.07366046 -0.100840024 0.035776372 0.10503578
## [8,] -0.289442129 -0.34673639 -0.095386818 -0.005902162 0.24441845
## [9,] 0.122554634 -0.23295164 0.088484922 0.078567362 -0.15357923
## [10,] 0.021756553 0.21521343 0.084710815 -0.039047676 -0.04693018
## [11,] -0.063682784 0.09288330 0.017556632 -0.181048431 0.20070661
## [12,] 0.119339902 -0.80951195 -0.023279024 -0.318547269 -0.02161355
## [13,] 0.046211205 -0.74537321 -0.087295055 -0.044896953 -0.02248306
## [14,] 0.091747146 -1.20207739 -0.152217752 -0.020692332 0.15966424
## [15,] 0.086749341 -0.62644645 -0.124764904 -0.081177296 0.05344171
## [16,] -0.076245237 -0.08076622 0.045714736 -0.271784870 0.14769660
## [17,] 0.005083472 -0.11433495 -0.073213131 -0.050481081 -0.17041891
## [18,] 0.074995153 0.42052099 -0.148323835 -0.104330483 0.34191912
## [19,] -0.042159157 0.22376357 0.126096990 -0.020007236 -0.15087498
## [20,] 0.074995153 0.42052099 -0.148323835 -0.104330483 0.34191912
## ncff_n ncfi_n ncfo_n netinc_n pb_n
## [1,] 0.179728401 0.265999331 2.05230658 0.89013316 0.094363742
## [2,] 0.179728401 0.265999331 2.05230658 0.89013316 0.094363742
## [3,] -0.078970474 0.008656821 0.15061531 0.16770754 -0.049729991
## [4,] 0.249445579 0.034744878 -0.47482526 0.23637137 -0.034298382
## [5,] 0.171111462 0.060571529 0.12278493 -0.45368544 0.292548703
## [6,] -0.057225324 -0.080148709 -0.28599835 0.10515638 0.099261086
## [7,] 0.035529586 0.058208361 0.09753509 0.14333397 -0.208932967
## [8,] -0.028405886 0.048035219 0.41952448 -0.22389118 0.030886616
## [9,] 0.073247276 0.017528082 0.13606070 -0.31671212 0.078557379
## [10,] -0.116230433 -0.175793513 -0.53014658 -0.17705412 0.158135500
## [11,] 0.092417102 0.031535108 -0.20814554 0.24266073 0.091426575
## [12,] 0.084241245 0.122272099 0.69074499 -0.05102349 -0.003539524
## [13,] -0.106890204 -0.088291929 0.84873982 -0.08595665 0.079848465
## [14,] 0.201796238 0.173199320 1.45080382 0.28855455 0.012698458
## [15,] 0.017593476 -0.017598373 0.60666462 0.38934822 0.168168819
## [16,] -0.014415546 -0.073107369 0.10342399 0.10310587 0.588082049
## [17,] 0.089097533 0.108403871 0.28574525 -0.46352986 0.203070175
## [18,] 0.003913555 0.062489968 -0.38340342 0.33879314 0.235744947
## [19,] -0.186712873 -0.199734626 -0.17457765 -0.39760687 0.110730047
## [20,] 0.003913555 0.062489968 -0.38340342 0.33879314 0.235744947
## pe1_n sharesbas_n workingcapital_n
## [1,] -0.145057063 0.083131550 -0.316859315
## [2,] -0.145057063 0.083131550 -0.316859315
## [3,] -0.026645633 0.037475235 -0.035039662
## [4,] 0.062025007 0.135384061 -0.086164240
## [5,] 0.125964218 0.186908495 -0.025378723
## [6,] -0.009838432 -0.081368799 -0.095112639
## [7,] -0.032864376 -0.008686944 -0.001411896
## [8,] 0.241499907 0.143982177 0.072400762
## [9,] 0.019040222 0.027736416 -0.026824446
## [10,] -0.081696696 -0.079023766 -0.072390277
## [11,] -0.006587097 0.065287602 -0.077364454
## [12,] -0.062015801 -0.051104755 -0.070083881
## [13,] 0.021692480 0.105051617 -0.008197474
## [14,] -0.047862744 -0.074778908 0.020168364
## [15,] 0.087002218 0.003602847 -0.051174987
## [16,] 0.232969699 0.008570927 -0.019301821
## [17,] -0.018351278 -0.190640863 0.021910485
## [18,] -0.005342234 -0.019696719 -0.202858619
## [19,] 0.007618022 0.075493789 -0.123512925
## [20,] -0.005342234 -0.019696719 -0.202858619
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,]
#View(new_beta_matrix)
pred_beta_list <- new_beta_matrix[1,]
#### Function compute future date betas --------
pred_beta_list <- find_future_beta(beta_matrix)


























































































#View(pred_beta_list)
###### 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])
#View(date19_pred_beta.list)
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 <- "quantile_1"
y1_name <- "pred_quantile_1"
x2_name <- "quantile_2"
y2_name <- "pred_quantile_2"
x3_name <- "quantile_3"
y3_name <- "pred_quantile_3"
x4_name <- "quantile_4"
y4_name <- "pred_quantile_4"
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)
## quantile_1 pred_quantile_1 quantile_2 pred_quantile_2 quantile_3
## 1 1.425317 1.44405084 1.785642 1.8223548 1.096399
## 2 1.250242 0.84012739 1.302446 0.9804582 1.043541
## 3 1.353252 0.68064500 1.155716 0.7371928 0.957445
## 4 1.400368 0.51042324 1.401002 0.5310469 1.497097
## 5 1.295057 0.04064369 1.461144 0.2025672 1.097181
## pred_quantile_3 quantile_4 pred_quantile_4
## 1 1.6279763 1.333620 1.54500106
## 2 1.0652298 1.232443 0.80190536
## 3 0.9014098 1.201455 0.54024984
## 4 0.7747617 1.366726 0.38417751
## 5 0.2996032 1.037349 0.09176457