Question: % ParametersS 0 = 1 2 ; % Initial stock pricev 0 = 0 . 0 1 ; % Initial volatilityr = 0 . 0
ParametersS; Initial stock pricev; Initial volatilityr ; Riskfree interest rateT ; Time to expirationK ; Strike pricekappa ;theta ;sigma ;rho ; Number of time steps and pathsN ; Number of time stepsM ; Number of paths Time vectordt T N;t :dt:T; Generate correlated Wiener processesdW randnM N sqrtdt;dW rho dW sqrt rho randnM N sqrtdt; Initialize matrices to store stock prices and volatilitiesS zerosM N;v zerosM N; Set initial conditionsS: S;v: v; Simulate paths using EulerMaruyama methodfor i :N S:i S:i expr v:i dt sqrtv:i dW:i; v:i v:i kappa theta v:i dt sigma sqrtv:i dW:i; v:i maxv:i; Ensure volatility is nonnegativeend Plot a sample path of stock price and volatilityfigure;subplot;plott S:b;xlabelTime;ylabelStock Price';titleSample Path of Stock Price';subplot;plott v:r;xlabelTime;ylabelVolatility;titleSample Path of Volatility'; Calculate discounted payoff for each pathpayoff maxS:end K expr T; Compute option priceoptionpriceeuropean meanpayoff; Display option pricedispEuropean Call Option Price Standard Monte Carlo: numstroptionpriceeuropean; Define the digital call option payoff functiondigitalpayoff @S K doubleS K; Calculate discounted payoff for each pathdigitalpayoffvalues digitalpayoffS:end K expr T; Compute option priceoptionpricedigital meandigitalpayoffvalues; Display option pricedispDigital Call Option Price: numstroptionpricedigital; Calculate discounted payoff for each path for European call optionPayoffEuropean maxS:end K expr T; Control variate: European call option price at expirationControlVariateEuropean expr theta T S:end K expr T; Compute control variate coefficient for European call optioncovXY covPayoffEuropean, ControlVariateEuropean;betaEuropean covXY varControlVariateEuropean; Adjusted Payoffs using Control Variates for European call optionPayoffEuropeanAdjusted PayoffEuropean betaEuropean ControlVariateEuropean meanControlVariateEuropean; Compute option price with Control Variates for European call optionPriceEuropeanCV meanPayoffEuropeanAdjusted; Calculate discounted payoff for each path for digital call optionPayoffDigital S:end K expr T; Control variate: Digital call option price at expirationControlVariateDigital S:end K expr T; Same as the payoff for digital call Compute control variate coefficient for digital call optioncovXY covPayoffDigital, ControlVariateDigital;betaDigital covXY varControlVariateDigital; Adjusted Payoffs using Control Variates for digital call optionPayoffDigitalAdjusted PayoffDigital betaDigital ControlVariateDigital meanControlVariateDigital; Compute option price with Control Variates for digital call optionPriceDigitalCV meanPayoffDigitalAdjusted; Display resultsdispEuropean Call Option Price with Control Variates: numstrPriceEuropeanCV;dispDigital Call Option Price with Control Variates: numstrPriceDigitalCV; Compute MLMC estimatorsMCestimatorEuropean meanPayoffEuropeanAdjusted meanPayoffEuropean;MCestimatorDigital meanPayoffDigitalAdjusted meanPayoffDigital; Display resultsdispEuropean Call Option Price MLMC: numstrMCestimatorEuropean;dispDigital Call Option Price MLMC: numstrMCestimatorDigital; Compute MLMC estimators without antithetic treatmentMCestimatorEuropeanwithoutantithetic meanPayoffEuropeanAdjusted meanPayoffEuropean;MCestimatorDigitalwithoutantithetic meanPayoffDigitalAdjusted meanPayoffDigital; Display resultsdispEuropean Call Option Price MLMC without Antithetic Treatment: numstrMCestimatorEuropeanwithoutantithetic;dispDigital Call Option Price MLMC without Antithetic Treatment: numstrMCestimatorDigitalwithoutantithetic; Apply antithetic treatmentSfineantithetic S onesN M;vfineantithetic v onesN M;dWfineantithetic dW; negate dW for antithetic variatesdWfineantithetic dW; negate dW for antithetic variatesfor i :lengthsamplesizes M samplesizesi; Resimulate paths with new sample size dW randnM N sqrtdt; dW rho dW sqrt rho randnM N sqrtdt; S zerosM N; v zerosM N; S: S; v: v; for j :N S:j S:j expr v:j dt sqrtv:j dW:j; v:j v:j kappa theta v:j dt sigma sqrtv:j dW:j; v:j maxv:j; end European option payoffeuropean maxS:end K expr T; optionpriceseuropeani meanpayoffeuropean; Digital option digitalpayoffvalues digitalpayoffS:end K expr T; optionpricesdigitali meandigitalpayoffvalues;end Plot convergence graphsfigure;subplot;plotsamplesizes, optionpriceseuropean, bo;xlabelSample Size';ylabelOption Price';titleConvergence of European Call Option Price';subplot;plotsamplesizes, optionpricesdigital, ro;xlabelSample Size'
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
