- Assume a financial markets where stock and money market account follow the dynamics
dSt = St dt + St dWt, S0 = 100;
dBt = rBt dt, B0 = 1,
with = 0.03, = 0.25 and r = 0.01. You want to calculate the price of a European call option with maturity T = 1 and strike K = 120 using Monte-Carlo integration.
- Determine a prioriry analytically how many samples you will need that you get the correct price up to the dime (i.e., the price is in an interval of $0.05 around the true price) that is correct in 95% of the cases.
- Perform the Monte Carlo calculation 100 times with the number of samples given by (a). Count how often the price is correct up to the dime and how often not.
- How many samples do you will have to use to get a price that is correct up to the cent in 95% of the cases?
- Assume that the financial loss of a firm is given by the random variable
X = 100.000Y 220.000 where Y is a Weibull distributed random variable with shape parameter k = 0.6 and scale parmeter = 1. Note that the Weibull distribution is given via the density
if x > 0;
0 if x 0.
- Calculate the 95% value-at risk of the loss X
- Calculate the value-at-risk of the loss Y numerically, using the a sample size of 100,000.
- Assume that (X1,X2)T is a bivariate normal distribution with mean vector
(1,2)T = (2,3)T such that X1 has variance has variance 7, and correlation = 12 = 0.6.
- Calculate the covariance matrix of (X1,X2)T.
- Calculate the Cholesky factorization of by hand.
- Calculate the Cholesky factorization of by writing a Python algorithm based on the ideas discussed in class. Compare it with the result from (b) as well as the built-in numerical method in numpy.
- Produce 1000 samples of the random vector (X1,X2)T (using the Cholesky factorization from (b), (c) and the built-in random number generator for independent standard normals). Plot the samples (in a two-dimensional scatterplot). Discuss the plot by relating the given parameters to properties of the plot.
- Assume that a company holds four assets A = (A1,A2,A3,A4)T such that the losses of the assets are multivariate normal distributed with mean vector
(1,2,3,4)T = (1000,700,300,200) and covariance matrix
144 = 12072300 | 72100180230 | 120180 389880 | . |
The asset weights are given by w = (w1,w2,w3,w4) = (0.4,0.2,0.3,0.1), thus the whole portfolio will face the loss L = wA. Calculate the 99% value at-risk of the loss L using a simulation with 10,000 samples.
- (a) Simulate Brownian motion by adding iteratively up scaled standard normal variables with scaling factor t := tk tk1 = NT where T is the time horizon plotted and N the number of increments.
- Plot 10 independently simulated paths of Brownian motion in one picture, using T = 1 and N = 10,100,1000,10,000 (to be clear: for every value of N 10 paths, for every N a different plot).
- Now generate the Brownian paths using the method via Cholesky factorization. Compare the run-time of both methods and comment on it.
- Assume a financial markets where stock and money market account follow the dynamics
dSt = St dt + St dWt, S0 = 100;
dBt = rBt dt, B0 = 1,
with = 0.17, = 0.25 and r = 0.02. We want to price an up-and-out barrier put option with maturity T = 2, strike K = 105 and B = 120.
- Produce 10,000 sample paths of geometric Brownian motion of the stock price under the risk neutral measure by producing the underlying Brownian motion stepwise from increments with stepsize .
- Use the sample paths to calculate by Monte-Carlo integration the price of the Barrier options.
- In how many cases the actual payoff of the option is zero due to the fact that the barrier was hit before maturity? How des this number change if we use instead barrier values B = 105 and B = 180?
- Based on your investigation in (c), is there any method how the calculation can be sped up?
Note: All programming problems should be either in Python 2.7 or Python 3.5. Matlab and R are accepted, but no support for these languages is provided. Please comment the programs extensively and send them in a .zip file with title Lastname HW3.zip and suject line MA 573 HW3 Lastname to Qingyun Ren [email protected] before the due date of the homework (replacing the bold words by your actual last name). Please provide printouts of programs amd plots that one can comment on them.
4 points per problems
Reviews
There are no reviews yet.