Pricing Financial Derivatives Using Grid Computing Vysakh Nachiketus Melita Jaric College of Business Administration and School of Computing and Information Sciences Florida International University, Miami, FL Zhang Zhenhua Yang Le Chinese Academy of Sciences, Beijing Road Map Motivation ★ Why financial derivatives ★ Why the pricing of financial derivatives is complex ★ Why distributed environment ★ Why Monte Carlo or Binomial Method Proposed Work ★ For a given criteria continuously update a diversified portfolio of European, American, Asian and Bermuda Options ★ Given current price, estimate the future stock option value by implementing Monte Carlo or Binomial Method in grid computing environment ★ Provide a framework for correlating the processing speed with the Conclusion 2009 Financial Derivatives Proposal portfolio performance Motivation Why Financial Derivatives? ★ Building block of a portfolio ★ Current Importance/Relevance ★ Complexity of algorithms ★ Spreading the market risk and control Why is pricing of financial derivatives complex? ★ Uncertainty implies need for modeling with Stochastic Processes ★ High volume, speed and throughput of data ★ Data integrity cannot be guaranteed ★ Complexity in optimizing several correlated parameter 2009 Financial Derivatives Proposal Motivation Why distributed environment? ★ Time is money ★ Grid computing is more economical than supercomputing ★ Exploit data parallelism within a portfolio ★ Exploit time and data precision parallelism for a given algorithm Why Monte Carlo or Binomial Method? ★ Ability to model Stochastic Process ★ Ubiquitous in financial engineering and quantum finance ★ They have obvious parallelism build into them, since they use two dimensional grid (time, RV) for estimation ★ For higher dimensions Monte Carlo Method converges to the solution more quickly than numerical integration methods ★ Binomial Method is more suitable for American Options 2009 Financial Derivatives Proposal Types of options Standard options ★ Call, put ★ European, American Exotic options (non standard) ★ More complex payoff (ex: Asian) ★ Exercise opportunities (ex: Bermudian) 2009 Financial Derivatives Proposal Black Scholes Equation & Stochastic Processes ★Integration of statistical and mathematical models ★For example in the standard Black-Scholes model, the stock price evolves as dS = μ(t)Sdt + σ(t)SdWt. where μ is the drift parameter and σ is the implied volatility ★To sample a path following this distribution from time 0 to T, we divide the time interval into M units of length δt, and approximate the Brownian motion over the interval dt by a single normal variable of mean 0 and variance δt. ★The price f of any derivative (or option) of the stock S is a solution of the following partial-differential equation: 2009 Financial Derivatives Proposal Option Pricing Sensitivities The Greeks 2009 Financial Derivatives Proposal Monte Carlo method ★In the field of mathematical finance, many problems, for instance the problem of finding the arbitrage-free value of a particular derivative, boil down to the computation of a particular integral. ★When the number of dimensions (or degrees of freedom) in the problem is large, PDE’s and numerical integrals become intractable, and in these cases Monte Carlo methods often give better results. ★Monte Carlo methods converge to the solution more quickly than numerical integration methods, require less memory , have less data dependencies and are easier to program. ★The idea is to use the result of Central Limit Theorem to allow us to generate a random set of samples as a valid representation of the previous value of the stock. “The sum of large number of independent and identically distributed random variables will be approximately normal.” 2009 Financial Derivatives Proposal Binomial Method 2009 Financial Derivatives Proposal Grid Computing 2009 Financial Derivatives Proposal Monte Carlo Vs. Difference Method 2009 Financial Derivatives Proposal MATLAB program for Monte Carlo drift = mu*delt; sigma_sqrt_delt = sigma*sqrt(delt); S_old = zeros(N_sim,1); S_new = zeros(N_sim,1); S_old(1:N_sim,1) = S_init; for i=1:N % timestep loop % now, for each timestep, generate info for % all simulations S_new(:,1) = S_old(:,1) +... S_old(:,1).*( drift + sigma_sqrt_delt*randn(N_sim,1) ); S_new(:,1) = max(0.0, S_new(:,1) ); % check to make sure that S_new cannot be < 0 S_old(:,1) = S_new(:,1); % % end of generation of all data for all simulations % for this timestep end % timestep loop 2009 Financial Derivatives Proposal Peter Forsyth 2008 MATLAB program for Asian Options function [Pmean, width] = Asian(S, K, r, q, v, T, nn, nSimulations, CallPut) dt = T/nn; Drift = (r - q - v ^ 2 / 2) * dt; vSqrdt = v * sqrt(dt); pathSt = zeros(nSimulations,nn); Epsilon = randn(nSimulations,nn); St = S*ones(nSimulations,1); % for each time step for j = 1:nn; St = St .* exp(Drift + vSqrdt * Epsilon(:,j)); pathSt(:,j)=St; end SS = cumsum(pathSt,2); Pvals = exp(-r*T) * max(CallPut * (SS(:,nn)/nn - K), 0); % Pvals dimension: nSimulations x 1 Pmean = mean(Pvals); width = 1.96*std(Pvals)/sqrt(nSimulations); Elapsed time is 115.923847 seconds. price = 6.1268 www.fbe.hku.hk/doc/courses/tpg/mfin/20072008/mfin7017/Chapter_2.ppt 2009 Financial Derivatives Proposal Data Management ★Define Stock Input as a 7-tuple ( Ticker, Price, Low, High, Close, Change, Volume) ★Implement FAST decompression to get the actual data ★ Select the stocks that satisfy specified criteria ★Use hashing to assign each stock to a particular processor ★Create a dynamic storage management database ★Collect and correlate data ★Update portfolio 2009 Financial Derivatives Proposal Data Processing System http://www.gemstone.com/pdf/GIFS_Reference_Architecture_Grid_Data_Management.pdf 2009 Financial Derivatives Proposal Tentative Road Map ★Provide this system to individual investors through cloud computing. ★Implement advanced financial hedging techniques for Fixed Income, Future Exchanges … ★Address system Reliability by checking for failure, introducing redundancy and error recovery ★Address system Security by implementing encryption algorithms ★Introduce different sources of information (news, internet) and trigger warning alerts to support automated trading. 2009 Financial Derivatives Proposal Conclusion We propose to develop a software system for scientific applications in finance with following characteristics: ★ Runs in distributed environment ★ Efficiently processes and distributes data in real time ★ Efficiently implements current financial algorithms ★ Modular and scales well as the number of variables increases ★ Processes multivariable algorithms better than a sequential time system ★ Expends logically for more complex systems ★ Scales well for cloud computing so that even a small investor can afford to use it ★ Provides an efficient and easy to use infrastructure for evaluation of current research 2009 Financial Derivatives Proposal Reference 1. Peter Forsyth, “An Introduction to Computational Finance Without Agonizing Pain” 2. Guangwu Liu , L. Jeff Hong, "Pathwise Estimation of The Greeks of Financial Options” 3. John Hull, “Options, Futures and Other Derivatives” 4. Kun-Lung Wu and Philip S. Yu, “Efficient Query Monitoring Using Adaptive Multiple Key Hashing” 5. Denis Belomestny, Christian Bender, John Schoenmakers, “True upper bounds for Bermudan products via non-nested Monte Carlo” 6. Desmond J. Higham, “ An Introduction to Financial Option Valuation” 2009 Financial Derivatives Proposal Thank You