Fast orthogonal transforms and generation of Brownian paths G. Leobacher partially joint work with C. Irrgeher MCQMC 2012 G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 1 / 28
Outline Discrete Brownian paths 1 Linear construction 2 Examples Why use BB/PCA? Cost of generation Dependence on payoff 3 Orthogonal constructions 4 Fast completion of orthogonal systems 5 Problem formulation Givens rotations Hoeseholder Reflections References 6 G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 2 / 28
Discrete Brownian paths What - and why Many financial derivatives can be priced (approximately) using � � price = E f ( B 1 n , . . . , B n n ) where B is a standard Brownian motion, B = ( B t ) t ∈ [0 , 1] and f is some payoff function (Black-Scholes formula) G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 3 / 28
Discrete Brownian paths What - and why We therefore want efficient ways to generate a random vector B = ( B 1 n , . . . , B n n ) where B 1 n , B 2 n − B 1 n , . . . , B n n − B n − 1 n are independent normal variables with mean 0 and variance 1 n , from X 1 , . . . , X n . . . i . i . d . N (0 , 1) “Discrete Brownian path” G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 4 / 28
Linear construction Three classical methods: Forward construction Brownian bridge construction (BB) First application in financial/QMC context: Moskowitz & Caflisch (1996) Principal component analysis (PCA) First application in financial context: Acworth, Broadie & Glasserman (1996) G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 5 / 28
Linear construction All constructions are of the form B = AX where B = ( B 1 n , . . . , B n n ) ( X 1 , . . . , X n ) indep. std. normal variables A an n × n matrix G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 6 / 28
Linear construction Necessary and sufficient for B being a (discrete) Brownian path: 1 1 1 . . . 1 1 2 2 . . . 2 AA ⊤ = 1 1 2 3 . . . 3 =: Σ n . . . . ... . . . . . . . . 1 2 3 . . . n G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 7 / 28
Linear construction Examples Forward method: 1 0 0 . . . 0 1 1 0 . . . 0 1 1 1 1 . . . 0 A = =: S √ n . . . . ... . . . . . . . . 1 1 1 . . . 1 SS ⊤ = Σ . . . Cholesky decomposition of Σ Brownian bridge construction: A = something else PCA construction: take A = VD where VD 2 V ⊤ = Σ is the singular value decomposition of Σ. G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 8 / 28
Linear construction Why use BB/PCA? BB/PCA probabilistically equivalent to forward construction, but Influence of X k on overall behavior of B is decreasing with k makes methods useful for MC with stratified sampling makes methods useful for quasi-Monte Carlo (low effective dimension / decreasing weights) G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 9 / 28
Linear construction Cost of generation Forward method: O ( n ) Brownian bridge: O ( n ) PCA: Originally thought to be O ( n 2 )!! Scheicher (2007): PCA generation costs O ( n log( n )) by using the fast sine transform in dimension 2 n By “fast” we mean O ( n log( n )) (or faster) G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 10 / 28
Dependence on payoff (Some people are never satisfied) Papageorgiou (2002), Sloan & Wang (2011) Integration error depends on payoff So there is no best generation method Suggests to look for optimal A (in some sense) for given payoff But multiplication with A should be fast! G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 11 / 28
Orthogonal constructions We can write any matrix A with AA ⊤ = Σ as A = SU where U is an orthogonal matrix and S is scaled summation (multiplication with S is fast) suggests we look for good/optimal U for given payoff but multiplication with U should be fast! PCA/BB provide good and fast U for Asian options (and many other types) G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 12 / 28
Orthogonal constructions Makes method generic: every finite-dimensional (quasi-)MC problem can by written as E ( f ( X )) where X is a standard normal vector. E ( f ( X )) = E ( f ( UX )) for any orthogonal matrix U . Choose U such that variance/variation is concentrated on few variables (low effective dimension / decreasing weights) Sample application: BB/PCA-type generation for L´ evy paths (L (2006)) G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 13 / 28
Orthogonal constructions Examples Σ = AA ⊤ with A = SU Forward method: U = Id R n . Brownian Bridge: U = H − 1 where H is the Haar transform PCA: U = S − 1 VD (trivially) G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 14 / 28
Orthogonal constructions One advantage of ”orthogonal” formulation: there are many fast generation methods for BM besides forward, BB and PCA method. (L 2011) reviews transforms that need at most O ( n log n ) operations Discrete Sine/Cosine transform Hartley-, Hilbert-, W- transform Walsh transform Haar transform, general wavelet transforms Direct sums and Kronecker products of the above and more G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 15 / 28
Orthogonal constructions At least one of these fast constructions is actually useful in practice Theorem (L 2011) Let Σ = VD 2 V ⊤ be the PCA of Σ C the discrete cosine transform of type IV in dimension n d n ( P , Q ) 2 := � n � n k =1 ( P − Q ) 2 lk for n × n matrices P , Q l =1 Then for all n ∈ N we have d n ( SC , VD ) < 1 and 48 − π 2 � � n →∞ d n ( SC , VD ) 2 ≤ 2 lim sup ( π 2 − 24) 2 = 0 . 381 . . . . G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 16 / 28
Orthogonal constructions 0.6 0.4 0.2 10 20 30 40 50 60 � 0.2 � 0.4 � 0.6 Comparison PCA/DCT-IV, n = 64 G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 17 / 28
Orthogonal constructions 0.5 50 100 150 200 250 � 0.5 � 1.0 � 1.5 Comparison PCA/DCT-IV, n = 256 G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 18 / 28
Orthogonal constructions Thus we have found a construction method that gives essentially same result as PCA is very easy to implement uses roughly half the time for path generation However it is not easy to find a payoff depending on a single Brownian path for which one of our constructions performs better than BB/PCA G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 19 / 28
Fast completion of orthogonal systems Problem formulation Imai & Tan (2007): Find (approximate) U that works best for Asian basket and Heston model Sloan & Wang (2011): Provide more theoretical insight into efficient orthogonal transforms Both papers above identify most important components, i.e. the first k rows of U . U is subsequently “orthogonalized”, i.e. filled up with orthogonal rows. G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 20 / 28
Fast completion of orthogonal systems Problem formulation U = ? k n − k G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 21 / 28
Fast completion of orthogonal systems We aim to: Find good U that admits fast matrix-vector multiplication Find it fast: Gram-Schmidt orthogonalization takes O ( n 3 ) operations! Solution (Irrgeher & L): Givens rotations! G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 22 / 28
Fast completion of orthogonal systems Givens rotations Recall ... 1 cos( α ) − sin( α ) 1 ... G = 1 sin( α ) cos( α ) 1 ... G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 23 / 28
Fast completion of orthogonal systems Givens rotations Recall Givens rotations: n × n -matrix G , G is a rotation in a 2-dimensional subspace spanned by two different canonical basis vectors e j , e k one Givens rotation needs 4 multiplications and two additions the angle can be chosen such that for a given matrix A the ( j , k )-th is made zero, i.e. ( AG ) j , k = 0 Therefore any orthogonal n × n -matrix can be written as the product of at most n ( n − 1) / 2 Givens rotations and n reflections along the canonical basis vectors G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 24 / 28
Fast completion of orthogonal systems Idea: if U is of the following form U = 0 k n − k then U is the product of at most k ( k − 1) + k ( n − k ) ≤ kn Givens rotations 2 G. Leobacher (JKU Linz, Austria) Orthogonal transforms/Brownian paths MCQMC 2012 25 / 28
Recommend
More recommend