Simulation Models for Risk Analysis Workshop

Materials for Lecture 13
• Chapter 2 pages 6-12, Chapter 6,
Chapter 16 Section 3.1 and 4
• Read Richardson & Mapp article
• Lecture 13 Probability of Revenue.xlsx
• Lecture 13 Flow Chart.xlsx
• Lecture 13 Farm Simulator.xlsx
• Lecture 13 Uniform.xlsx
What is a Simulation Model?
• A simulation Model is a mathematical
representation of a system of equations
– When you think through the many steps to solve a
problem you are constructing a model
– When you think or plan your way through a complex
situation you are making a virtual model
– Computer games are models
– Econometric equations can be part of a model
• We build models so we do not have to
experiment on the actual economic system
– Will the business be successful if we change
management practices, etc.?
Outline for the Lecture
•
•
•
•
Organization of a model in an Excel Workbook
Steps for model development
Parts of a simulation model
Generating random variables from uniform
distributions
• Estimating parameters for other distributions
– Parameters are the numbers that define the center
and the dispersion about the center for a random
variable
– For a Normally distributed random variable, the
parameters are the Mean & Std Dev
– For Empirical it is a little more complicated ….
Organization of Models in Excel
Input Data:
• Costs, inflation & interest rates
• Production functions
• Assets & liabilities
• Scenarios to analyze, etc.
Historical Data for Stochastic
Variables:
• Prices
• Production levels
• Other variables not
controlled by management
Equations to calculate variables:
Model Outputs:
• Production, Receipts, Costs, Amortize
Loans, Update Asset values, Taxes, etc.
• Statistics for KOVs
• Tables to report financial results:
• Probability charts
• Decision summary
• Final report tables
• Income statement, cash flow,
balance sheet, financial ratios
• KOV Table
• List all output variables of interest
Organization of Models in Excel
• Sheet 1 (Model)
–
–
–
–
–
–
Assumptions and all Input Data
Control variables for managing the system
Logical flow of all calculations
Table of intermediate results
Pro Forma financial tables of results
Key Output Variables (KOVs) Table to send to SimData
• Sheet 2 (Stoch)
– Historical data for all random variables
– Calculations to estimate the parameters for all random
variables
– Simulate all random values to be used in the Model
• Sheets 3-N (SimData, Stoplite, SERF, STODOM, etc)
– Simulation results tables and charts
Model Design Steps
KOVs
Design
Intermediate Results
Tables and Reports
Build
Equations and Calculations to
Get Values for Reports
Stochastic Variables
Exogenous and Control Variables
• Model development is like building a
pyramid
– Design the model from the top down
– Build from the bottom up
Steps for Model Development
• Determine the purpose of the model and KOVs
• Draw a sketch of how data will be used to calculate
the KOVs
• Determine all of the variables necessary to calculate
the KOVs
– For example to calculate Net Present Value (NPV):
NPV = -Beg NW +∑(PV Net Returns) +PV Ending NW
• Annual net cash withdrawals (money that leaves the business)
which are a function of net returns
• Ending net worth which is a function of assets and liabilities
– This means you need a balance sheet and a cash flow statement to
calculate annual cash reserves
– An annual income statement is needed as input into a cash flow
– Annual net returns are calculated from an income statement
Flow Chart for Simulating NPV
Control Variables for Manager such
as: Levels of Production, Debt
Levels, Market Share
Macro Data as inflation rates
interest rates
Sections and Equations for the Model
Generate the Stochastic Values
Use Projected Means and Historical Data for Random Variables
Use the Stochastic Values in the Equations for the Model
Equations for the System to model
Production = f( scale of the farm and stochastic values)
Price = f( stochastic values)
Revenue = Price * Production for each enterprise
Variable Costs by Enterprise = Production * Unit Cost
Costs = Variable Costs for each enterprise + Fixed Costs
Net Returns = Revenue - Costs
Balance Sheet Information
Asset Valuation
Liabilities
Net Worth
Annual Projected Mean Prices
Key Output Variables
Net Present Value
Probability of Net Returns > 0
Probability of NPV > 0 ( or Prob of Success)
Probability of Increasing Real Net Worth
Analyze KOVs
Budgets for each of the
Enterprises
Stochastic Variables -- need the
historical data to estimate
parameters for random variables
Steps for Model Development
• Write out the equations by hand or at least in Word
– This organizes your thoughts and the model’s structure
– Avoids problem of forgetting important sections
– Example of equations to simulate receipts:
•
•
•
•
•
Output/hour = a stochastic variable
Hours Operated = management control value (scenario variable)
Production = Output/hour * Hours Operated
Price = forecast mean each year with a risk component
Receipts = Price * Production
• Define input variables
– Exogenous variables are not controlled by management and are
deterministic; usually policy driven
– Stochastic variables management can not control and are
random in nature: weather, input & output prices, interest rates
– Control variables the manager can manipulate and are usually
used for sensitivity and/or scenario analyses
Steps for Model Development
• Stochastic variables (most time is spent here)
– Identify key random variables that affect the system
– Estimate parameters for the assumed distributions
• Normality – means and standard deviations
• Empirical – sorted deviates and probabilities
• Other distributions should be tested
– Use the best possible econometric model to forecast
deterministic part of stochastic variables to reduce risk
• Model validation starts here
– Use statistical tests of the simulated stochastic variables
to insure that random variables are simulated correctly
• Correlation tests, means tests, variance tests
• CDF and PDF charts to compare history to simulated values
• Key to validating model are statistical tests
More About Stochastic Variables
• What are Stochastic Variables?
– Random variables we can not control, such as:
• Prices, yields, interest rates, rates of inflation, sickness, etc.
– Represented by the residuals from regression equations
-- this is the part of the variable we did not predict
• Why include stochastic variables?
– To get a more robust simulation answer
– Draw random values from a PDF rather than a single or
deterministic value
– The result is that we can assign probabilities to KOVs
– We can incorporate risk in our decisions of selecting
between scenarios
More About Stochastic Variables
• Production of agricultural products is
stochastic due to many factors
– Weather, producers’ response to prices (acres
planted, inputs used in production, etc.)
Output Y
Input X1
Prices are Stochastic Due to
Demand Being Stochastic
• Supply and Demand Model
– You learned there is one Demand and one Supply
– But there are many, due to risk in the market
Qx = a + b1Px +b2Y + b3Py gives a single line for Demand
Qx = a + b1Px +b2Y + b3Py + ẽ gives infinite Demands
– After harvest Supply is a constant, so we get an infinite
number of Prices as we draw ẽ values at random
Price/U
Supply
• Demand is stochastic so we can
have an infinite number of
Demand functions passing
through the QD distribution
Demand
Quantity/UT
The Basic Business Model
• Profit is generally our Most Important KOV
𝜋 = Total Receipts – Variable Cost – Fixed Cost
𝜋 = ∑(P~i * Ỹi * Qi ) - ∑(VCi * Qi ) – FC
~
Where Pi is the stochastic price for product i, as $/bu.
Ỹi is stochastic production level as yield or bu./acre
VCi is variable cost per unit of production for i, or $/bu.
Qi is the level of resources committed to i, as acres
Ending Cash is our Second Most
Important KOV
• All businesses want to avoid a negative ending
cash balance
• Scenario analyses used to predict P(cash < 0)
• Ending cash reserves calculated as
Net Cash Income = Total Receipts – Total Cash Costs
Total Cash Available = Beginning Cash + Net Cash Income +
Interest Earned
Total Cash Outflow = Principal Payments + Income Taxes +
Machinery Down Payments + Cash
Withdrawals & Dividends + Repay Cash
Flow Deficitst-1
Ending Cash = Total Cash Available – Total Cash Outflow
Univariate Random Variables
• More than 50 Univariate Distributions in Simetar
–
–
–
–
–
–
–
Uniform Distribution
Normal and Truncated Normal Distribution
Empirical, Discrete Empirical Distribution
GRKS Distribution
Triangle Distribution
Bernoulli Distribution
Conditional Distribution
• We will focus on learning to use these but there
are many more in Simetar
– See Chapter 16, Sections 3.1 and 4
Uniform Distribution
• A continuous distribution where each range has an
equal probability of being observed
– 20% chance of seeing a value between 0 and 0.2 or between
0.8 and 1.0
• Parameters for the uniform are minimum and
maximum values and the domain includes all real
number’s
=UNIFORM(minimum, maximum)
• The mean and variance of this distribution are:
min  max

2


max  min 

2
2
12
PDF and CDF for a Uniform Dist.
Probability Density Function
f(x)
min
max X
Cumulative Distribution Function
F(x) 1.0
0.0
min
max X
When to Use the Uniform Distribution
• Use the uniform distribution when every range of length
“n” between the minimum and maximum values has an
equal chance of occurrence
• Use this distribution when you have no idea what type of
distribution to use
• Uniform distribution is used to simulate all random
variables via the Inverse Transform procedure and USD
An example of
how USD is used
to simulate a
Standard Normal
Distribution
Uniform Deviate
1.0
USDi
0.8
0.6
0.5
0.4
0.2
-
3
0
SNDi
+ 3 Std. Normal Dev.
Inverse Transform for Generating a SND from a USD
Uniform Standard Deviate (USD)
• In Simetar we simulate the USD as:
=UNIFORM(0,1) or =UNIFORM()
– Produces a Uniform Standard Deviate (USD) 0 to 1
– Special case of the Uniform distribution
• USD is the building block for all random number
generation using the Inverse Transformation
method for simulation. Inverse Transform uses
a USD to simulate a Uniform distribution as:
X = Min + (Max-Min) * USD
Simulate a Uniform Distribution
• Alternative ways to program the
Uniform( ) distribution function
= Uniform(Min, Max,[USD])
= Uniform(10,20) Not recommended method
= Uniform(A1,A2) This is the preferred method
= Uniform(A1,A2,A3) where a USD is calculated
in cell A3
Uses for a Uniform Standard Deviate
• USD can be used in all random variable
formulas in Simetar to facilitate correlating
random variables
• For example in Simetar we can add USDs:
=NORM(mean, std dev, [USD1])
=GRKS(min, middle, max, [USD2])
= EMP( Si, F(Si), [USD3])
=EMP(values , , [USD4])
NOTE: every variable has its own unique USD.
Do not use a USD more than ONCE!
• Note the [ ] means that USD is optional
Generating Random Numbers
• Generate a Uniform Standard Deviate (USD)
=UNIFORM(0,1)
Simetar defaults to simulate 500 values (can be changed to 1,000s)
These are called iterations or draws
Iterations are separate, uncorrelated draws of random variables
USD = UNIFORM(0,1)
Prob
CDF for Uniform(0,1)
0.12
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.1
0.08
0.06
0.04
0.02
0
0.2
0.4
0.6
0.8
1
0
0.00
0.13
0.25
0.38
0.50
0.62
0.75
0.87
• Equal chance of observing a number in each of the intervals; both
charts are for the same output
1.00
USD Output in SimData
• Simetar saves the 500 samples in
SimData and calculates summary statistics
Prob
Simetar Simulation Results for 500 Iterations. 9:36:20 AM 2/17/2013 (1 sec.). © 2011.
Variable Sheet1!B7
Mean
0.499985
The mean of a Uniform (0,1) distribution is 0.5
StDev
0.288988
The minimum is 0.0
CV
57.79939
The maximum is 1.00
Min
0.000895
See how close the results are for 500 iterations!
Max
0.999165
CDF for Uniform(0,1)
Iteration USD
1
1 0.512793
0.9
0.8
2 0.307316
0.7
3 0.581277
0.6
0.5
4 0.787495
0.4
5 0.94209
0.3
0.2
6 0.735971
0.1
7 0.048923
0
0
0.2
0.4
0.6
0.8
1
8 0.23733
Inverse Transform
• Use the 500 USDs to simulate random
variables for your Ŷ variable
• This involves translating the USDs from a
0 to 1 scale to the scale for your random
variable
• This is done using the Inverse Transform
method shown on the next slide.
• NOTE: you must have a separate USD for
every random variable Y
Inverse Transform
• The 500 USDs converted from the 0 to 1
scale on the Y axis by direct interpolation
• Each random USD is associated with a
unique “random” Y value to get 500 Ỹs
USD or F(x)
1.00
0.90
0.80
0.70
0.60
0.50
0.40
0.30
0.20
0.10
0.00
55.00
CDF of a Random Variable
60.00
65.00
70.00
75.00
Inverse Transform
• Results of 500 iterations for Y using
Inverse Transform in an Empirical Dist.
Simulation Results for 500 Iteratio
• USDs and their resulting Ỹs Simetar
Variable Sheet1!G33
Sheet1!G34
Mean
0.499985 65.19666
StDev
0.288988 3.136123
CV
57.79939 4.810251
Min
0.000895 56.38011
Max
0.999165 74.43161
Iteration USD
Y-Tilda
1 0.512793 65.22607
2 0.307316 63.61534
3 0.581277 65.7939
4 0.787495 67.72464
5 0.94209 70.20308
6 0.735971 67.17892
7 0.048923 60.03664
8 0.23733 62.91843
9 0.955568 70.68873
10 0.634662 66.23654
Simulate the Normal Distribution
• Parameters for a Normal Distribution
– Mean or Ŷ from OLS
– Std Dev or σ of residuals
• Simulated using the formula for a Normal
Ỹ = Ŷ + σ * SND
Where the SND is a “standard normal deviate”
We generate 500 SNDs and thus simulate
(calculate) 500 random Y’s
Simulate the Standard Normal Deviate
(SND)
•
•
•
•
SND is a random value between ±∞
SND has a mean of zero and a standard deviation of one
SND is simulated by =NORM(0,1)
SNDs are the “number of standard deviations from the
mean” or the number of σ’s Ỹ is from the Ŷ or Ῡ
Uniform Deviate
1.0
USDi
0.8
0.6
0.5
0.4
0.2
-
3
0
SNDi
+
Inverse Transform for Generating a SND from a USD
3
Std. Normal Dev.
Simulate Normal Distribution
• Next apply the random SNDs to the
Normal distribution formula
Ỹ = Ŷ + σ * SND
In Simetar all of these steps are done for
you: = NORM(Ŷ, σ)
or
= NORM(Ŷ, σ, USD)
• Remember where to get Ŷ and σ ?
– In forecasting we estimated
Ŷ = a + bX1 +bX2
σ = Standard Deviation of residuals
Normal Distribution: Simetar
Code and Output
• The USD is used to calculate the SND
• The SND is used to simulate Ỹ
• Simetar gives same result in one step
Simetar Simulation Results for 500 Iterations. 7:56:32
Variable Sheet1!B47Sheet1!B48Sheet1!B49Sheet1!B50
Mean
0.499985 -0.00015 65.48175 65.48175
StDev
0.288988 1.001471 3.946465 3.946465
CV
57.79939 -650265 6.026817 6.026817
Min
0.000895 -3.12303 53.1755 53.1755
Max
0.999165 3.143506 77.86988 77.86988
Iteration USD
SND
Y Tilda
Simetar
1 0.512793 0.032072 65.60874 65.60874
2 0.307316 -0.50347 63.49834 63.49834
3 0.581277 0.20516 66.29082 66.29082
4 0.787495 0.797758 68.62605 68.62605
5 0.94209 1.572561 71.6793 71.6793
6 0.735971 0.630975 67.96882 67.96882
7 0.048923 -1.65539 58.95901 58.95901
Forecasting REVIEW Notes
• The following is a mathematical review of the
forecasting techniques we have covered in class
• We will not cover these in class
• They are for your benefit as a summary of the
math all in one place
Forecast Techniques
 Moving Average
Example of a 3 period MA model
Ŷi = (Yi-3 + Yi-2 + Y1) / 3
ˆ
Calculate ê = Yi - Y
i
and simulate e as N(0, ˆ e ) if eˆ is Normally distributed,
Simulate it for a future period, say, year 16 as
Y16 = [(Y 15 + Y14 + Y13 ) /3] + (ˆ e * SND)
Deterministic Component
Stochastic Comp
Forecasting Techniques
 Simple Exponential Smoothing
Example is:
ˆ = aˆ * Y + (1-a)
ˆ
ˆ *Y
Y
i
i-1
i-1
ˆ
Calculate eˆ = Yi - Y
i
Simulate ê for a future period, say, 25 as:
ˆ + (ˆ * SND)
ˆ Y
Y25 = aˆ * Y24 + (1 - a)
24
e
Deterministic Component
Stochastic Comp
Forecasting Techniques
 Regression Models




Trend Regression
Multiple Regression
Non-Linear Trend Regression
Harmonic Regression
Use the residuals ê's to simulate the risk in the forecast
Ŷt = a + b1 Xt + b2 Yt + b3 Tt
Yt = Yˆ t +  eˆ * SND
For example, if we had used OLS to estimate a cycle
Yˆ = aˆ + bˆ  2 T  + bˆ Sin  2 T/CL  + bˆ Cos  2 T/CL 
t
1
Std. Dev. Pop =  ê
Yt = Yˆ t +  eˆ * SND
2
3
Forecast Techniques
 Using a Seasonal Price Index for Forecasting:
 Seasonal index for each month Ii, i = 1, 2, …, 12
 Annual forecast for year t is Ŷt
 Deterministic monthly forecast for month 6
ˆ =Y
ˆ *I
Y
t,6
t
6
 To make this stochastic need to add risk on the index I and on Ŷt
 Risk on annual forecasts component is  ê from the residuals
on the annual forecast ) or use a MVE for the Deviations from
mean).
 Risk on the monthly index is  Ii from the index for month i.
 Stochastic monthly forecast for month 6 if assume residuals are normally dist.
ˆ = (Y
ˆ +  ˆ * SND ) * (I +  * SND )
Y
t,6
t
1
6
I6
2
e
Forecast Techniques -- Seasonal Forecast
Finding the risk measure for the monthly index, or  Ii
 Calculate the Seasonal Index Table to get index values Iij
 Calculate parameters for a Multivariate Empirical Distribution as a
Fraction of the Mean – using the values in the Index table ( the 12
months and N years of prices or sales numbers)
-Correlation matrix using unsorted deviations from the mean
-Sorted deviations from the mean as a fraction
-Probabilities for the sorted deviates
 Calculate CUSD’s using the correlation Matrix. Calculate a separate
12x1 vector for each year to forecast
 Calculate the Stochastic Index Value I ij for each year as:


I ij = Iij * 1 + EMP(Si, P(Si),CUSDij for year i to forecast and month j
 Seasonal forecast value in year i, month j is:
Yij = Yi * I ij
 See Lecture 16 Probabilistic Forecasting.XLS Worksheet Seasonal Forecast
Forecast Techniques
 Times Series Stochastic Forecasts
 AR and VAR models can be estimated and deterministic
forecasts can be developed
ˆ = aˆ + bˆ Y + bˆ Y
Y
t+1
1
1 t
2 t-1
 The one period ahead forecast can be simulated stochastic
by adding risk
ˆ + ˆ * SND
Yt+1 = Y
t+1
e
where
ˆ e is the std. dev. of the residuals for the AR( ) model
 This is a stochastic application of the Chain Rule forecasting
formula
Time Series Stochastic Forecasts
 The second and third periods ahead stochastic forecasts
from the AR Model become more complex as:
ˆ
ˆ + bˆ 1 Yt+1 + bˆ 2 Yt
Y
t+2 = a
ˆ
Yt+2 = Y
t+2 + ˆ e * SND
and
ˆ
ˆ + bˆ 1 Yt+2 + bˆ 2 Yt+1
Y
t+3 = a
ˆ
Yt+3 = Y
t+3 + ˆ e * SND