辅导Barrier option、Matlab程序辅导、讲解Matlab设计 讲解R语言编程|调试Matlab程序
- 首页 >> Web PROJECT. COMPUTING BARRIER OPTION PRICES UNDER LOCAL
VOLATILITY MODEL WITH FINITE DIFFERENCE AND MONTE CARLO
SIMULATION
Assume the stock price S paying a continuous dividend yield q follows the process below dSt = (r q)Stdt + σ(St, t)StdWt, (1)
where r is the risk free interest rate and W is a Wiener process under the risk-neutral
probability measure. The local volatility surface has been calibrated with the form below:
We know that the price of an option, V (S, t), on the above stock satisfies the PDE below:
In this project you are asked to price some very popular weakly path dependent option,
such as a Barrier option using both Finite Difference and Monte Carlo Methods.
Barrier options (also called knock-in or knock-out options) are standard calls or puts except
that they disappear (knock-out) or come into existence (knock-in) if the underlying asset
price is found to have crossed a predetermined (barrier) level, B, anytime before the maturity
of the option. They have a fairly standard naming convention which describes whether
the barrier is below or above the current asset price (“down” or “up”), whether the option
disappears or appears when the barrier is crossed (“out” or “in”) and whether they have a
standard call or put pay-off. For instance, an up-and-out call option with zero rebate will
have a payoff
hup-and-out call(ST ) = (max(ST K, 0), if max0≤t≤T St < B0, otherwise
The aim of this project is to use the following pricing parameters, spot price S0 = £100,
strike price K = £100, a Barrier level B = £130, risk-free rate r = 3%, dividend yield
q = 5%, time to maturity T = 0.5 year, and α in the local volatility function α = 0.35,
solve the Black-Scholes PDE numerically to price an up-and-out call option by means of
(1) Explicit finite differences
(2) Implicit finite differences
Date: Current Version February 8, 2018.
12 PROJECT
(3) Crank-Nicolson finite differences
Since there is no analytic solution to the PDE, you need to compare the results from finite
difference method with the prices calculated from Monte Carlo simulation. Please finish
the tasks below:
a (35% of project mark) Implement Monte Carlo Simulation using Euler Scheme to discretize
equation (1) with 500 time steps and 1 million paths to compute the up-and-out
call option prices and 95%? confidence intervals of those prices. Please use the antithetic
method to reduce the variance of the results.
b (15% of project mark) Discuss proper domain and boundary conditions you should use
in the finite difference schemes based on the properties of the up-and-out call option.
c (40% of project mark) For each of three finite difference schemes, namely each scheme
in (1) - (3), compare the prices with different grid sizes with those from the Monte Carlo
methods and report the convergence properties of each scheme.
d (10% of project mark) In the case of the explicit finite difference scheme demonstrate
that the scheme is conditionally stable and find the condition under which the scheme
would be stable.
The code should be accompanied by detailed documentation, split into:
code developer documentation: presenting the structure of the code, available functions,
main variables and any other information to help to understand the code,
including directions on how to extend the code to handle more general features; the
test runs of your code and timings should be reported in a separate section of the
developer documentation;
end-user’s instructions: how to use the .m program, how to input data and how the
results are presented, and a brief description of the methods implemented. Also the
discussions of parts (b), (c) and (d) should be included here.
Each of the marks in the above categories (a) (d) will be split as follows: 60%
for coding style, clarity and accuracy of computation, and 40% for documentation
(including comments within the code).
This project will contribute 40% towards the final mark for the module.
Submit your work by uploading it in Moodle by 23:55 on Sunday, 15 April 2018. Submit
the code as a single compressed .zip file, including all Matlab (.m) files all residing in a single
parent directory, whose name should contain your name and student code. The .zip file
should preserve the subdirectory structure of the parent directory (that is, the subdirectory
structure must be automatically recreated when unzipping the file).
14th April 2019
VOLATILITY MODEL WITH FINITE DIFFERENCE AND MONTE CARLO
SIMULATION
Assume the stock price S paying a continuous dividend yield q follows the process below dSt = (r q)Stdt + σ(St, t)StdWt, (1)
where r is the risk free interest rate and W is a Wiener process under the risk-neutral
probability measure. The local volatility surface has been calibrated with the form below:
We know that the price of an option, V (S, t), on the above stock satisfies the PDE below:
In this project you are asked to price some very popular weakly path dependent option,
such as a Barrier option using both Finite Difference and Monte Carlo Methods.
Barrier options (also called knock-in or knock-out options) are standard calls or puts except
that they disappear (knock-out) or come into existence (knock-in) if the underlying asset
price is found to have crossed a predetermined (barrier) level, B, anytime before the maturity
of the option. They have a fairly standard naming convention which describes whether
the barrier is below or above the current asset price (“down” or “up”), whether the option
disappears or appears when the barrier is crossed (“out” or “in”) and whether they have a
standard call or put pay-off. For instance, an up-and-out call option with zero rebate will
have a payoff
hup-and-out call(ST ) = (max(ST K, 0), if max0≤t≤T St < B0, otherwise
The aim of this project is to use the following pricing parameters, spot price S0 = £100,
strike price K = £100, a Barrier level B = £130, risk-free rate r = 3%, dividend yield
q = 5%, time to maturity T = 0.5 year, and α in the local volatility function α = 0.35,
solve the Black-Scholes PDE numerically to price an up-and-out call option by means of
(1) Explicit finite differences
(2) Implicit finite differences
Date: Current Version February 8, 2018.
12 PROJECT
(3) Crank-Nicolson finite differences
Since there is no analytic solution to the PDE, you need to compare the results from finite
difference method with the prices calculated from Monte Carlo simulation. Please finish
the tasks below:
a (35% of project mark) Implement Monte Carlo Simulation using Euler Scheme to discretize
equation (1) with 500 time steps and 1 million paths to compute the up-and-out
call option prices and 95%? confidence intervals of those prices. Please use the antithetic
method to reduce the variance of the results.
b (15% of project mark) Discuss proper domain and boundary conditions you should use
in the finite difference schemes based on the properties of the up-and-out call option.
c (40% of project mark) For each of three finite difference schemes, namely each scheme
in (1) - (3), compare the prices with different grid sizes with those from the Monte Carlo
methods and report the convergence properties of each scheme.
d (10% of project mark) In the case of the explicit finite difference scheme demonstrate
that the scheme is conditionally stable and find the condition under which the scheme
would be stable.
The code should be accompanied by detailed documentation, split into:
code developer documentation: presenting the structure of the code, available functions,
main variables and any other information to help to understand the code,
including directions on how to extend the code to handle more general features; the
test runs of your code and timings should be reported in a separate section of the
developer documentation;
end-user’s instructions: how to use the .m program, how to input data and how the
results are presented, and a brief description of the methods implemented. Also the
discussions of parts (b), (c) and (d) should be included here.
Each of the marks in the above categories (a) (d) will be split as follows: 60%
for coding style, clarity and accuracy of computation, and 40% for documentation
(including comments within the code).
This project will contribute 40% towards the final mark for the module.
Submit your work by uploading it in Moodle by 23:55 on Sunday, 15 April 2018. Submit
the code as a single compressed .zip file, including all Matlab (.m) files all residing in a single
parent directory, whose name should contain your name and student code. The .zip file
should preserve the subdirectory structure of the parent directory (that is, the subdirectory
structure must be automatically recreated when unzipping the file).
14th April 2019