#' Get the posterior distribution of value-per-share parameter (2-stage firm)
#' @description
#' This function calculates all the relevant parameters and their posteriors
#' for the analysis of 2-stage growth firms. Specifically, this function
#' calculates value-per-share parameter posterior.
#' @param average_beta **Number** Industry average industry beta
#' @param industry_effective_tax **Number** Industry average effective tax
#' @param average_de **Number** Industry average Debt-to-Equity ratio
#' @param firm_tax **Number** Firm current effective tax
#' @param firm_debt **Number** Firm current debt
#' @param firm_equity **Number** Firm current equity
#' @param firm_cash **Number** Firm current cash
#' @param after_tax_ebit **Number** Firm current after tax EBIT
#' @param working_capital **Number** Firm current working capital
#' @param net_capex **Number** Firm current net capital investments
#' @param roic_target **Number** Firm ROIC in 5Y
#' @param roic_initial **Number** Firm current ROIC
#' @param net_capex **Number** Firm current net capital investments
#' @param share_out **Number** Firm current shares outstanding
#' @param company_spread **Number** Firm current debt spread, based on synthetic
#' score
#' @param risk_free **Number** Current risk-free rate
#' @param risk_premium **Number** Current risk premium rate
#' @param marginal_tax **Number** Current country tax rate
#' @param lower_unbeta **Number** Lower margin unlevered beta
#' @param upper_unbeta **Number** Upper margin unlevered beta
#' @param lower_unlevered_beta_sigma **Number** Lower margin unlevered beta sigma
#' @param upper_unlevered_beta_sigma **Number** Upper margin unlevered beta sigma
#' @param lower_levbeta **Number** Lower margin levered beta
#' @param upper_levbeta **Number** Upper margin levered beta
#' @param lower_levered_beta_sigma **NUmber** Lower margin levered beta sigma
#' @param upper_levered_beta_sigma **NUmber** Upper margin levered beta sigma
#' @param lower_cost_debt **Number** Lower margin cost debt
#' @param upper_cost_debt **Number** Upper margin cost debt
#' @param lower_cost_debt_sigma **Number** Lower margin cost debt sigma
#' @param upper_cost_debt_sigma **Number** Upper margin cost debt sigma
#' @param lower_cost_capital **Number** Lower margin cost capital
#' @param upper_cost_capital **Number** Upper margin cost capital
#' @param lower_cost_capital_sigma **Number** Lower margin cost capital sigma
#' @param upper_cost_capital_sigma **Number** Upper margin cost capital sigma
#' @param lower_cost_equity **Number** Lower margin cost equity
#' @param upper_cost_equity **Number** Upper margin cost equity
#' @param lower_cost_equity_sigma **Number** Lower margin cost equity sigma
#' @param upper_cost_equity_sigma **Number** Upper margin cost equity sigma
#' @param lower_growth **Number** Lower margin growth
#' @param upper_growth **Number** Upper margin growth
#' @param lower_growth_sigma **Number** Lower margin growth sigma
#' @param upper_growth_sigma **Number** Upper margin growth sigma
#' @param lower_reinvestment_rate **Number** Lower margin reinvestment
#' @param upper_reinvestment_rate **Number** Upper margin reinvestment
#' @param lower_reinvestment_sigma **Number** Lower margin reinvestment sigma
#' @param upper_reinvestment_sigma **Number** Upper margin reinvestment sigma
#' @param lower_terminal_reinvestment_rate **Number** Lower margin terminal reinvestment rate
#' @param upper_terminal_reinvestment_rate **Number** Upper margin terminal reinvestment rate
#' @param lower_terminal_reinvestment_sigma **Number** Lower margin terminal reinvestment sigma
#' @param upper_terminal_reinvestment_sigma **Number** Upper margin terminal reinvestment sigma
#' @return **List** Fitted STAN model and the medians of relevant parameters
#' @examples
#' analyze_two_stage_growth_firm(
#' average_beta = 1,
#' industry_effective_tax = 0.22,
#' average_de = 0.5,
#' firm_tax = 0.15,
#' firm_debt = 4444,
#' firm_equity = 950,
#' risk_free = 0.035,
#' risk_premium = 0.055,
#' company_spread = 0.05,
#' marginal_tax=0.3,
#' after_tax_ebit = 600,
#' working_capital = 100,
#' net_capex = 50,
#' roic_target = 0.35,
#' roic_initial = 0.2,
#' shares_out = 111,
#' firm_cash = 150,
#' lower_unbeta = 0,
#' upper_unbeta = 2,
#' lower_unlevered_beta_sigma = 0,
#' upper_unlevered_beta_sigma = 0.5,
#' lower_levbeta = 0,
#' upper_levbeta = 2,
#' lower_levered_beta_sigma = 0,
#' upper_levered_beta_sigma = 0.5,
#' lower_cost_debt = 0,
#' upper_cost_debt = 0.2,
#' lower_cost_debt_sigma = 0,
#' upper_cost_debt_sigma = 0.05,
#' lower_cost_capital = 0,
#' upper_cost_capital = 0.2,
#' lower_cost_capital_sigma = 0,
#' upper_cost_capital_sigma = 0.05,
#' lower_cost_equity = 0,
#' upper_cost_equity = 0.25,
#' lower_cost_equity_sigma = 0,
#' upper_cost_equity_sigma = 0.05,
#' lower_growth = 0,
#' upper_growth = 2,
#' lower_growth_sigma = 0,
#' upper_growth_sigma = 0.5,
#' lower_reinvestment_rate = 0,
#' upper_reinvestment_rate = 2,
#' lower_reinvestment_sigma = 0,
#' upper_reinvestment_sigma = 0.5,
#' lower_terminal_reinvestment_rate = 0,
#' upper_terminal_reinvestment_rate = 0.05,
#' lower_terminal_reinvestment_sigma = 0,
#' upper_terminal_reinvestment_sigma = 0.01)
#' @importFrom rstan stan
#' @importFrom broom.mixed tidy
#' @export
analyze_two_stage_growth_firm <- function(
average_beta,
industry_effective_tax,
average_de,
firm_tax,
firm_debt,
firm_equity,
risk_free,
risk_premium,
company_spread,
marginal_tax,
after_tax_ebit,
working_capital,
net_capex,
roic_target,
roic_initial,
shares_out,
firm_cash,
lower_unbeta=0,
upper_unbeta=2,
lower_unlevered_beta_sigma = 0,
upper_unlevered_beta_sigma = 0.5,
lower_levbeta = 0,
upper_levbeta = 2,
lower_levered_beta_sigma = 0,
upper_levered_beta_sigma = 0.5,
lower_cost_debt = 0,
upper_cost_debt = 0.2,
lower_cost_debt_sigma = 0,
upper_cost_debt_sigma = 0.05,
lower_cost_capital = 0,
upper_cost_capital = 0.2,
lower_cost_capital_sigma = 0,
upper_cost_capital_sigma = 0.05,
lower_cost_equity = 0,
upper_cost_equity = 0.25,
lower_cost_equity_sigma = 0,
upper_cost_equity_sigma = 0.05,
lower_growth = 0,
upper_growth = 2,
lower_growth_sigma = 0,
upper_growth_sigma = 0.5,
lower_reinvestment_rate = 0,
upper_reinvestment_rate = 2,
lower_reinvestment_sigma = 0,
upper_reinvestment_sigma = 0.5,
lower_terminal_reinvestment_rate = 0,
upper_terminal_reinvestment_rate = 0.05,
lower_terminal_reinvestment_sigma = 0,
upper_terminal_reinvestment_sigma = 0.01) {
### Prepare data inputs
data <- list(average_beta = average_beta,
industry_effective_tax = industry_effective_tax,
average_de = average_de,
firm_tax = firm_tax,
firm_debt = firm_debt,
firm_equity = firm_equity,
risk_free = risk_free,
risk_premium = risk_premium,
company_spread = company_spread,
marginal_tax = marginal_tax,
after_tax_ebit = after_tax_ebit,
working_capital = working_capital,
net_capex = net_capex,
roic_target = roic_target,
roic_initial = roic_initial,
shares_out = shares_out,
firm_cash = firm_cash,
lower_unbeta = lower_unbeta,
upper_unbeta = upper_unbeta,
lower_unlevered_beta_sigma = lower_unlevered_beta_sigma,
upper_unlevered_beta_sigma = upper_unlevered_beta_sigma,
lower_levbeta = lower_levbeta ,
upper_levbeta = upper_levbeta ,
lower_levered_beta_sigma = lower_levered_beta_sigma,
upper_levered_beta_sigma = upper_levered_beta_sigma,
lower_cost_debt = lower_cost_debt,
upper_cost_debt = upper_cost_debt,
lower_cost_debt_sigma = lower_cost_debt_sigma,
upper_cost_debt_sigma = upper_cost_debt_sigma,
lower_cost_capital = lower_cost_capital,
upper_cost_capital = upper_cost_capital,
lower_cost_capital_sigma = lower_cost_capital_sigma,
upper_cost_capital_sigma = upper_cost_capital_sigma,
lower_cost_equity = lower_cost_equity,
upper_cost_equity = upper_cost_equity,
lower_cost_equity_sigma = lower_cost_equity_sigma,
upper_cost_equity_sigma = upper_cost_equity_sigma,
lower_growth = lower_growth,
upper_growth = upper_growth,
lower_growth_sigma = lower_growth_sigma,
upper_growth_sigma = upper_growth_sigma,
lower_reinvestment_rate = lower_reinvestment_rate,
upper_reinvestment_rate = upper_reinvestment_rate,
lower_reinvestment_sigma = lower_reinvestment_sigma,
upper_reinvestment_sigma = upper_reinvestment_sigma,
lower_terminal_reinvestment_rate = lower_terminal_reinvestment_rate,
upper_terminal_reinvestment_rate = upper_terminal_reinvestment_rate,
lower_terminal_reinvestment_sigma = lower_terminal_reinvestment_sigma,
upper_terminal_reinvestment_sigma = upper_terminal_reinvestment_sigma
)
### Prepare model
model <- "
data {
/// Average industry beta
real average_beta;
/// Average industry effective tax
real industry_effective_tax;
/// Average industry Debt / Equity
real average_de;
/// Risk premium
real risk_premium;
/// Risk free rate
real risk_free;
/// Marginal tax
real marginal_tax;
/// Firm effective tax
real firm_tax;
/// Firm debt (short+long)
real firm_debt;
/// Firm equity
real firm_equity;
/// Firm cash and cash-like instruments
real firm_cash;
/// Firm debt spread (based on rating)
real company_spread;
/// Firm after-tax EBIT
real after_tax_ebit;
/// Firm net capital expenses
real net_capex;
/// Firm working capital
real working_capital;
/// Firm theoretical ROIC in five years
real roic_target;
/// Firm current ROIC
real roic_initial;
/// Firm shares outstanding
real shares_out;
/// Unlevered beta lower limit
real lower_unbeta;
/// Unlevered beta upper limit
real upper_unbeta;
/// Unlevered beta sigma lower limit
real lower_unlevered_beta_sigma ;
/// Unlevered beta sigma upper limit
real upper_unlevered_beta_sigma ;
/// Levered beta lower limit
real lower_levbeta ;
/// Levered beta upper limit
real upper_levbeta ;
/// Levered beta sigma lower limit
real lower_levered_beta_sigma ;
/// Levered beta sigma upper limit
real upper_levered_beta_sigma ;
/// Cost of debt lower limit
real lower_cost_debt ;
/// Cost of debt upper limit
real upper_cost_debt ;
/// Cost of debt sigma lower limit
real lower_cost_debt_sigma ;
/// Cost of debt sigma upper limit
real upper_cost_debt_sigma ;
/// Cost of capital lower limit
real lower_cost_capital ;
/// Cost of capital upper limit
real upper_cost_capital ;
/// Cost of capital sigma lower limit
real lower_cost_capital_sigma ;
/// Cost of capital upper lower limit
real upper_cost_capital_sigma ;
/// Cost of equity lower limit
real lower_cost_equity ;
/// Cost of equity upper limit
real upper_cost_equity ;
/// Cost of equity sigma lower limit
real lower_cost_equity_sigma ;
/// Cost of equity sigma upper limit
real upper_cost_equity_sigma ;
/// Growth lower limit
real lower_growth ;
/// Growth upper limit
real upper_growth ;
/// Growth sigma lower limit
real lower_growth_sigma ;
/// Growth sigma upper limit
real upper_growth_sigma ;
/// Reinvestment rate lower limit
real lower_reinvestment_rate ;
/// Reinvestment rate upper limit
real upper_reinvestment_rate ;
/// Reinvestment rate sigma lower limit
real lower_reinvestment_sigma ;
/// Reinvestment rate sigma upper limit
real upper_reinvestment_sigma ;
/// Terminal reinvestment rate lower limit
real lower_terminal_reinvestment_rate ;
/// Terminal reinvestment rate upper limit
real upper_terminal_reinvestment_rate ;
/// Terminal reinvestment rate sigma lower limit
real lower_terminal_reinvestment_sigma ;
/// Terminal reinvestment rate sigma upper limit
real upper_terminal_reinvestment_sigma ;
}
parameters {
real <lower=lower_unbeta, upper=upper_unbeta> unlevered_beta;
real <lower=lower_unlevered_beta_sigma, upper=upper_unlevered_beta_sigma> unlevered_beta_sigma;
real <lower=lower_levbeta, upper=upper_levbeta> levered_beta;
real <lower=lower_levered_beta_sigma, upper=upper_levered_beta_sigma> levered_beta_sigma;
real <lower=lower_cost_equity, upper=upper_cost_equity> cost_equity;
real <lower=lower_cost_equity_sigma, upper=upper_cost_equity_sigma> cost_equity_sigma;
real <lower=lower_cost_debt_sigma, upper=upper_cost_debt_sigma> cost_debt_sigma;
real <lower=lower_cost_debt, upper=upper_cost_debt> cost_debt;
real <lower=lower_cost_capital, upper=upper_cost_debt> cost_capital;
real <lower=lower_cost_capital_sigma, upper=upper_cost_capital_sigma> cost_capital_sigma;
real <lower=lower_reinvestment_sigma, upper=upper_reinvestment_sigma> reinvestment_sigma;
real <lower=lower_reinvestment_rate, upper=upper_reinvestment_rate> reinvestment_rate;
real <lower=lower_growth, upper=upper_growth> growth;
real <lower=lower_growth_sigma, upper=upper_growth_sigma> growth_sigma;
real <lower=lower_terminal_reinvestment_rate, upper=upper_terminal_reinvestment_rate> terminal_reinvestment_sigma;
real <lower=lower_terminal_reinvestment_sigma, upper=upper_terminal_reinvestment_sigma> terminal_reinvestment_rate;
}
model {
/// Calculate bottom-up beta
unlevered_beta_sigma ~ exponential(10);
levered_beta_sigma ~ exponential(10);
unlevered_beta ~ normal(average_beta/(1+(1-industry_effective_tax)*average_de), unlevered_beta_sigma);
levered_beta ~ normal(unlevered_beta*(1+(1-firm_tax)*(firm_debt/firm_equity)), levered_beta_sigma);
/// Calculate cost of equity
cost_equity_sigma ~ exponential(50);
cost_equity ~ normal(risk_free + levered_beta * risk_premium, cost_equity_sigma);
/// Calculate cost of debt
cost_debt_sigma ~ exponential(50);
cost_debt ~ normal(risk_free + company_spread, cost_debt_sigma);
/// Calculate cost of capital (WACC)
cost_capital_sigma ~ exponential(50);
cost_capital ~ normal(cost_equity*(firm_equity/(firm_debt+firm_equity)) + cost_debt*(1-marginal_tax)*(firm_debt/(firm_debt+firm_equity)), cost_capital_sigma);
/// Calculate reinvestment rate
reinvestment_sigma ~ exponential(10);
reinvestment_rate ~ normal((net_capex + working_capital)/after_tax_ebit, reinvestment_sigma);
/// Calculate dynamic growth
growth_sigma ~ exponential(10);
growth ~ normal(roic_target*reinvestment_rate+(1+(roic_target-roic_initial)/roic_initial)^(1/5)-1, growth_sigma);
/// Terminal reinvestment rate
terminal_reinvestment_sigma ~ exponential(100);
terminal_reinvestment_rate ~ normal(1 - (risk_free / roic_target), terminal_reinvestment_sigma);
}
generated quantities {
real ebit_flow_1;
real ebit_flow_2;
real ebit_flow_3;
real ebit_flow_4;
real ebit_flow_5;
real rr_1;
real rr_2;
real rr_3;
real rr_4;
real rr_5;
real fcff_1;
real fcff_2;
real fcff_3;
real fcff_4;
real fcff_5;
real terminal_ebit;
real terminal_value;
real npv_fcff_1;
real npv_fcff_2;
real npv_fcff_3;
real npv_fcff_4;
real npv_fcff_5;
real npv_fcff_sum;
real value_operating_assets;
real value_equity;
real value_per_share;
real zero_value_per_share;
/// Get EBITs flow
ebit_flow_1 = after_tax_ebit*(1+growth)^1;
ebit_flow_2 = after_tax_ebit*(1+growth)^2;
ebit_flow_3 = after_tax_ebit*(1+growth)^3;
ebit_flow_4 = after_tax_ebit*(1+growth)^4;
ebit_flow_5 = after_tax_ebit*(1+growth)^5;
/// Get terminal value
/// Terminal EBIT at year 6
terminal_ebit = ebit_flow_5*(1+risk_free);
/// Calculate Terminal Value
terminal_value = terminal_ebit*terminal_reinvestment_rate/(cost_capital-risk_free);
/// Calculate reinvestment
rr_1 = ebit_flow_1*reinvestment_rate;
rr_2 = ebit_flow_2*reinvestment_rate;
rr_3 = ebit_flow_3*reinvestment_rate;
rr_4 = ebit_flow_4*reinvestment_rate;
rr_5 = ebit_flow_5*reinvestment_rate;
/// Calculate FCFF
fcff_1 = ebit_flow_1-rr_1;
fcff_2 = ebit_flow_2-rr_2;
fcff_3 = ebit_flow_3-rr_3;
fcff_4 = ebit_flow_4-rr_4;
fcff_5 = ebit_flow_5-rr_5;
/// Calculate NPV FCFF
npv_fcff_1 = fcff_1/(1+cost_capital)^1;
npv_fcff_2 = fcff_2/(1+cost_capital)^2;
npv_fcff_3 = fcff_3/(1+cost_capital)^3;
npv_fcff_4 = fcff_4/(1+cost_capital)^4;
npv_fcff_5 = fcff_5/(1+cost_capital)^5;
npv_fcff_sum = npv_fcff_1 + npv_fcff_2 + npv_fcff_3 + npv_fcff_4 + npv_fcff_5;
/// Calculate equity value
value_operating_assets = npv_fcff_sum + terminal_value / (1+cost_capital)^5;
value_equity = value_operating_assets + firm_cash - firm_debt;
/// Calculate value per share
zero_value_per_share = 0;
value_per_share = value_equity > 0 ? value_equity / shares_out : zero_value_per_share;
}
"
### Fit the model
fit_model <- stan(model_code = model, data = data,
iter = 5000 * 4, chains = 10, cores = 2,
seed = 110)
### Get tidy results
tidy_params <- tidy(fit_model, conf.int=T, conf.level=0.95)
return(list(model = fit_model,
params = tidy_params))
}
#' Get the posterior distribution of value-per-share parameter (start-up firm)
#' @description
#' This function calculates all the relevant parameters and their posteriors
#' for the analysis of start-up firms. Specifically, this function
#' calculates value-per-share parameter posterior.
#' @param revenue_scale **Number** Variation in revenue: **0.1** for firms w/ revenue (100-999M$);
#' **0.01** for firms w/ revenue (1000M-inf)
#' @param initial_beta **Number** Firm current beta
#' @param terminal_beta **Number** Firm beta in 10Y
#' @param initial_dc **Number** Firm current Debt-to-Capital ratio
#' @param terminal_dc **Number** Firm Debt-to-Capital ratio in 10Y
#' @param cost_debt **Number** Firm current cost of debt
#' @param terminal_cost_debt **Number** Firm cost of debt in 10Y
#' @param current_revenue **Number** Firm current revenue
#' @param ebit **Number** Firm current EBIT
#' @param nol **Number** Firm current net operating loss
#' @param sales_capital **Number** Firm current Sales-to-Capital ratio
#' @param current_capex **Number** Firm current capital investments
#' @param initial_margin **Number** Firm current or hypothetical initial margin
#' @param final_margin **Number** Firm margin in 10Y
#' @param marginal_tax **Number** Current country tax rate
#' @param debt **Number** Firm current debt
#' @param cash **Number** Firm current cash
#' @param risk_free **Number** Current risk-free rate
#' @param risk_premium **Number** Current risk premium rate
#' @param stocks **Number** Firm current shares outstanding
#' @param growth_trend_y1 **Number** Growth current year to Y1
#' @param growth_trend_y2 **Number** Growth Y1 to Y2
#' @param growth_trend_y3 **Number** Growth Y2 to Y3
#' @param growth_trend_y4 **Number** Growth Y3 to Y4
#' @param growth_trend_y5 **Number** Growth Y4 to Y5
#' @param growth_trend_y6 **Number** Growth Y5 to Y6
#' @param growth_trend_y7 **Number** Growth Y6 to Y7
#' @param growth_trend_y8 **Number** Growth Y7 to Y8
#' @param growth_trend_y9 **Number** Growth Y8 to Y9
#' @param growth_trend_y10 **Number** Growth Y9 to Y10
#' @param growth_trend_terminal **Number** Terminal growth (should be less than cost of firm)
#' @return **List** Fitted STAN model and the medians of relevant parameters
#' @examples
#' analyze_start_up_firm(
#' revenue_scale = 0.1,
#' current_revenue = 871,
#' growth_trend_y1 = 0.5,
#' growth_trend_y2 = 0.5,
#' growth_trend_y3 = 1,
#' growth_trend_y4 = 1,
#' growth_trend_y5 = 0.7,
#' growth_trend_y6 = 0.4,
#' growth_trend_y7 = 0.3,
#' growth_trend_y8 = 0.2,
#' growth_trend_y9 = 0.1,
#' growth_trend_y10 = 0.1,
#' growth_trend_terminal = 0.01,
#' sales_capital=0.31,
#' current_capex = 97,
#' initial_margin = 0.05,
#' final_margin = 0.3,
#' ebit= 0,
#' nol = 127,
#' marginal_tax = 0.3,
#' initial_beta = 1,
#' terminal_beta= 0.8,
#' initial_dc = 0.65,
#' terminal_dc = 0.8,
#' risk_free = 0.028,
#' risk_premium = 0.06,
#' cost_debt = 0.1,
#' terminal_cost_debt = 0.065,
#' cash = 313,
#' debt = 1556,
#' stocks = 284)
#' @importFrom rstan stan
#' @importFrom broom.mixed tidy
#' @export
analyze_start_up_firm <- function(
revenue_scale,
current_revenue,
growth_trend_y1,
growth_trend_y2,
growth_trend_y3,
growth_trend_y4,
growth_trend_y5,
growth_trend_y6,
growth_trend_y7,
growth_trend_y8,
growth_trend_y9,
growth_trend_y10,
growth_trend_terminal,
sales_capital,
current_capex,
initial_margin,
final_margin,
ebit,
nol,
marginal_tax,
initial_beta,
terminal_beta,
initial_dc,
terminal_dc,
risk_free,
risk_premium,
cost_debt,
terminal_cost_debt,
cash,
debt,
stocks
) {
### Prepare data inputs
data <- list(revenue_scale = revenue_scale,
current_revenue = current_revenue,
growth_trend_y1 = growth_trend_y1,
growth_trend_y2 = growth_trend_y2,
growth_trend_y3 = growth_trend_y3,
growth_trend_y4 = growth_trend_y4,
growth_trend_y5 = growth_trend_y5,
growth_trend_y6 = growth_trend_y6,
growth_trend_y7 = growth_trend_y7,
growth_trend_y8 = growth_trend_y8,
growth_trend_y9 = growth_trend_y9,
growth_trend_y10 = growth_trend_y10,
growth_trend_terminal = growth_trend_terminal,
sales_capital=sales_capital,
current_capex = current_capex,
initial_margin = initial_margin,
final_margin = final_margin,
ebit= ebit,
nol = nol,
marginal_tax = marginal_tax,
initial_beta = initial_beta,
terminal_beta= terminal_beta,
initial_dc = initial_dc,
terminal_dc = terminal_dc,
risk_free = risk_free,
risk_premium = risk_premium,
cost_debt = cost_debt,
terminal_cost_debt = terminal_cost_debt,
cash = cash,
debt = debt,
stocks = stocks)
### Prepare model
model <- "
data {
real revenue_scale; /// 0.1 w/ revenue [100-999M$]; 0.01 w/ [1000M-inf]
real current_revenue;
real growth_trend_y1;
real growth_trend_y2;
real growth_trend_y3;
real growth_trend_y4;
real growth_trend_y5;
real growth_trend_y6;
real growth_trend_y7;
real growth_trend_y8;
real growth_trend_y9;
real growth_trend_y10;
real growth_trend_terminal;
real sales_capital;
real current_capex;
real initial_margin;
real final_margin;
real ebit;
real nol;
real marginal_tax;
real initial_beta;
real terminal_beta;
real initial_dc;
real terminal_dc;
real risk_free;
real risk_premium;
real cost_debt;
real terminal_cost_debt;
real cash;
real debt;
real stocks;
}
parameters {
real revenue_y1;
real revenue_y2;
real revenue_y3;
real revenue_y4;
real revenue_y5;
real revenue_y6;
real revenue_y7;
real revenue_y8;
real revenue_y9;
real revenue_y10;
real revenue_terminal;
real <lower=10> sigma;
real beta_initial;
real <lower=0, upper=2> beta_y1;
real <lower=0, upper=2> beta_y2;
real <lower=0, upper=2> beta_y3;
real <lower=0, upper=2> beta_y4;
real <lower=0, upper=2> beta_y5;
real <lower=0, upper=2> beta_y6;
real <lower=0, upper=2> beta_y7;
real <lower=0, upper=2> beta_y8;
real <lower=0, upper=2> beta_y9;
real <lower=0, upper=2> beta_y10;
real <lower=0, upper=2> beta_terminal;
real <lower=0, upper=0.5> sigma_beta;
real <lower=0> dc_initial;
real <lower=0.1, upper=1> dc_terminal;
real <lower=0.1, upper=1> dc_y1;
real <lower=0.1, upper=1> dc_y2;
real <lower=0.1, upper=1> dc_y3;
real <lower=0.1, upper=1> dc_y4;
real <lower=0.1, upper=1> dc_y5;
real <lower=0.1, upper=1> dc_y6;
real <lower=0.1, upper=1> dc_y7;
real <lower=0.1, upper=1> dc_y8;
real <lower=0.1, upper=1> dc_y9;
real <lower=0.1, upper=1> dc_y10;
real <lower=0, upper=0.15> sigma_dc;
real <lower=0> ce_initial;
real <lower=0, upper=0.25> ce_terminal;
real <lower=0, upper=0.25> ce_y1;
real <lower=0, upper=0.25> ce_y2;
real <lower=0, upper=0.25> ce_y3;
real <lower=0, upper=0.25> ce_y4;
real <lower=0, upper=0.25> ce_y5;
real <lower=0, upper=0.25> ce_y6;
real <lower=0, upper=0.25> ce_y7;
real <lower=0, upper=0.25> ce_y8;
real <lower=0, upper=0.25> ce_y9;
real <lower=0, upper=0.25> ce_y10;
real <lower=0, upper=0.05> sigma_ce;
real <lower=0> initial_cd;
real <lower=0, upper=0.2> terminal_cd;
real <lower=0, upper=0.2> cd_y1;
real <lower=0, upper=0.2> cd_y2;
real <lower=0, upper=0.2> cd_y3;
real <lower=0, upper=0.2> cd_y4;
real <lower=0, upper=0.2> cd_y5;
real <lower=0, upper=0.2> cd_y6;
real <lower=0, upper=0.2> cd_y7;
real <lower=0, upper=0.2> cd_y8;
real <lower=0, upper=0.2> cd_y9;
real <lower=0, upper=0.2> cd_y10;
real <lower=0, upper=0.05> sigma_cd;
}
model {
// Calculate revenues
sigma ~ exponential(revenue_scale);
revenue_y1 ~ normal(current_revenue*(1+growth_trend_y1), sigma);
revenue_y2 ~ normal(revenue_y1*(1+growth_trend_y2), sigma);
revenue_y3 ~ normal(revenue_y2*(1+growth_trend_y3), sigma);
revenue_y4 ~ normal(revenue_y3*(1+growth_trend_y4), sigma);
revenue_y5 ~ normal(revenue_y4*(1+growth_trend_y5), sigma);
revenue_y6 ~ normal(revenue_y5*(1+growth_trend_y6), sigma);
revenue_y7 ~ normal(revenue_y6*(1+growth_trend_y7), sigma);
revenue_y8 ~ normal(revenue_y7*(1+growth_trend_y8), sigma);
revenue_y9 ~ normal(revenue_y8*(1+growth_trend_y9), sigma);
revenue_y10 ~ normal(revenue_y9*(1+growth_trend_y10), sigma);
revenue_terminal ~ normal(revenue_y10*(1+growth_trend_terminal), sigma);
/// Calculate beta
sigma_beta ~ exponential(10);
beta_initial ~ normal(initial_beta, sigma_beta);
beta_y1 ~ normal(initial_beta, sigma_beta);
beta_y2 ~ normal(initial_beta, sigma_beta);
beta_y3 ~ normal(initial_beta, sigma_beta);
beta_y4 ~ normal(initial_beta, sigma_beta);
beta_y5 ~ normal(initial_beta, sigma_beta);
beta_y6 ~ normal(beta_y5+((terminal_beta-beta_y5)/5)*(6-5), sigma_beta);
beta_y7 ~ normal(beta_y6+((terminal_beta-beta_y6)/5)*(7-5), sigma_beta);
beta_y8 ~ normal(beta_y7+((terminal_beta-beta_y7)/5)*(8-5), sigma_beta);
beta_y9 ~ normal(beta_y8+((terminal_beta-beta_y8)/5)*(9-5), sigma_beta);
beta_y10 ~ normal(beta_y9+((terminal_beta-beta_y9)/5)*(10-5), sigma_beta);
beta_terminal ~ normal(terminal_beta, sigma_beta);
/// Calculate Debt-to-Capital ratio
sigma_dc ~ exponential(10);
dc_initial ~ normal(initial_dc, sigma_dc);
dc_y1 ~ normal(initial_dc, sigma_dc);
dc_y2 ~ normal(initial_dc, sigma_dc);
dc_y3 ~ normal(initial_dc, sigma_dc);
dc_y4 ~ normal(initial_dc, sigma_dc);
dc_y5 ~ normal(initial_dc, sigma_dc);
dc_y6 ~ normal(dc_y5+(terminal_dc-dc_y5)/(10-6+1), sigma_dc);
dc_y7 ~ normal(dc_y6+(terminal_dc-dc_y6)/(10-7+1), sigma_dc);
dc_y8 ~ normal(dc_y7+(terminal_dc-dc_y7)/(10-8+1), sigma_dc);
dc_y9 ~ normal(dc_y8+(terminal_dc-dc_y8)/(10-9+1), sigma_dc);
dc_y10 ~ normal(dc_y9+(terminal_dc-dc_y9)/(10-10+1), sigma_dc);
dc_terminal ~ normal(terminal_dc, sigma_dc);
/// Calculate Cost of Equity
sigma_ce ~ exponential(10);
ce_initial ~ normal(risk_free + initial_beta*risk_premium, sigma_ce);
ce_y1 ~ normal(risk_free + initial_beta*risk_premium, sigma_ce);
ce_y2 ~ normal(risk_free + initial_beta*risk_premium, sigma_ce);
ce_y3 ~ normal(risk_free + initial_beta*risk_premium, sigma_ce);
ce_y4 ~ normal(risk_free + initial_beta*risk_premium, sigma_ce);
ce_y5 ~ normal(risk_free + initial_beta*risk_premium, sigma_ce);
ce_y6 ~ normal(risk_free + beta_y6*risk_premium, sigma_ce);
ce_y7 ~ normal(risk_free + beta_y7*risk_premium, sigma_ce);
ce_y8 ~ normal(risk_free + beta_y8*risk_premium, sigma_ce);
ce_y9 ~ normal(risk_free + beta_y9*risk_premium, sigma_ce);
ce_y10 ~ normal(risk_free + beta_y10*risk_premium, sigma_ce);
ce_terminal ~ normal(risk_free + beta_terminal*risk_premium, sigma_ce);
/// Calculate Cost of Debt
sigma_cd ~ exponential(10);
initial_cd ~ normal(cost_debt, sigma_cd);
cd_y1 ~ normal(cost_debt, sigma_cd);
cd_y2 ~ normal(cost_debt, sigma_cd);
cd_y3 ~ normal(cost_debt, sigma_cd);
cd_y4 ~ normal(cost_debt, sigma_cd);
cd_y5 ~ normal(cost_debt, sigma_cd);
cd_y6 ~ normal(cd_y5+(terminal_cost_debt-cd_y5)/(10-6+1), sigma_cd);
cd_y7 ~ normal(cd_y6+(terminal_cost_debt-cd_y6)/(10-7+1), sigma_cd);
cd_y8 ~ normal(cd_y7+(terminal_cost_debt-cd_y7)/(10-8+1), sigma_cd);
cd_y9 ~ normal(cd_y8+(terminal_cost_debt-cd_y8)/(10-9+1), sigma_cd);
cd_y10 ~ normal(cd_y9+(terminal_cost_debt-cd_y9)/(10-10+1), sigma_cd);
terminal_cd ~ normal(terminal_cost_debt, sigma_cd);
}
generated quantities {
real reinvestment_y1;
real reinvestment_y2;
real reinvestment_y3;
real reinvestment_y4;
real reinvestment_y5;
real reinvestment_y6;
real reinvestment_y7;
real reinvestment_y8;
real reinvestment_y9;
real reinvestment_y10;
real reinvestment_terminal;
real capex_y1;
real capex_y2;
real capex_y3;
real capex_y4;
real capex_y5;
real capex_y6;
real capex_y7;
real capex_y8;
real capex_y9;
real capex_y10;
real capex_terminal;
real initial_capex;
real margin_y1;
real margin_y2;
real margin_y3;
real margin_y4;
real margin_y5;
real margin_y6;
real margin_y7;
real margin_y8;
real margin_y9;
real margin_y10;
real margin_initial;
real margin_terminal;
real ebit_initial;
real ebit_terminal;
real ebit_y1;
real ebit_y2;
real ebit_y3;
real ebit_y4;
real ebit_y5;
real ebit_y6;
real ebit_y7;
real ebit_y8;
real ebit_y9;
real ebit_y10;
real nol_initial;
real nol_y1;
real nol_y2;
real nol_y3;
real nol_y4;
real nol_y5;
real nol_y6;
real nol_y7;
real nol_y8;
real nol_y9;
real nol_y10;
real nol_terminal;
real null_nol;
real tax_y1;
real tax_y2;
real tax_y3;
real tax_y4;
real tax_y5;
real tax_y6;
real tax_y7;
real tax_y8;
real tax_y9;
real tax_y10;
real tax_terminal;
real null_tax;
real tax_ebit_y1;
real tax_ebit_y2;
real tax_ebit_y3;
real tax_ebit_y4;
real tax_ebit_y5;
real tax_ebit_y6;
real tax_ebit_y7;
real tax_ebit_y8;
real tax_ebit_y9;
real tax_ebit_y10;
real tax_ebit_terminal;
real initial_fcff;
real fcff_y1;
real fcff_y2;
real fcff_y3;
real fcff_y4;
real fcff_y5;
real fcff_y6;
real fcff_y7;
real fcff_y8;
real fcff_y9;
real fcff_y10;
real fcff_terminal;
real initial_tax_rate;
real tax_rate_y1;
real tax_rate_y2;
real tax_rate_y3;
real tax_rate_y4;
real tax_rate_y5;
real tax_rate_y6;
real tax_rate_y7;
real tax_rate_y8;
real tax_rate_y9;
real tax_rate_y10;
real tax_rate_terminal;
real initial_tcd;
real tcd_y1;
real tcd_y2;
real tcd_y3;
real tcd_y4;
real tcd_y5;
real tcd_y6;
real tcd_y7;
real tcd_y8;
real tcd_y9;
real tcd_y10;
real tcd_terminal;
real initial_cost_capital;
real cost_capital_y1;
real cost_capital_y2;
real cost_capital_y3;
real cost_capital_y4;
real cost_capital_y5;
real cost_capital_y6;
real cost_capital_y7;
real cost_capital_y8;
real cost_capital_y9;
real cost_capital_y10;
real cost_capital_terminal;
real npv_fcff_terminal;
real cumm_cost_cap_1;
real cumm_cost_cap_2;
real cumm_cost_cap_3;
real cumm_cost_cap_4;
real cumm_cost_cap_5;
real cumm_cost_cap_6;
real cumm_cost_cap_7;
real cumm_cost_cap_8;
real cumm_cost_cap_9;
real cumm_cost_cap_10;
real npv_fcff_y1;
real npv_fcff_y2;
real npv_fcff_y3;
real npv_fcff_y4;
real npv_fcff_y5;
real npv_fcff_y6;
real npv_fcff_y7;
real npv_fcff_y8;
real npv_fcff_y9;
real npv_fcff_y10;
real npv_fcff_sum;
real npv_tv;
real operating_assets;
real firm_value;
real equity_value;
real zero_value_per_share;
real value_per_share;
/// Calculate reinvestment
reinvestment_y1 = (revenue_y1-current_revenue)*sales_capital;
reinvestment_y2 = (revenue_y2-revenue_y1)*sales_capital;
reinvestment_y3 = (revenue_y3-revenue_y2)*sales_capital;
reinvestment_y4 = (revenue_y4-revenue_y3)*sales_capital;
reinvestment_y5 = (revenue_y5-revenue_y4)*sales_capital;
reinvestment_y6 = (revenue_y6-revenue_y5)*sales_capital;
reinvestment_y7 = (revenue_y7-revenue_y6)*sales_capital;
reinvestment_y8 = (revenue_y8-revenue_y7)*sales_capital;
reinvestment_y9 = (revenue_y9-revenue_y8)*sales_capital;
reinvestment_y10 = (revenue_y10-revenue_y9)*sales_capital;
reinvestment_terminal = (revenue_terminal-revenue_y10)*sales_capital;
/// Calculate CapEx
initial_capex = 0;
capex_y1 = reinvestment_y1 + current_capex;
capex_y2 = reinvestment_y2 + capex_y1;
capex_y3 = reinvestment_y3 + capex_y2;
capex_y4 = reinvestment_y4 + capex_y3;
capex_y5 = reinvestment_y5 + capex_y4;
capex_y6 = reinvestment_y6 + capex_y5;
capex_y7 = reinvestment_y7 + capex_y6;
capex_y8 = reinvestment_y8 + capex_y7;
capex_y9 = reinvestment_y9 + capex_y8;
capex_y10 = reinvestment_y10 + capex_y9;
capex_terminal = reinvestment_terminal + capex_y10;
/// Calculate margins
margin_initial = initial_margin;
margin_y1 = (initial_margin*1.5)/2.5+final_margin/2.5;
margin_y2 = (margin_y1*1.5)/2.5+final_margin/2.5;
margin_y3 = (margin_y2*1.5)/2.5+final_margin/2.5;
margin_y4 = (margin_y3*1.5)/2.5+final_margin/2.5;
margin_y5 = (margin_y4*1.5)/2.5+final_margin/2.5;
margin_y6 = (margin_y5*1.5)/2.5+final_margin/2.5;
margin_y7 = (margin_y6*1.5)/2.5+final_margin/2.5;
margin_y8 = (margin_y7*1.5)/2.5+final_margin/2.5;
margin_y9 = (margin_y8*1.5)/2.5+final_margin/2.5;
margin_y10 = (margin_y9*1.5)/2.5+final_margin/2.5;
margin_terminal = final_margin;
/// Calculate EBIT
ebit_initial = ebit;
ebit_y1 = revenue_y1*margin_y1;
ebit_y2 = revenue_y2*margin_y2;
ebit_y3 = revenue_y3*margin_y3;
ebit_y4 = revenue_y4*margin_y4;
ebit_y5 = revenue_y5*margin_y5;
ebit_y6 = revenue_y6*margin_y6;
ebit_y7 = revenue_y7*margin_y7;
ebit_y8 = revenue_y8*margin_y8;
ebit_y9 = revenue_y9*margin_y9;
ebit_y10 = revenue_y10*margin_y10;
ebit_terminal = revenue_terminal*margin_terminal;
/// Calculate nol
nol_initial = nol;
null_nol = 0;
nol_y1 = nol_initial > ebit_y1 ? nol_initial - ebit_y1 : null_nol;
nol_y2 = nol_y1 > ebit_y2 ? nol_y1 - ebit_y2 : null_nol;
nol_y3 = nol_y2 > ebit_y3 ? nol_y2 - ebit_y3 : null_nol;
nol_y4 = nol_y3 > ebit_y4 ? nol_y3 - ebit_y4 : null_nol;
nol_y5 = nol_y4 > ebit_y5 ? nol_y4 - ebit_y5 : null_nol;
nol_y6 = nol_y5 > ebit_y6 ? nol_y5 - ebit_y6 : null_nol;
nol_y7 = nol_y6 > ebit_y7 ? nol_y6 - ebit_y7 : null_nol;
nol_y8 = nol_y7 > ebit_y8 ? nol_y7 - ebit_y8 : null_nol;
nol_y9 = nol_y8 > ebit_y9 ? nol_y8 - ebit_y9 : null_nol;
nol_y10 = nol_y9 > ebit_y10 ? nol_y9 - ebit_y10 : null_nol;
nol_terminal = nol_y10 > ebit_terminal ? nol_y10 - ebit_terminal : null_nol;
/// Calculate Taxes
null_tax = 0;
tax_y1 = (ebit_y1 < 0 || ebit_y1 < nol_initial) ? null_tax : (ebit_y1-nol_initial)*marginal_tax;
tax_y2 = (ebit_y2 < 0 || ebit_y2 < nol_y1) ? null_tax : (ebit_y2-nol_y1)*marginal_tax;
tax_y3 = (ebit_y3 < 0 || ebit_y3 < nol_y2) ? null_tax : (ebit_y3-nol_y2)*marginal_tax;
tax_y4 = (ebit_y4 < 0 || ebit_y4 < nol_y3) ? null_tax : (ebit_y4-nol_y3)*marginal_tax;
tax_y5 = (ebit_y5 < 0 || ebit_y5 < nol_y4) ? null_tax : (ebit_y5-nol_y4)*marginal_tax;
tax_y6 = (ebit_y6 < 0 || ebit_y6 < nol_y5) ? null_tax : (ebit_y6-nol_y5)*marginal_tax;
tax_y7 = (ebit_y7 < 0 || ebit_y7 < nol_y6) ? null_tax : (ebit_y7-nol_y6)*marginal_tax;
tax_y8 = (ebit_y8 < 0 || ebit_y8 < nol_y7) ? null_tax : (ebit_y8-nol_y7)*marginal_tax;
tax_y9 = (ebit_y9 < 0 || ebit_y9 < nol_y8) ? null_tax : (ebit_y9-nol_y8)*marginal_tax;
tax_y10 = (ebit_y10 < 0 || ebit_y10 < nol_y9) ? null_tax : (ebit_y10-nol_y9)*marginal_tax;
tax_terminal = (ebit_terminal < 0 || ebit_terminal < nol_y10) ? null_tax : (ebit_terminal-nol_y10)*marginal_tax;
/// Calculate After-Tax EBIT
tax_ebit_y1 = ebit_y1 - tax_y1;
tax_ebit_y2 = ebit_y2 - tax_y2;
tax_ebit_y3 = ebit_y3 - tax_y3;
tax_ebit_y4 = ebit_y4 - tax_y4;
tax_ebit_y5 = ebit_y5 - tax_y5;
tax_ebit_y6 = ebit_y6 - tax_y6;
tax_ebit_y7 = ebit_y7 - tax_y7;
tax_ebit_y8 = ebit_y8 - tax_y8;
tax_ebit_y9 = ebit_y9 - tax_y9;
tax_ebit_y10 = ebit_y10 - tax_y10;
tax_ebit_terminal = ebit_terminal - tax_terminal;
/// Calculate Tax Rate
initial_tax_rate = 0;
tax_rate_y1 = 1 - tax_ebit_y1 / ebit_y1;
tax_rate_y2 = 1 - tax_ebit_y2 / ebit_y2;
tax_rate_y3 = 1 - tax_ebit_y3 / ebit_y3;
tax_rate_y4 = 1 - tax_ebit_y4 / ebit_y4;
tax_rate_y5 = 1 - tax_ebit_y5 / ebit_y5;
tax_rate_y6 = 1 - tax_ebit_y6 / ebit_y6;
tax_rate_y7 = 1 - tax_ebit_y7 / ebit_y7;
tax_rate_y8 = 1 - tax_ebit_y8 / ebit_y8;
tax_rate_y9 = 1 - tax_ebit_y9 / ebit_y9;
tax_rate_y10 = 1 - tax_ebit_y10 / ebit_y10;
tax_rate_terminal = 1 - tax_ebit_terminal / ebit_terminal;
/// Calculate FCFF
initial_fcff = ebit;
fcff_y1 = tax_ebit_y1 - reinvestment_y1;
fcff_y2 = tax_ebit_y2 - reinvestment_y2;
fcff_y3 = tax_ebit_y3 - reinvestment_y3;
fcff_y4 = tax_ebit_y4 - reinvestment_y4;
fcff_y5 = tax_ebit_y5 - reinvestment_y5;
fcff_y6 = tax_ebit_y6 - reinvestment_y6;
fcff_y7 = tax_ebit_y7 - reinvestment_y7;
fcff_y8 = tax_ebit_y8 - reinvestment_y8;
fcff_y9 = tax_ebit_y9 - reinvestment_y9;
fcff_y10 = tax_ebit_y10 - reinvestment_y10;
fcff_terminal = tax_ebit_terminal - reinvestment_terminal;
/// Calculate After-tax Cost of Debt
initial_tcd = initial_cd*(1-initial_tax_rate);
tcd_y1 = cd_y1*(1-tax_rate_y1);
tcd_y2 = cd_y2*(1-tax_rate_y2);
tcd_y3 = cd_y3*(1-tax_rate_y3);
tcd_y4 = cd_y4*(1-tax_rate_y4);
tcd_y5 = cd_y5*(1-tax_rate_y5);
tcd_y6 = cd_y6*(1-tax_rate_y6);
tcd_y7 = cd_y7*(1-tax_rate_y7);
tcd_y8 = cd_y8*(1-tax_rate_y8);
tcd_y9 = cd_y9*(1-tax_rate_y9);
tcd_y10 = cd_y10*(1-tax_rate_y10);
tcd_terminal = terminal_cd*(1-tax_rate_terminal);
/// Calculate Cost of Capital
initial_cost_capital = ce_initial*(1-dc_initial)+initial_tcd*dc_initial;
cost_capital_y1 = ce_y1*(1-dc_y1)+tcd_y1*dc_y1;
cost_capital_y2 = ce_y2*(1-dc_y2)+tcd_y2*dc_y2;
cost_capital_y3 = ce_y3*(1-dc_y3)+tcd_y3*dc_y3;
cost_capital_y4 = ce_y4*(1-dc_y4)+tcd_y4*dc_y4;
cost_capital_y5 = ce_y5*(1-dc_y5)+tcd_y5*dc_y5;
cost_capital_y6 = ce_y6*(1-dc_y6)+tcd_y6*dc_y6;
cost_capital_y7 = ce_y7*(1-dc_y7)+tcd_y7*dc_y7;
cost_capital_y8 = ce_y8*(1-dc_y8)+tcd_y8*dc_y8;
cost_capital_y9 = ce_y9*(1-dc_y9)+tcd_y9*dc_y9;
cost_capital_y10 = ce_y10*(1-dc_y10)+tcd_y10*dc_y10;
cost_capital_terminal = ce_terminal*(1-dc_terminal)+tcd_terminal*dc_terminal;
/// Get terminal value FCFF
npv_fcff_terminal = nol_terminal>0 ? (fcff_terminal/(cost_capital_terminal-growth_trend_terminal))+nol_terminal*marginal_tax : fcff_terminal/(cost_capital_terminal-growth_trend_terminal);
/// Calculate cumulative cost of capital
cumm_cost_cap_1 = 1+cost_capital_y1;
cumm_cost_cap_2 = cumm_cost_cap_1*(1+cost_capital_y2);
cumm_cost_cap_3 = cumm_cost_cap_2*(1+cost_capital_y3);
cumm_cost_cap_4 = cumm_cost_cap_3*(1+cost_capital_y4);
cumm_cost_cap_5 = cumm_cost_cap_4*(1+cost_capital_y5);
cumm_cost_cap_6 = cumm_cost_cap_5*(1+cost_capital_y6);
cumm_cost_cap_7 = cumm_cost_cap_6*(1+cost_capital_y7);
cumm_cost_cap_8 = cumm_cost_cap_7*(1+cost_capital_y8);
cumm_cost_cap_9 = cumm_cost_cap_8*(1+cost_capital_y9);
cumm_cost_cap_10 = cumm_cost_cap_9*(1+cost_capital_y10);
/// Calculate FCFF NPV
npv_fcff_y1 = fcff_y1 / cumm_cost_cap_1;
npv_fcff_y2 = fcff_y2 / cumm_cost_cap_2;
npv_fcff_y3 = fcff_y3 / cumm_cost_cap_3;
npv_fcff_y4 = fcff_y4 / cumm_cost_cap_4;
npv_fcff_y5 = fcff_y5 / cumm_cost_cap_5;
npv_fcff_y6 = fcff_y6 / cumm_cost_cap_6;
npv_fcff_y7 = fcff_y7 / cumm_cost_cap_7;
npv_fcff_y8 = fcff_y8 / cumm_cost_cap_8;
npv_fcff_y9 = fcff_y9 / cumm_cost_cap_9;
npv_fcff_y10 = fcff_y10 / cumm_cost_cap_10;
npv_fcff_sum = npv_fcff_y1 + npv_fcff_y2 + npv_fcff_y3 + npv_fcff_y4 + npv_fcff_y5 + npv_fcff_y6 + npv_fcff_y7 + npv_fcff_y8 + npv_fcff_y9 + npv_fcff_y10;
/// Calculate terminal FCFF NPV
npv_tv = npv_fcff_terminal / cumm_cost_cap_10;
/// Calculate Operating Assests
operating_assets = npv_tv + npv_fcff_sum;
/// Calculate value of firm
firm_value = operating_assets + cash;
/// Calculate value of equity
equity_value = firm_value - debt;
/// Calculate value / share
zero_value_per_share = 0;
value_per_share = equity_value > 0 ? equity_value / stocks : zero_value_per_share;
}
"
### Fit the model
fit_model <- stan(model_code = model, data = data,
iter = 5000 * 4, chains = 4, cores = 2,
seed = 110)
### Get tidy results
tidy_params <- tidy(fit_model, conf.int=T, conf.level=0.95)
return(list(model = fit_model,
params = tidy_params))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.