Professional Documents
Culture Documents
Mike Giles
mike.giles@maths.ox.ac.uk
A call option gives the airline the right (but not an obligation)
to buy the fuel at a fixed price K .
W (t) is a Wiener variable: for any q < r < s < t, W (t)W (s)
is Normally distributed with mean 0 and variance ts,
independent of W (r)W (q).
1.5
S
0.5
0 0.2 0.4 0.6 0.8 1
t
SIAM PP10 p. 9/36
Monte Carlo simulation
For a general scalar SDE
Why is it so costly?
the banks dont just need the price at the time of sale,
they have to re-value all of their contracts every night to
see if they are making or losing money
they also need to assess the sensitivity of the value to
changes in various parameters
aim of the banks is to hold offsetting risks, so if one
goes down, another goes up the banks really dont
want to gamble
Vt + r S VS + 21 2 S 2 VSS = r V
1.4
1.3
1.2
S
1.1
0.9
0.8
0 0.2 0.4 0.6 0.8 1
t SIAM PP10 p. 13/36
PDE formulation
Curse of dimensionality
with more complex models with D SDEs, each one
leads to an extra dimension in the PDE
cost of Monte Carlo is linear in D;
cost of PDE approach is exponential
typically, PDE approach is used up to dimension D = 3
example: exchange rate product with SDEs for local
interest rate, foreign interest rate, and exchange rate
DDR3 GDDR3/5
Commercial reasons:
CPUs driven by price-sensitive office/home computing;
not clear these need vastly more speed
CPU direction may be towards low cost, low power
chips for mobile and embedded applications
GPUs driven by high-end applications prepared to
pay a premium for high performance
SIAM PP10 p. 19/36
Use in computational finance
Bloomberg has a large cluster:
48 NVIDIA Tesla units, each with 4 GPUs
alternative to buying 2000 CPUs
BNP Paribas has a small cluster:
2 NVIDIA Tesla units
replacing 250 dual-core CPUs
factor 10x savings in power (2kW vs. 25kW)
lots of other banks doing proof-of-concept studies
my impression is that IT groups are keen, but
quants are concerned about effort involved
Several ISVs now offer software based on CUDA
s $
threads s
s
$
s
? ? ? ?
seeds
yn = A yn1 mod m
Ak+1 = Ak Ak mod m, A0 A.
v v v
@
@