Apologies if this isn’t written correctly - my first post, go easy on me ;-)… I’m not a statistician, but when I heard about prob. programming I thought it was very useful tool for financial valuation. So, here goes my question.
The value of a company can be approximated with a number of models. In this case, I am going to use a return on invested capital (roic) valuation model, which is defined as:
enterprise_value = ((ebit*(1-tax))*(1-(g/roic)))/(ke - g)
Excuse my lack of knowledge, please correct me if I am wrong here… enterprise_value is clearly a determinaistic variable which is based on known values for EBIT and TAX, but g and ke are probabilistic variables which have a uniform distribution.
The issue I have is that I do not know what distribution enterprise_value should have, and so I am wondering how to generate values for enterprise_value using the model…?
So far i have the following:
import pymc3 as pm basic_model = pm.Model() tax = 0.30 ebit = 1 with basic_model: #priors ke = pm.Uniform('ke', 0.03, 0.05) g = pm.Uniform('g', 0.05, 0.20) roic = pm.Uniform('roic', 0.10, 0.20) #expected value ev = ((ebit*(1-tax))*(1-(g/roic)))/(ke - g) #likelihood - im guessing the likelihood is the forecast sample...? y_obs = pm.Uniform('y_obs', observed=ev)
Ive taken a stab at it withe the likelihood being uniform, but this is where my lack of stats knowledge is causing me some problems - as I’m just guessing that is the right thing to do here… As stated before, I dont know what the distribution will look like for y_obs, so can pymc3 do that?
Any help would be appreciated!