• No se han encontrado resultados

Capítulo II: Análisis del Contexto

2.1. Análisis Externo

2.1.2. Las Cinco Fuerzas de Porter

The use of a payo description language makes it possible to apply the MLMC method to much more complex products without much implementation eort. With automatic and implicit handling and scaling of parameters, all that has to be done is to specify a new timegrid for every execution of the model. Thus, MLMC can be applied to even the most complex models by the same simple Matlab wrapper code that was used to execute the method for American options. It can be found in the appendix.

A life insurance product which has gained popularity in Europe over the past years are Variable Annuities (VA). Key features of VA products are guaranteed benets, for example a minimum amount that is paid when the product matures or when the holder deceases. The extremely long maturity of 20 years and more, as well as the large quantity of inuential factors, make the valuation of VAs computationally demanding. Recent work by Schraufstetter [41] provides a framework to evaluate these high-dimensional products using adaptive sparse grids. This source also gives a more extensive introduction to VA products.

Due to the high dimensionality of the product, VAs lend themselves naturally to the evaluation by Monte Carlo methods and are in fact priced by Monte Carlo simulation in the nance industry. We had the chance to compare the performance of the ThetaML model for the MC method and the MLMC method. While the model is condential and fully understanding the model is far beyond the scope of this thesis, we would like to take the simulation results as an indication of whether or not further work in the eld could be benecial.

We could observe that the MLMC results converged to approximately the same values as the MC results. For the same number of random variables, the variance was reduced by a factor of roughly 2. However, the execution times on the same machine were dramatically longer. The larger time requirement is partially due to a large overhead of processes that are started at every call of a level estimator. For three dierent timegrids (yearly, quarterly, monthly), the multilevel method needs six calls of the level-estimator (three for variance estimation, three for the sampling itself), whereas the standard Monte Carlo method only needs one. Optimization in the initialization processes of a model call within Theta Suite could make the application of MLMC advantageous.

8. Summary

The contributions of this work are experimental results on the applicability of the Mul-tilevel Monte Carlo method and on possible combinations with other variance reduction techniques.

We have seen that the Multilevel Monte Carlo method is a very versatile method for variance reduction. By construction, the Multilevel estimator has the same bias as a Monte Carlo estimator with the nest timegrid that was used, but a reduced variance in some cases. It is very generic, as no particular knowledge about the problem itself is required to construct the level estimators.

With the choice of Barrier, Asian and American options, we tried to represent three dif-ferent diculties that could appear in more exotic options as well: Discontinuous payos, path-dependent payos and payos with early exercise opportunities. As a general result, the method is extremely eective for continuous and highly path-dependent payos, has potential for early exercise payos, and needs additional work when discontinuities are involved.

So far, neither theoretical nor empirical results on the application of Multilevel Monte Carlo to least-squares regression have been presented. As a rst indicator of whether or not future work on the topic can be benecial, we present straightforward simulation results for an American option with weekly exercise. The level estimators originate purely in the increased expectation if more exercise opportunities are oered. The result itself was not aected when compared to the standard least-squares Monte Carlo method, while the variance was reduced in the Multilevel estimator. Latin hypercube sampling did not lead to improvements in our application.

Future directions in the eld could include:

ˆ Extend work on American options: The empirical results have shown that the MLMC method has the potential to reduce the variance in early exercise options.

The Lipschitz condition for the payo is fullled, so the complexity theorem can be applied to American options as well.

ˆ Extend work on sampling methods: We have seen great potential when using latin hypercube sampling in dierent variations. The appealing property is that these sampling methods reduce variability at the input of the Monte Carlo simulation and combine well with variance reduction techniques that reduce variability at the output.

ˆ Extend work on discontinuous payos. The approach proposed by Giles yields con-siderable benets with the Multilevel method for Barrier options, but is in essence the application of knowledge that could also be used for analytical calculation.

ˆ Application of the method to more complex products with characteristics similar to those of Asian options in a high-dimensional setting: Variable annuities (VA) products depend on a large number of dates for a large number of processes during their lifetime and have a payo similar to that of Asian options. Their high dimen-sionality and the long lifetimes make Monte Carlo methods especially suitable for VAs, so a multilevel simulation could yield signicant benets for the pricing of VA products. First experiments with a real-world ThetaML model showed improve-ments for the same number of generated random variables, but required about 5 times the computational time. Adaptation of the model could overcome this large time requirement, so that an actual increase in eciency can be obtained.

A. Option trade

When rst trying to write the introduction, I realized that, besides knowing the theory, I did not know anything about trading options. So I consulted my budget, and decided I was willing to invest e 5 into stock options - plus the order fee of e 9.90.

The way to do that was through my bank, where I opened a securities deposit account.

German law requires the bank to ask for any past experience the investor has made with dierent nancial products, categorized into classes with dierent risk levels. There are various bond types in the lower classes, and stocks in high classes. For any risk class up to stocks, it suces to claim to have experience in the online account. For the highest risk group, which also includes stock options, the bank is obligated to send me additional information about the product and have me sign a declaration that I have thoroughly read all the material and that I am well-aware of all the risks involved. I could, ultimately, lose the entire investment.

Equipped with the knowledge and the ability to buy an option, I thought it was best for me to buy a European option, because once that I own it, I cannot inuence the payo

any more. This is a positive restriction, since early exercise options are priced assuming optimal behavior of the holder, and that is something I do not claim for myself (keep in mind that spending twice the amount of the actual order only on placing the order is probably not optimal, after all). This was not an easy task, as I discovered, because most of the options that are sold are of the American type and the number of European options is very limited. Since options are sold for xed maturity dates, it was hard to

nd one that would mature while I was still writing my thesis, so I could incorporate the outcome of my trade into the thesis.

Virtually all options on stocks are of American type, which is why I bought an index option on the German stock index, the DAX. At the time of purchase, July 11 of 2012, it had an initial value of around 6450, and the contract was to buy one hundredth of the index at a strike price of 6050 on August 15, 2012. The counterparty was DZ Bank of Frankfurt, and the trade was carried out over-the-counter in Germany at a quote of e 4.55.

We do not know which model and which parameters the bank uses for pricing the option, but it is reasonable to assume that they applied something other than the Black-Scholes model. It is, nonetheless, used for backward analysis of the option price. If the bank oers a put and a call for the same strike and the same maturity, one can use the remaining time T and the principle of put-call parity to determine the interest rate over that interval. With all other parameters known, one can solve the Black Scholes formula for the volatility, giving the implied volatility. We took the parameters from the option analysis tool that my bank oers.

The Black Scholes parameters of my option were then given by S0 = 6451, K = 6050, T = 0.0956, σ = 0.2477 and for some reason r = 0.

By pure luck and without any particular knowledge of the market, the payo of the option on August 15, 2012 was e 9.18, over 200% of the initial price. However, this gain could not compensate the overproportional fee for buying the option.

Figure A.1.: Online tool for option analysis

Figure A.2.: List of available options

5500 6000

6500 7000

7500

Aug 15 Aug 10 Aug 5 Jul 31 Jul 26 Jul 21 Jul 16 Jul 11 0

5 10 15

date Black−Scholes option value surface

DAX value

option value V

Figure A.3.: DAX values during the lifetime of the option, plotted in the Black-Scholes value surface. Note that the resulting values in the surface do not necessarily represent the true values that the option was traded for at the specied dates, except for the initial and the nal value. Representation using the PDE solver in [23]

B. MLMC Matlab code

function results = MLMC(obs,N,config,sampling)

% Returns a Multilevel Monte Carlo estimate

% Parameters:

% obs: number ob observations on finest timegrid

% N: number of paths to be evaluated

% the actual number ob calculated paths will

% be chosen such that the overall effort

% of the Multilevel estimator equals obs*N

% config: option configuration as struct

% sampling: sampling method to be used for the Brownian motion

clear results if nargin == 3

sampling = 'random';

end

% ###########################

% 1. get grid hierarchy

% ###########################

Mtemp = [1 sort(factor(obs),'ascend')];

M = cumprod(Mtemp);

hl = config.T ./M; % array of timesteps at different levels

L = length(M);

coarsest= true;

suml = zeros(5,L); % array of the returns for each level

% #######################################################################

% 2. get initial variance estimates and calculate optimal sample sizes

% on each level

% #######################################################################

for l = 1:L

Ninit = ceil(sqrt(N));

nf = M(l);

if coarsest nc = 0;

else

nc = M(l−1);

end

suml(1,l) = Ninit;

while Ninit*nf > 0

Nnew = min(floor(1e8/nf), Ninit); % limit memory consumption

sums = feval(@MLMC_l,nf,nc,coarsest,Nnew,config,sampling);

suml(2,l) = suml(2,l) + sums.diffs;

suml(3,l) = suml(3,l) + sums.sqdiffs;

suml(4,l) = suml(4,l) + sums.Pf;

suml(5,l) = suml(5,l) + sums.sqPf;

Ninit = Ninit − Nnew;

end

coarsest = false;

end

% prevent negative variances, only relevant for control variates Vl = max(suml(3,:)./suml(1,:) − (suml(2,:)./suml(1,:)).^2,0);

hL = config.T/obs;

% results according to (5.18) & (5.19) lambda = (hL/N * sum(sqrt(Vl./hl)))^2;

Nl = ceil(sqrt(Vl.*hl/lambda));

% for control variate approach: ensure that we can calculate a valid

% covariance matrix Nl = max(Nl,10);

% ####################################

% 3. calculate additional samples

% ####################################

% reset array of sums, keep computational effort for variance estimation sumtmp = suml(1,:);

if coarsest; nc=0; else nc=M(l−1); end dNl = Nl(l)−suml(1,l);

if dNl>0

suml(1,l) = suml(1,l) + dNl;

while dNl*nf > 0

dNlnew = min(floor(1e8/nf), dNl);

sums = feval(@MLMC_l,nf,nc,coarsest,dNlnew,config,sampling);

suml(2,l) = suml(2,l) + sums.diffs;

suml(3,l) = suml(3,l) + sums.sqdiffs;

suml(4,l) = suml(4,l) + sums.Pf;

suml(5,l) = suml(5,l) + sums.sqPf;

dNl = dNl − dNlnew;

results.value = sum(suml(2,:)./suml(1,:));

% just the number of random variables, ignores the calculations on the

% coarse paths

% nf steps on fine level

% nc steps on coarse level

% coarsest true for coarsest level estimator

% false or all other level estimators

% config option configuration as struct

% sampling sampling method to be used for the Brownian motion

%

% where Pf is the payoff for level 'l' (fine) and Pc is the payoff for

% level 'l−1' (coarse)

% 1. random number generation according to specified sampling method

% #####################################################################

if N > nf % ensure that correlation matrix is not singular Bpathf = sqrt(hf)*lhs_randn_orth(N,nf);

else

Bpathf = sqrt(hf)*lhs_randn(N,nf);

end

elseif strcmpi(sampling,'latin_blocks')

% blocks of 1000 + leftover block Bpathf = zeros(N,nf);

% blocks of 1000 + leftover block, with random noise Bpathf = zeros(N,nf);

% orthogonal blocks of 1000 + leftover block (with correlation) Bpathf = zeros(N,nf);

% works only for stdMC Ntmp = N;

% sliced latin hypercube requires multiples of 100

% leftover samples as regular latin hypercube Ntmp = floor(N/100)*100;

pathf(:,1) = config.S0;

% pathf(:,k) = pathf(:,k−1) .* (1 + hf*config.r + config.Sigma

% .*Bpathf(:,k−1) + 0.5*config.Sigma^2.*(Bpathf(:,k−1).^2−hf));

% Euler

% pathf(:,k) = pathf(:,k−1) .* ...

% (1 + hf*config.r + config.Sigma .*Bpathf(:,k−1));

end

% (1 + hf*config.r + config.Sigma.*Bpathf(:,k−1));

end

for k=2:nc+1

Bpathc(:,k−1) = sum(Bpathf(:,((k−2)*M + 1):((k−1)*M)),2);

% GBM

% (1 + hc*config.r + config.Sigma.*Bpathc(:,k−1));

end

else % possibility to control asian option

P_a = discount*feval(@payoff,pathf,config); %arithmetic payoff control = config;

control.option='geometricAsian';

P_g = discount*feval(@payoff,pathf,control); %geometric payoff MC P_control = gAsian_European_closed(nf,config); %geometric payoff analytic

S_zw = cov(P_a,P_g); %empirical covariances

S_w = var(P_g);

%optimal alpha, see (5.4) if numel(S_zw)>1

alpha = − S_zw(2,1)/S_w;

else

alpha = 1;

end

Pf = P_a + alpha .* (P_g − P_control); %calculate pathwise payoff end

% coarse path if coarsest

Pc = 0;

else

if ~strcmpi(config.option,'asianControlled') Pc = discount*feval(@payoff,pathc,config);

else

P_a = discount*feval(@payoff,pathc,config); %arithmetic payoff control = config;

control.option='geometricAsian';

P_g = discount*feval(@payoff,pathc,control); %payoff MC P_control = gAsian_European_closed(nc,config); %payoff analytic

S_zw = cov(P_a,P_g); %empirical covariances

S_w = var(P_g);

%optimal alpha, see (5.4) if numel(S_zw)>1

alpha = − S_zw(2,1)/S_w;

else

alpha = 1;

end

Pc = P_a + alpha .* (P_g − P_control); %pathwise payoff end

end

sums.Pf = sums.Pf + sum(Pf);

sums.diffs = sums.diffs + sum(Pf−Pc);

sums.sqdiffs = sums.sqdiffs + sum((Pf−Pc).^2);

sums.sqPf = sums.sqPf + sum(Pf.^2);

clear path*

end

C. MLMC wrapper code for ThetaML

% load preconfigured ThetaML model

% required input variables:

% − model parameters: will not be changed

% − dt: "timestep on fine grid"

% − M: "refinement/group factor" for calculation of coarse timegrid

% required output:

% − P_f: "payoff fine"

% − P_c: "payoff coarse"

conf = theta_loadconf('Heston_Asian_ML.thetaml');

DT = [1, 1/5, 1/25, 1/125]; % hierarchy of timesteps Ninit = [5e3, 5e3, 5e3, 5e3]; % variance estimation samples NTOTAL = [2.5e4 5e4 7.5e4 1e5 1.5e5 2e5]; % sample paths

Neval = zeros(size(DT)); % level estimator samples

L = length(DT) − 1; % highest level

E = zeros(size(DT)); % level estimators

Var = zeros(size(DT)); % level estimator variances

runs = 100;

resultsML_heston_asian = zeros(runs,length(NTOTAL));

EffortML_heston_asian = 2 * NTOTAL ./ DT(end);

indexN = 0;

for Ntotal = NTOTAL indexN = indexN + 1;

for run = 1:runs

% #################################################################

% 1. get initial variance estimates and calculate optimal

% sample sizes on each level

% #################################################################

theta_state = sum(100.*clock);

coarsest = true;

for l = 0:L dt = DT(l+1);

if coarsest M = 1;

else

M = DT(l)/DT(l+1);

end

N = Ninit(l+1);

conf.eval.MC.n.value = N;

conf.eval.MC.random_seed.value = theta_state;

conf.param.dt.value = dt;

conf.param.M.value = M;

newconf = theta_codegen(conf,'run');

theta_state = sum(100.*clock);

% level l variance estimator if coarsest

hL = DT(end); % finest timestep

lambda = (hL/Ntotal * sum(sqrt(Var./DT)))^2; % Lagrange factor Neval = ceil(sqrt(Var.*DT/lambda)); % Lagrange result

% #################################################################

% 2. use optimal number of samples to calculate level estimators

% #################################################################

% level l variance estimator if coarsest

% #################################################################

% 3. E[P_L] = E[P_0] + E[P_1−P_0] + ... + E[P_L−P_L−1]

% #################################################################

resultsML_heston_asian(run,indexN) = sum(E);

end end

List of Figures

3.1. Payo and probability density function at maturity . . . 18

6.1. Example of the distribution of standard normal pseudorandom numbers . 40 6.2. 2-dimensional unit hypercube lled with random numbers and Halton se-quence . . . 42

6.3. 2-dimensional stratied sample . . . 45

6.4. 2-dimensional latin hypercube sample . . . 46

7.1. geometric Asian option results . . . 55

7.2. geometric Asian option, Monte Carlo estimator standard deviation with variations of latin hypercube . . . 57

7.3. geometric Asian option, Monte Carlo estimator RMSE with variations of latin hypercube . . . 58

7.4. geometric Asian option, Multilevel Monte Carlo estimator with variations of latin hypercube . . . 59

7.5. geometric Asian option, Multilevel Monte Carlo estimator with variations of latin hypercube . . . 60

7.6. Arithmetic Asian results . . . 61

7.7. Barrier option results with random sampling and deterministic latin hy-percube nodes . . . 63

7.8. Barrier option results with standard latin hypercube samples and cascaded deterministic latin hypercube samples . . . 64

7.9. American option in Black-Scholes model . . . 67

7.10. Asian option in Heston Model, computational eort . . . 69

7.11. Asian option in Heston Model, CPU time . . . 70

7.12. American option in Heston Model . . . 71

A.1. Online tool for option analysis . . . 77

A.2. List of available options . . . 78

A.3. DAX values in Black-Scholes value surface . . . 79

List of Tables

3.1. PDE results of the described option for dierent numbers of asset steps . . 21 3.2. Monte Carlo results for European Call option . . . 23

Bibliography

[1] M. Ai, Y. He, and S. Liu. Some new classes of orthogonal latin hypercube designs.

Journal of Statistical Planning and Inference, 142(10):28092818, 2012.

[2] C. Alexander. Pricing, hedging and trading nancial instruments. Wiley, 2008.

[3] A. Alfonsi. High order discretization schemes for the CIR process: application to ane term structure and Heston models. Mathematics of Computation, 79(269):209

237, 2010.

[4] L. Andersen. Ecient simulation of the Heston stochastic volatility model. Technical report, Bank of America, 2006.

[5] S. Asmussen and P. Glynn. Stochastic simulation. Springer, 2007.

[6] J. Barraquand. Monte Carlo integration, quadratic resampling, and asset pricing.

Mathematics and Computers in Simulation, 38:173  182, 1995.

[7] D. Belomestny and J. Schoenmakers. Multilevel dual approach for pricing American style derivatives. Preprint, 2011.

[8] N.H. Bingham and R. Kiesel. Risk-Neutral Valuation: Pricing and Hedging of Fi-nancial Derivatives. Springer, 2004.

[9] P. Boyle, M. Broadie, and P. Glasserman. Monte Carlo methods for security pricing.

Journal of Economic Dynamics and Control, 21:12671321, 1997.

[10] J. Carriere. Valuation of the early-exercise price for options using simulation and nonparametric regression. Insurance: Mathematics and Economics, 19:1930, 1996.

[11] J. Cheng and M. Druzdzel. Latin hypercube sampling in Bayesian networks. In Proceedings of the Thirteenth International Florida Articial Intelligence Research Symposium Conference, pages 287292, 2000.

[12] S. Dirnstorfer, A. Grau, and H. Li. ThetaML Handbook. Edition Winterwork, 2012.

[13] D. Due and P. Glynn. Ecient Monte Carlo simulation of security prices. The Annals of Applied Probability, 5(4):897905, 1995.

[14] R. Durrett. Essentials of stochastic processes. Springer, 2004.

[15] R. Durrett. Probability: Theory and examples. Duxbury, 2005.

[16] M. Emserman and B. Simon. Improving simulation eciency with quasi control variates. Stochastic Models, 2002.

[17] J. Gentle. Numerical linear algebra for applications in statistics. Springer, 1998.

[18] M. Giles, D. Higham, and X. Mao. Analysing Multi-level Monte Carlo for options with non-globally Lipschitz payo. Finance and Stochastics, 13(3):403413, 2009.

[19] M. B. Giles. Improved Monte Carlo convergence using the Milstein scheme. Monte Carlo and Quasi-Monte Carlo Methods, 2007.

[20] M. B. Giles. Multilevel Monte Carlo path simulation. Operations Research, 2008.

[21] P. Glasserman. Monte Carlo methods in nancial engineering. Springer, 2004.

[22] P. Glynn and W. Whitt. The asymptotic eciency of simulation estimators. Oper-ations Research, 40:505520, 1992.

[23] A. Grau. How can I implement early exercise in a PDE method pricing an American put option? http://computeraidednance.com/2012/04/15/how-can-i-implement-early-exercise-in-a-pde-method-pricing-an-american-put-option/. Last accessed July 11, 2012.

[24] M. Haugh and L. Kogan. Pricing American options: A duality approach. Operations Research, 52(2):258270, 2004.

[25] S. Heinrich. Multilevel Monte Carlo Methods. Lecture Notes in Computer Science, 2179:5867, 2001.

[26] S. Heinz. Multilevel Monte Carlo Methoden und deren Anwendung. Diplomarbeit, Universität Frankfurt, 2009.

[27] S. Heston. A closed-form solution for options with stochastic volatility with ap-plications to bond and currency options. Review of Financial Studies, 6:327343, 1993.

[28] J.C. Hull. Options, Futures, and other Derivatives. Prentice Hall, 2002.

[29] A. Kebaier. Statistical romberg extrapolation: A new variance reduction method and applications to option pricing. The Annals of Applied Probability, 15(4):2681

2705, 2005.

[30] A. Kemna and A. Vorst. A pricing method for options based on average asset values.

Journal of Banking and Finance, 14(1):113129, 1990.

[31] P. Kloeden and E. Platen. Numerical solutions to stochastic dierential equations.

Springer, 2005.

[32] P. L'Ecuyer. Uniform random number generation. Annals of Operations research, 53(1):77120, 1994.

[33] W. Loh. On latin hypercube sampling. The Annals of Statistics, 24(5):20582080, 1996.

[34] F. Longsta and E. Schwartz. Valuing American options by simulation: A simple least-squares approach. Review of Financial Studies, 14:113147, 2001.

[35] M.D. McKay, R.J. Beckman, and W.J. Conover. A comparison of three methods for selecting values of input variables in the analysis of output from a computer code.

Technometrics, 21(2):239245, 1979.

[36] H. Niederreither. Random number generation and quasi-Monte Carlo methods.

SIAM, 1992.

[37] P. Qian. Sliced latin hypercube designs. Journal of the American Statistical Asso-ciation, to appear.

[38] R. Rubinstein and D. Kroese. Simulation and the Monte Carlo method. Wiley, 2008.

[39] B.W. Schmeiser, M.R. Taae, and J. Wang. Biased control-variate estimation. IIE Transactions, 33:219228, 2001.

[40] B.W. Schmeiser, M.R. Taae, and J. Wang. Control-variate estimation using esti-mated control means. IIE Transactions, 2012.

[41] S. Schraufstetter. A Pricing Framework for the Ecient Evaluation of Financial Derivatives based on Theta Calculus and Adaptive Sparse Grids. Verlag Dr. Hut, 2012.

[42] A. Speight. A multilevel approach to control variates. The Journal of Computational Finance, 12, 2009.

[43] P. Wilmott. Paul Wilmott on quantitative nance. Wiley, 2000.

[44] P. Wilmott. Paul Wilmott on quantitative nance. Wiley & sons, 2010.

[45] K. Ye. Orthogonal column latin hypercubes and their application in computer exper-iments. Journal of the American Statistical Association, 93(444):14301439, 1998.

[46] R. Zagst. Interest Rate Management. Springer, 2002.