FinancialDerivatives_063009

Download Report

Transcript FinancialDerivatives_063009

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, USA
Zhang Zhenhua
Yang Le
Chinese Academy of Sciences, Beijing , China
Road Map
Motivation
★ Why financial derivatives
★ Why the pricing of financial derivatives is complex
★ Why distributed environment
★ Why Monte Carlo / Binomial Method / Finite Difference 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
Binomial Method
2009 Financial Derivatives Proposal
Binomial Method
• The value of the replicating portfolio at time T, with stock price ST, is
ΔST + erT B where Δ is the no of share and B is cash invested
• At the prices ST = Sou and ST = Sod, a replicating portfolio will
satisfy
(Δ * Sou * erT ) + (B * erT ) = Cu
(Δ * Sod * erT ) + (B * erT ) = Cd
where Sou is the stock price when price goes up
• Solving for Δ and B and substitute in
C = ΔS + B to get the option price
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
Monte Carlo method
St = S0e(a – 0.5 σ 2)t + σ√tZ
If V(St,t) is the option payoff at time t, then the time-0
Monte Carlo price V(S0,0) is
1  rT n
V ( S0 ,0)  e V ( STi , T )
n
i 1
where ST1, … , STn are n randomly drawn time-T
stock prices
2009 Financial Derivatives Proposal
Option Pricing Sensitivities
The Greeks
2009 Financial Derivatives Proposal
Grid Computing
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
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
Monte Carlo Parallelism
★Iterations are independent - Embarrassingly parallel
★Parallel Random Number Generation: Master Processor
★SPRNG (Scalable Pseudorandom Number Generation) library
function MC (S, r, T, sigma, nSamples, nP)
dataRand[nSamples] = rand();
start = idP*p/nSamples; end = (idP+1)*p/nSamples;
for each idP
mean_value[idP] = findMC(S,E,r,T,sigma,dataRand[start,end));
end
reduce(mean_value[idP]);
endfunction
2009 Financial Derivatives Proposal
Binomial Parallelism
function Bin (S, E, r, T, sigma, nTime )
…
for step = nTime:-1:1
for i=1:nStep+1
value(i) = (pUp*value(i+1)+pDown*value(i))*exp(-r*dt);
price(i) = price(i+1)*exp(-sigma*sqrt(dt));
value(i) = max(value(i), price(i)-E)
endfunction
2009 Financial Derivatives Proposal
Binomial Parallelism
2009 Financial Derivatives Proposal
Finite Difference Parallelism
★Careful: dt and dS are not independent
★Use Ghost points to minimize the communication
★Communication comes from one side only
Explicit Finite Differences
2009 Financial Derivatives Proposal
System Analysis
★Number of processors vs. time for each method
★Computation and Communication Overlap
★Communication Overhead
★Design and implement an algorithm for optimizing performance for any
combination of:
• number of stocks
• number of processors
• latency
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”
7. Alexandros V. Gerbessiotis, “Architecture independent parallel binomial tree option price
valuations”
8. Bernt Arne Odegaard, “Financial Numerical Recipes in C++”
9.Paul Wilmott, “Introduces Quantitative Finance”
2009 Financial Derivatives Proposal
Questions, Comments,
Suggestions
Thank You