PowerPoint Presentation
Chapter 26: Simulating Stock Prices
Copyright By PowCoder代写 加微信 powcoder
Stock prices vs Returns
Not normally distributed
Normally distributed
Stock returns are normal
= mean return
= standard deviation of return
Z = random number, normally distributed
= 0, = 1 Simulated with Excel function Norm.S.Inv(rand())
Norm.S.Inv(Rand()) produces random numbers that are standard normally distributed. For more details, see Chapter 24, page 618.
Checking the simulation
Use Excel’s Frequency to see the distribution
1 + stock returns are lognormal
1 + stock return:
= mean return
= standard deviation of return
Simulate 1 + return: the growth of the stock price
1+return shows familiar “zigzag” noise
Frequency distribution of 1 + return is lognormal
1,000 simulations with Dt = 1 means 1,000 years of simulated stock growth!
Lognormal harder to see when Dt is small
1,000 simulations with Dt = 1/250 means 4 years of simulated stock growth. Much harder to see the difference between normal and lognormal.
Lognormal distribution,
m = 0, s = {1, 0.5, 0.25}
Source: http://en.wikipedia.org/wiki/Log-normal_distribution#mediaviewer/File:Some_log-normal_distributions.svg
When the mean is large relative to the sigma, the lognormal looks like the normal.
Source: http://www.vosesoftware.com/vosesoftware/ModelRiskHelp/index.htm#Distributions/Approximating_one_distribution_with_another/Normal_approximation_to_the_Lognormal_distribution.htm
Source: Wikipedia
Theorem: Sum of normals is normal
Multiplying continuous returns means adding them inside the Exp[ ] function
N different standard normal deviates
1 + growth is additive
The first two moments of the terminal stock price when the return is normally distributed
What does this mean?
The expected stock price increases with time and variance
This is why in risk-neutral pricing, the mean is often written as
The variance of the terminal stock price ST increases with time and variance
Comparing ST to E(ST), 100 simulations
Simulation of terminal stock price
Annual mean, mu11%
Annual sigma15%
Annual variance0.0225<-- =sigma^2
Deltat0.083333<-- =1/12
0.025519543
0.077841895
0.063577959
0.059302039
0.06760982
-0.07614611
0.021912562
-0.082427427
0.075097905
=mu*deltat+sigma*SQRT(deltat)*NORM
.S.INV(RAND())
Stock return simulation
STOCK RETURNS ARE NORMAL
1,000 simulations
Count1000<-- =COUNT(A:A) Count1000<-- =COUNT(A:A)
Mean0.0084<-- =AVERAGE(A:A) Mean10.14%<-- =AVERAGE(A:A)/deltat
Sigma0.0442<-- =STDEV.S(A:A) Sigma15.31%<-- =G5*SQRT(1/deltat)
Variance0.0020<-- =VAR.S(A:A) Variance0.0234<-- =G6/deltat
Min-0.1197<-- =MIN(A:A)
Max0.1369<-- =MAX(A:A)
Return statistics
Annualizing return statistics:
Multiply by 1/
Annual mean, mu11%
Annual sigma15%
Annual variance0.0225<-- =sigma^2
Deltat0.0833<-- =1/12
BinsFrequency
-0.03631<-- {=FREQUENCY(A:A,F12:F32)}
-0.0197215
-0.0164125
-0.0097959
-0.00649105
-0.0031899
0.000132139
0.00344146
0.006749100
0.010057113
0.01336563
0.01667449
Frequency distribution of returns
020406080100120140160-0.0400-0.0300-0.0200-0.01000.00000.01000.02000.03000.0400Frequency distribution of returnsAnnual (mean,sigma) = (11%,15%), deltat = 0.004
Annual mean, mu12%
Annual sigma33%
Annual variance0.1089<-- =sigma^2
Deltat 1<-- 1
<-- =EXP(mu*deltat+sigma*SQRT(deltat)*NORM.S.INV(RAND()))
<-- =EXP(mu*deltat+sigma*SQRT(deltat)*NORM.S.INV(RAND()))
<-- =EXP(mu*deltat+sigma*SQRT(deltat)*NORM.S.INV(RAND()))
<-- =EXP(mu*deltat+sigma*SQRT(deltat)*NORM.S.INV(RAND()))
1+RETURN = EXP(MU*Deltat+S*SQRT(Deltat)*Z IS LOGNORMAL
Deltat =1.00; 1,000 simulations
0.00000.50001.00001.50002.00002.50003.00003.5000137731091451812172532893253613974334695055415776136496857217577938298659019379731+return = exp(mu*deltat+sigma*sqrt(deltat)*Z over 1000.00 yearsAnnual (mean,sigma) = (12%,33%), deltat = 1.000
01020304050607080901000.000.501.001.502.002.503.003.50Frequency distribution of 1+return = exp(mu*deltat+sigma*sqrt(deltat)*ZAnnual (mean,sigma) = (12%,33%), deltat = 1.000
010203040506070800.92000.94000.96000.98001.00001.02001.04001.06001.0800Frequency distribution of 1+return = exp(mu*deltat+sigma*sqrt(deltat)*ZAnnual (mean,sigma) = (12%,33%), deltat = 0.004
T4.00<-- =COUNT(A11:A1010)*deltat
Average40.7983
Check40.6044<-- =S0*EXP((mu+sigma^2/2)*G3)
Sigma11.7458<-- =STDEV.S(G11:G111)
Check12.2502<-- =S0*EXP((mu+sigma^2/2)*G3)*SQRT(G3*(EXP(sigma^2)-1))
Simulation
Simulation
26.627540.60438
135.595340.60438
238.203940.60438
336.260940.60438
445.977940.60438
557.248840.60438
640.721640.60438
766.704240.60438
Statistics for 101 simulations
101 simulations of terminal stock
20220exp*2*exp**T*exp12TESSTST
/docProps/thumbnail.jpeg
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com