C++ Assignment: Monte Carlo Option Simulation implementing simulation bias correction - repost
$30-250 USD
Cancelled
Posted about 10 years ago
$30-250 USD
Paid on delivery
The objective is to use OOP C++ to value several different types of option by Monte Carlo implementing simulation bias correction. Let St be an asset following a geometric Brownian motion. Suppose an option is created at time 0 and matures at time T. Set Smax = max0 <= t <= T St. You must value:
i) A call max option whose payoff at time T is max(0, Smax - X),
ii) An up and in barrier call option,
with payoff max(0, ST - X) at time T only if Smax >= K for a barrier level K.
iii) A lookback put option with payoff Smax – ST at time T.
You must report run times and standard errors.
Simulation bias arises when attempting to sample a maximum value at discrete times: a sample value of the maximum is not the maximum of the asset value observed at the discrete times. The accompanying paper, Beaglehole, Dybvig and Zhou (1997), describes the simulation bias correction method. It is also described in many other easily available sources.
You are required to
a) Construct the relevant option objects,
b) Implement a bias correction simulation method consistent with the method hierarchy.
You may find it helpful to construct a ‘path’ object to encapsulate the concept of a sample path.
The client supplies (i) the option specification (ii) the parameters of the asset price process, assumed to be geometric Brownian motion, and (iii) parameters for the numerics (the number of time steps and sample paths). For references purposes use parameter values S0 = 100, r = 0.05, sigma = 0.2, X = 100, T = 1, K = 120. The number of time steps, N, and sample paths M, should vary between 100 and 10,000.
You should construct a clear user interface and write code in a clear and maintainable style. You should be able to input parameter values into the application