Description Usage Arguments Details Value Note Author(s) See Also Examples
View source: R/simPricesAndMinimum.R
Simulates from the joint distribution of finite-dimensional distributions (S(t_1),...,S(t_n)) and the minimum m(t_n) of a restricted Geometric Brownian motion by using the truncated multivariate normal distribution of the returns and the conditional distribution of a minimum of a Brownian Bridge given the returns.
1 2 3 4 |
N |
number of samples to draw |
S |
start value of the Arithmetic/Geometric Brownian Motion, i.e. S(0)=S_0 or B(0) = S_0 |
T |
Numeric vector of n valuation times T = (t_1,...,t_n)' |
mu |
the drift parameter of the Geometric Brownian Motion |
sigma |
volatility p.a., e.g. 0.2 for 20% |
lowerX |
Numeric vector of n lower bounds for the Geometric Brownian Motion, zeros are permitted, default is |
upperX |
Numeric vector of n upper bounds for the Geometric Brownian Motion, |
log |
logical, if true the returns instead of prices are returned |
m |
Possible prior minimum value. |
For the n valuation times given by T = (t_1,…,t_n)' we simulate from the joint distribution (S(t_1),…,S(t_n),m(t_1),…,m(t_n)) of the finite-dimensional distribution (S(t_1),…,S(t_n)) and the running minimum m(t_i) = \min_{0 ≤ t ≤ t_i}(S_t) of a restricted/truncated Geometric Brownian motion.
The Geometric Brownian Motion is conditioned at the n valuation dates (t_1,...,t_n) on lowerX_i ≤ S(t_i) ≤ upperX_i for all i=1,…,n.
First we simulate (S(t_1),…,S(t_n)) from a truncated multivariate normal distribution of the returns with mean vector
(μ - σ^2/2) * T
and covariance matrix
\code{Sigma = outer(T, T, pmin) * sigma^2}
and lower and upper truncation points lower=log(lowerX/S)
and upper=log(upperX/S)
respectively.
Given the realized prices (S(t_1),…,S(t_n)) we simulate the global minimum as the minimum of several Brownian Bridges as described in Beskos (2006):
We simulate the period minimum m_{(i-1,i)} between two times t_{i-1} and t_i for all i=1,…,n. This minimum m_{(i-1,i)} | S(t_{i-1}),S(t_i) is the minimum of a Brownian Bridge between t_{i-1} and t_i.
The global minimum is the minimum of all period minima given by
m_n = \min(m_{(0,1)},m_{(1,2)},…,m_{(n-1,n)}) = \min(m_{(i-1,i)})
for all i=1,…,n.
A (N \times 2*n) matrix with N rows and columns (S(t_1),…,S(t_n),m(t_1),…,m(t_n))
This function can be used to determine the barrier risk of express certificates at maturity, i.e. the probability that barrier B has been breached given that we reach maturity: P(m(t_n) ≤ B | \forall_{i < n} S(t_i) < X(t_i))
Stefan Wilhelm wilhelm@financial.com
See the similar method simPricesAndMinimumFromGBM
for the unrestricted Geometric Brownian Motion (i.e. lowerX=rep(0,n)
and upperX=rep(Inf,n)
).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 1. Simulation of restricted GBM prices and minimums m_t
# finite-dimensional distribution and Brownian Bridge
X1 <- simPricesAndMinimumFromTruncatedGBM(N=5000, S=100, T=c(1,2,3),
upperX=c(100,100,Inf), mu=0.05, sigma=0.3)
m1 <- X1[,4]
# 2. Compare to distribution of unrestricted GBM minimums
X2 <- simPricesAndMinimumFromGBM(N=5000, S=100, T=c(1,2,3),
mu=0.05, sigma=0.3)
m2 <- X2[,4]
plot(density(m1, to=100), col="black", main="Minimum m_t for Express Certificate
price paths at maturity")
lines(density(m2, to=100), col="blue")
legend("topleft", legend=c("Restricted GBM minimum","Unrestricted GBM minimum"),
col=c("black","blue"), lty=1, bty="n")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.