A large number of business people, investment bankers, employees of central banks and governmental agencies, spend their time trying to forecast share prices, interest rates and other positive stochastic series. This section provides some "building blocks" for someone who needs to model their parameters over time while including different risk into his or her model.
Let's look at a share price movement which in this example we assume to be following some Normal distribution. To say that the absolute deviation from one period to another is normal would usually be a bad approximation, but for our purposes here, we will use it as a starting point.
Imagine an individual share price movement from one period to the next has a drift of 0.02 and a standard deviation of 3. What is the change after 100 movements?
The incorrect answer would be to take a Normal(0.02, 3) distribution and multiply it by 100. That is one of the common mistakes in risk analysis. The correct way of doing it would be to apply Central Limit Theorem and use a Normal function with the mean equal to (100 *0.02) and a standard deviation of (√100 * 3)= 30. The outcome distribution is therefore Normal(2,30).
The model for this example can be found here: Share Price Movement
The correct model has a standard deviation of 30 as opposed to the incorrect way which has a standard deviation of 300:
The figure above compares the two: the correct way of estimating the change in the share price produces a much more confident estimate of the movement in the share price.
The links to the Share Price Movement software specific models are provided here:
This example shows how to add complexities to modeling of an exchange rate. Let's take the following function to model our exchange rate:
Xi+1=Normal(Xi , sigma * Xi)
where Xi is the series value (exchange rate) for period i and Xi+1 is the value for the following period i+1; sigma is a variability parameter.
Above that, we've got several different things going on in the model. We need to model the exchange rate for 300 trading periods (300 days), and we are recognizing that there is an election in period 100, where one of three parties can get into power: the Conservatives, Labour or Liberal Democrats. They can get in with different probabilities Conservatives - 25%, Labour - 70% and Liberal Democrats - 5%.
The volatility parameter sigma is 0.05 now and will remain constant until the day of election. The outcome of the election changes the expected volatility of our exchange rate movements (sigma). If the Labor party wins, the sigma will remain unchanged, if the conservatives win, sigma will rise to 0.08, and if Liberal Democrats win, sigma will go down to 0.04.
One more level of complication: if the Conservatives get in there is a 50 : 50 chance that sigma increases to 0.1 somewhere between period 180 and 200 so there's a second step in the change in sigma.
The model Exchange Rate shows the solution to the above problem.
The model has two graphs, the first of which shows the development of sigma, which is a nice way of checking that this model is working. When there is a 1 for the Conservative Party then about 50% of the times we see a leap between 180 and 200 of sigma. The bottom graph is a combination of the whole model including the initial exchange rate of 100 and the normal distribution which takes the previous cell and then adds a certain percentage of that so it is basically a random walk.
It is a crude, simple little model but it takes into account ideas of being able to include identified risks into your simulation. We are not just simulating from historical data where we see variations but instead we are recognizing that certain events that we know are coming up have a chance of increasing or decreasing the volatility. Finally, instead of assuming a chance in volatility, we could of course have assumed that the drift of the exchange rate would have altered because of the election results.
Random walk models are discussed here.
The links to the Exchange Rate software specific models are provided here:
Here is a screenshot of the model:
Column C of the above model shows the value of sigma for each period, taking the value of 0.05 for the periods 1 to 99. For the following periods sigma will take values 0.05, 0.08 or 0.04 depending on the party that wins the election. The simulation of the election is shown in cell I17, which uses Crystal Ball's Custom distribution to construct a Discrete Distribution with values 1 (Conservative), 2 (Labour) and 3 (Liberal Democrats), and probabilities of success 25%, 70%, 5% respectively. Cell I18 looks up the value of sigma for the party that has won the election, which is then fed into column C.
Cell J19 shows the period of change in the exchange rate volatility if the Conservative party wins the election (an Integer Uniform distribution, constructed with Crystal Ball's Custom distribution). In addition, cell H25 checks if the Conservative party has won the election, and if it has, then returns either 1 or 0 with 50% probability each (using a Discrete Distribution, constructed with Crystal Ball's Custom distribution). Finally, the output column E is using the Normal function to produce the required series.
Here is a screenshot of the model:
Column C of the above model shows the value of sigma for each period, taking the value of 0.05 for the periods 1 to 99. For the following periods sigma will take values 0.05, 0.08 or 0.04 depending on the party that wins the election. The simulation of the election is shown in cell H17, which uses a RiskDiscrete function with values 1 (Conservative), 2 (Labor) and 3 (Liberal Democrats), and probabilities of success 25%, 70%, 5% respectively. Cell H18 looks up the value of sigma for the party that has won the election, which is then fed into column C.
Cell I19 shows the period of change in the exchange rate volatility if the Conservative party wins the election. In addition, cell G25 checks if the Conservative party has won the election, and if it has, then returns either 1 or 0 with 50% probability each. Finally, the output column D is using the RiskNormal function to produce the required series.