Skip to main content
Elsevier Sponsored Documents logoLink to Elsevier Sponsored Documents
. 2012 Apr;28(2):278–302. doi: 10.1016/j.jco.2011.11.003

Fast orthogonal transforms and generation of Brownian paths

Gunther Leobacher 1
PMCID: PMC3587409  PMID: 23471545

Abstract

We present a number of fast constructions of discrete Brownian paths that can be used as alternatives to principal component analysis and Brownian bridge for stratified Monte Carlo and quasi-Monte Carlo. By fast we mean that a path of length n can be generated in O(nlog(n)) floating point operations. We highlight some of the connections between the different constructions and we provide some numerical examples.

Keywords: Fast path generation, Fast orthogonal transform, Variance reduction, Quasi-Monte Carlo

Highlights

► Linear constructions of Brownian paths correspond to orthogonal transforms. ► Some orthogonal transforms enhance quasi-Monte Carlo. ► Principal component construction can be approximated by fast cosine transform. ► Orthogonal transforms can also enhance simulation of Levy paths.

1. Orthogonal transforms and Brownian paths

There are several constructions that are frequently used to construct discrete Brownian paths, by which we mean a random function B on a given set {t1,,tn}R, 0<t1<<tn1, so that B=(Bt1,,Btn) is a Gaussian vector with mean zero and covariance matrix

(min(tj,tk))j,k=1n=(t1t1t1t1t1t2t2t2t1t2t3t3t1t2t3tn).

The case where the tj are evenly spaced is the most important one from the practical point of view. In that case the covariance matrix equals

(1nmin(j,k))j,k=1n=1n(111112221233123n).

Throughout the paper this matrix will be denoted by Σ(n) or, if there is no danger of confusion, simply by Σ.

The arguably most straightforward method (a.k.a. forward method or step-by-step method) is to compute the cumulative sum of n independent normal variables of mean zero and variance 1n. All constructions we present in this article are equivalent to this simple method from the probabilistic point of view.

However, there are refined simulation methods, for example stratified sampling (cf. [10]) and quasi-Monte Carlo methods (see [19]), which achieve higher convergence rates for some problems. Those techniques have in common that they require the identification of more important and less important input variables. For many problems the straightforward method does not provide this.

For this reason alternatives to the forward construction are frequently used, the Brownian bridge (BB) construction (a.k.a. Lévy–Ciesielski construction or midpoint displacement) and the principal component analysis (PCA) construction (a.k.a. singular value construction). The first use of the BB construction in finance is due to [18], the first use of PCA for financial applications was presented in [2], both with dramatic improvement of convergence rates.

It has been mentioned by Papageorgiou [20] that in fact any decomposition AAT=Σ provides a construction for a discrete approximation of a Brownian path via Y=AX, where X is a standard normal vector. In that context, the forward construction corresponds to the Cholesky decomposition of Σ, Σ=SS, where S is the summation operator

S=1n(100110111). (1)

PCA corresponds to A=VD, where Σ=VD2V is the singular value decomposition of Σ. A corresponding decomposition for the BB algorithm is given, for example, in [15].

However, Papageorgiou [20] notes that there are examples where BB and PCA are not giving better results than the forward method in connection with quasi-Monte Carlo. He further shows that the worst case error of integration for a certain class of payoff functions is independent of the path construction. Thus in the sense of worst case error all decompositions are equivalent.

This has been investigated further by Sloan and Wang [24]. The authors show another equivalence principle which roughly states that every decomposition is equally bad and good for QMC, depending on the function that one wants to integrate. For every decomposition A that is good for one payoff function f, and every decomposition A˜ there is another payoff function f˜ for which A˜ is equally good.

It is therefore prudent to tailor the decomposition to the problem at hand. This is done, for example, by Imai and Tan [12].

While the possible decompositions of Σ provide a clean framework for the study of algorithms for generation of Brownian paths, they are of limited practical value because the matrix-vector multiplication is comparatively slow for all but very small values of n. This is the case since general matrix-vector multiplication uses O(n2) floating point operation (flops), while the forward method and the Brownian bridge use only O(n) flops.

Until recently this has been considered a serious disadvantage of PCA as well, cf. [10]. Yet it has been shown by Scheicher [23], using results from Åkesson and Lehoczky [1], that PCA can be computed using the fast sine transform, thereby using O(nlog(n)) flops.

While the importance of the proper choice of the decomposition AA=Σ for problems arising from quasi-Monte Carlo pricing of financial derivatives is stressed by a number of authors, see e.g. [24,12], there has been a lack of alternatives to the three aforementioned constructions that allow for fast matrix-vector multiplication, by which we mean generation of a path using at most O(nlog(n)) flops.

The present paper aims to narrow this gap by providing a number of fast constructions of Brownian paths that can be used as alternatives to the three constructions presented above. We know from Sloan and Wang [24] that every one of those constructions will have some payoff functions for which they are especially well suited (and some other payoff functions for which they are ill suited).

The practitioner who is willing to use alternative constructions of Brownian paths therefore is presented with the following alternatives: she might want to tailor a (slow) construction to her special problem in the spirit of Imai and Tan [12], or alternatively, she might want to find out which of the fast constructions presented here is relatively well suited to her problem. Which choice is the better will depend on the special problem. But if one of the fast constructions is reasonably close to the optimal construction, its use will reduce the computing time considerably, with essentially the same error.

Papageorgiou [20] observed that there is a one-to-one correspondence between constructions of Brownian paths and orthogonal transforms. We present his simple theorem here since it is essential for all of our constructions.

Theorem 1.1 Papageorgiou —

If Σ=SS is the Cholesky decomposition of Σ, then any orthogonal transformation T on Rn defines a decomposition Σ=ST(ST).

Conversely, for every n×n-matrix A with Σ=AAthere exists an orthogonal transform T such that A=ST.

Proof

For any orthogonal transform T we have T=T1, such that ST(ST)=STTS=SS.

On the other hand, S is invertible, so that for T=S1A we have A=ST and

TT=S1AA(S1)=S1Σ(S1)=S1SS(S)1=id,

such that T is orthogonal. □

Note that by “orthogonal” we mean that T preserves lengths and angles. Strictly speaking such transforms are “orthonormal”, but the term “orthogonal” is more common.

Matrix-vector multiplication with S and S1 can be done in linear time. Searching for decompositions of Σ which admit fast matrix-vector multiplication is therefore equivalent to searching for orthogonal matrices that allow for matrix-vector multiplication using at most O(nlog(n)) flops.

In this paper we consider a variety of mostly well-known orthogonal transforms that can be computed using at most O(nlogn) flops.

Any of those constructions can be modified by combining them with permutations, which do not require any flops at all. Also the multiplication of two or more orthogonal matrices is orthogonal, and the product matrix admits fast matrix-vector multiplications if all of the factors admit this, provided the number of factors is small compared to the number of dimensions.

The remainder of the paper is structured as follows: Section 2 reviews the principal component analysis (PCA) construction and the general Brownian bridge (BB) construction, whereby we give some generalizations like interpolation and m-step construction, that allow the combination of BB with PCA and other fast constructions.

In the main Section 3 we present a number of fast orthogonal transforms derived from fast Fourier transform (FFT) type constructions. A special emphasis is on the fast cosine transform which, as it turns out, corresponds to a construction which is close to PCA. The proof of proximity is one of the main results of our paper.

Section 4 contains some fast constructions that do not fit the previous schemes, and connections to previous methods are highlighted.

Some numerical examples are computed in Section 5 to illustrate the advantages of some of the proposed methods. Section 6 concludes.

Since a large portion of the paper consists of listing fast construction methods, it is probably of interest to the reader to know which of those constructions have previously been known and which are new. This shall be done here, though we need to tread carefully: due to the vast applicability of Brownian motion and simulation we concede that it is too easy to overlook even significant contributions if they are related to a field foreign to the author and maybe even use different terminology.

While the first construction of PCA in Section 2.1 is due to Scheicher [23], the second construction using the corresponding orthogonal transform is new. The idea of using the Brownian bridge for interpolation to generalize an equal-step generation method to non-equal steps seems to have been previously unknown, cf. Section 2.3, and the same holds for the general m-step forward and BB methods.

To the authors best knowledge, none of the orthogonal transforms presented in Section 3 have previously been used for the (fast) construction of Brownian paths, with the sole exception of Scheicher’s use of the DST-I to calculate the PCA. But it is worth noting that if one uses DST-I as the underlying orthogonal transform, cf. Theorem 1.1, then one obtains a construction different from Scheicher’s. Nevertheless all of those transforms are of course well known, as are their respective properties. The fact that the construction obtained from DCT-IV is close to PCA is entirely new and consequently so is the idea to use this construction as a faster substitute for PCA when constructing Lévy paths.

The facts from Section 4 seem to be folklore to a large extent. However, the construction obtained from the Haar transform is new and it seems that it has not been observed previously that the Kronecker product can be used to combine different (fast) construction methods for Brownian paths.

2. PCA and Brownian bridge

2.1. PCA construction

Åkesson and Lehoczky [1] showed that for k=1,,n the k-th eigenvalue and eigenvector of the matrix Σ are given by

λk=(4nsin2(2k12n+1π2))1

and vk=(vk,1,,vk,n) where

vk,j=22n+1sin((2k1)j2n+1π),j=1,,n,

respectively. Therefore Σ=VD(VD), where V is the matrix

V=(v1,,vn),

that is, Vjk=vk,j,

(Vx)j=k=1n22n+1sin((2k1)j2n+1π)xk

and D is the diagonal matrix that has λ11/2,,λn1/2 as its diagonal elements.

It has been observed by Scheicher [23] that vi is essentially the (2i1)-th basis function of the discrete sine transform (DST-I) in dimension 2n: Recall the definition of DST-I (provided Section 3.3) on the set {1,,N},

MDST-I(y)(2N+1k=1Nyksin(kjN+1π))j=1N.

Therefore V=2PMDST-IQ, where P is the projection of a 2n-vector onto its first n elements, MDST-I is DST-I in dimension N=2n and Q is the mapping

Qx(x1,0,x2,0,,xn,0),
(MDST-IQx)j=2N+1k=1nxksin((2k1)jN+1π).

Multiplication with D,Q and P can be done in linear time while multiplication with MDST-I takes O(2nlog(2n)) flops (see [26]), therefore the generation of a Brownian path using PCA can be done using O(nlog(n)) flops.

Another fast way to construct the PCA is to calculate the corresponding orthogonal transform TPCAS1DV and compute the PCA via STPCA.

Theorem 2.1

TPCA=2PˆMˆDCT-IIIQˆ,

where MˆDCT-III is the discrete cosine transform DCT-III in dimension 2n+1,

Qˆx(0,x1,0,x2,0,,xn,0),

and Pˆ is the projection of a 2n+1-vector onto its first n elements.

Proof

For xRn

(DVx)j=k=1n1n(2n+1)(sin(2k12n+1π2))1sin(2k12n+1jπ)xk

and for yRn

(S1y)j={ny1j=1n(yjyj1)2jn.

Therefore

(S1DVx)j=k=1n12n+1(sin(2k12n+1π2))1(sin(2k12n+1jπ)sin(2k12n+1(j1)π))xk.

But using the addition theorem for the sine we get

sin(2k12n+1jπ)sin(2k12n+1(j1)π)=sin(2k12n+1(j12+12)π)sin(2k12n+1(j1212)π)=2cos(2k12n+1(j12)π)sin(2k12n+1π2),

such that

(S1DVx)j=2k=1n22n+1cos(2k12n+1(j12)π)xk.

Comparing this with the definition in [26] of the DCT-III transform finishes the proof. □

2.2. General Brownian bridge

Suppose Z=(Z1,,Zn) is a vector of independent standard normal variables.

Consider real numbers 0=t0<t1<<tn=1. We want to construct a discrete Brownian path (Bt1,,Btn), i.e. a Gaussian vector with covariance matrix (min(tj,tk))j,k.

The so-called forward construction solves this problem in the following way: Bt1t1Z1 and Btk+1Btk+tk+1tkZk+1 for k=1,,n1. It is easy to check that the vector (Bt1,,Btn) constructed in this way has indeed the required covariance matrix. The construction requires O(n) flops (note that in a (quasi-)Monte Carlo simulation with many scenarios the values tk+1tk, k=1,,n1 need to be computed only once).

An alternative construction is the well-known Brownian bridge, which we will repeat for the convenience of the reader.

Suppose the elements of (Bt1,,Btn) should be computed in the order Btπ(1),Btπ(2),,Btπ(n) for some permutation π of n elements. Consequently, in computing Btπ(j) we need to take into account the previously computed elements. Fortunately at most two of those are of relevance, the one next to π(j) on the left and the one next to π(j) on the right.

Formally define for every j{1,,n} two sets,

L(j){k:k<π(j) and π1(k)<j}
R(j){k:k>π(j) and π1(k)<j}.

That is, L contains all the indices k that are smaller than π(j) and for which Btk has already been constructed and R contains all the indices k that are greater than π(j) and for which Btk has already been constructed. Now define

l(j){0ifLj=maxLjifLj
r(j){ifRj=minRjifRj

and set Bt0=0,

Btπ(j){Btl(j)+tπ(j)tl(j)Zjifr(j)=tr(j)tπ(j)tr(j)tl(j)Btl(j)+tπ(j)tl(j)tr(j)tl(j)Btr(j)+(tπ(j)tl(j))(tr(j)tπ(j))tr(j)tl(j)Zjifr(j)<.

It is straightforward to check that the vector (Bt1,,Btn) constructed in that way has again covariance matrix (min(tj,tk))j,k. The functions l and r, as well as the factors of Btl(j), Btr(j), Zj, do not depend on the random vector Z so their computation needs to be done only once. In some special cases the functions l and r can be computed explicitly, for example if the π(tj) are the first n elements of the van der Corput sequence or of the {kα}-sequence with α=1+52, see [15]. Since in each step only two of the already constructed values are used it follows that the Brownian bridge construction uses O(n) floating point operations.

Moreover we see that the forward construction is a special case of the Brownian bridge construction where π(j)=j for all j.

The classical Brownian bridge construction as presented in Caflisch and Morokoff [18] corresponds to the setup n=2L,

tk=k2L,k=0,,n

where the Btk are constructed in the order B1, B1/2, B1/4, B3/4, B1/8, B3/8, B5/8, B7/8, . This is therefore another example where the functions l and r can easily be computed.

2.3. Interpolation using Brownian bridge

The preceding section inspires another class of constructions: we may start with constructing a possibly rough approximation of the discrete path and fill in the gaps using the Brownian bridge.

More concretely, suppose we have nodes 0<t1<<tN=1 and we want to generate a sample of the corresponding discrete Brownian path, Bt1,,BtN. We proceed as follows: choose some convenient natural number n of roughly the same or a smaller magnitude as N and use some fast construction to generate B1/n,,B1. Then partition the set {t1,,tN} into subsets

{t1,,tN}=Tk=1nTk,

where Tk{tj:k1n<tj<kn} and T{tj:tj=kn for some 0<kn}. The values Bt for tT are already known. For every 0<kn we now compute {Bt:tTk} using the Brownian bridge construction.

The fast construction we used above to generate B1/n,,B1 may be any of the constructions presented in Section 3 or PCA. Yet it may as well be something entirely different: suppose we have some n×n matrix A with AA=Σ(n) and with n being of the order of magnitude of N. Then (B1/n,,B1) can be constructed in n2N steps (multiplication of an n-vector with A) and interpolation using the Brownian bridge can be done in at most O(N) steps.

Another possible solution to the problem of generating a Brownian path with unequally spaced time nodes is presented by Keiner and Waterhouse [14]. They describe an approximate PCA that constructs paths with unequal time-steps.

2.4. m-step forward method

Suppose we want to generate a discrete Brownian path on {1n,2n,,1} where n=n1m for some n1,mN. There is a straightforward generalization of the forward method whereby m forward steps are generated in one “forward leap” in the following way: fix any decomposition Σ(m)=AA.

(B((k+1)n1+1)/n,,B((k+1)n1+m)/n)(B(kn1)/n,,B(kn1)/n)+1/n1AZk+1,

where Z1,Z2, are independent standard Gaussian vectors of dimension m. Clearly the number of flops needed is n1 times the number needed by one multiplication by A. In any case it is less then n1m2 which is O(n) for constant m. If A allows for fast multiplication, the number of operations is O(nlog(m)).

2.5. m-step Brownian bridge

Similarly to the m-step forward method, we can generalize the Brownian bridge construction to an m-step method: suppose we want to generate a discrete Brownian path on {1n,2n,,1} where n=(m+1)ν for some m,νN.

Let (B1m+10,B2m+10,,B10) be a discrete Brownian path and consider the Gaussian vector

X=(X1m+1,,Xmm+1)(B1m+101m+1B10,,Bmm+10mm+1B10). (2)

It is easy to see that for any standard normal variable Z independent of B the vector

(X1m+1+1m+1Z,X2m+1+2m+1Z,,Xmm+1+mm+1Z,Z)

is a discrete Brownian path. Moreover the covariance matrix of (X1m+1,X2m+1,,Xmm+1) is given by

Γ(m)=(min(j,k)m+1jk(m+1)2)j,k=1m.

We call any Gaussian vector X=(X1m+1,,Xmm+1) with covariance matrix Γ(m) a discrete Brownian bridge on {1m+1,,mm+1}. We write Γ instead of Γ(m) if there is no danger of confusion. Γ is a symmetric positive definite matrix which can therefore be decomposed as Γ=CC.

This provides us with a generalization of the classical Brownian bridge algorithm where in every step (except the first one) m points are generated at once.

Let z0 be a standard normal variable and let

{Zj,k:j=0,,ν1,k=0,,mj1}

be a collection of independent standard normal vectors of dimension m.

Define B1z0, subsequently

(Bm1,,B(m1)m1)=CZ0,0,

further for j=1,,ν1

(Bmj1+kmj,,B(m1)mj1+kmj)=Bkmj(1,,1)+1m(B(k+1)mjBkmj)(1,,m1)+mjCZj,k,

for k{0,,mj1}. It can be shown that this construction generates a Brownian path as required.

Let us now turn to the number of multiplications needed. Multiplication of a vector by C can be done using at most m2 scalar multiplications, we need 1+m++mν1 such matrix-vector multiplications, giving a total of m2mν1m1mn scalar multiplications. If matrix-vector multiplication can be done in mlog(m) steps, then we get log(m)n. Both results are O(n) for constant m.

The last sentence begs the question under which circumstances matrix-vector multiplication can be done in mlog(m) steps. We do not know of a direct decomposition of Γ(m) that makes that possible, but every fast decomposition of Σ(m+1) gives rise to a fast generation of a discrete Brownian bridge via Eq. (2), using O((m+1)log(m+1))=O(mlog(m)) operations.

A possible drawback is that we use m+1 random numbers to generate an m-dimensional Gaussian vector, so that one random number is “lost” or, in other words, the dimension of the integration problem becomes higher with each step.

But this can be remedied to a certain degree: note that if X is constructed from B0 according to Eq. (2), then X is uncorrelated and therefore independent of B10:

E((Bkm+10km+1B10)B10)=km+1km+1=0.

Thus B10 may be “recycled” as a component of one of the Zj,k in a later step and so only in the very last step there is one random variable wasted. So if the m-step Brownian bridge construction is used to generate a discrete Brownian path on {1n,2n,,1) with n=(m+1)ν, then using the above method we need n+1=(m+1)ν+1 random numbers, i.e. the integration problem becomes (n+1)-dimensional.

Finally we want to remark that the generation of X above can be used for m-step interpolation, analog to the generalized Brownian bridge in Section 2.3.

3. Generation by FFT-type transforms

Probably the most famous example of a unitary transform that allows for fast matrix-vector multiplication is the discrete Fourier transform DFT (with the corresponding fast multiplication algorithm FFT),

(Fx)j=1nk=1nxke(j1)(k1)2πin,j=1,,n,

for a vector xCn. (Usually the indices range from 0 to n1, but for consistency with other constructions in this paper we chose the above definition.)

There are a many variants of the discrete Fourier transform that map real functions to real functions and are therefore orthogonal. We present some of those variants.

3.1. Modified Fourier transform

Most Fourier variants that map real functions to real functions have some additional special properties which, for example, make them useful for the fast generation of convolutions. From our point of view we are content with any such variant, indeed we want to have many different variants to choose from for a particular application.

We present one modification of the Fourier transform that maps real functions to real functions. It is well known (and easy to check) that the discrete Fourier transform of a vector (x1,,xn) is real-valued iff x1R and xn+2k=x¯k for 2kn2+1. Consider the linear map B,

(Bx)k={x1k=1xk+ixn/2+k2k<n/2+1xn/2+1k=n/2+1xn+2kixn/2+n+2kn/2+1<kn.

(Note that one may use this definition for odd n as well.) Then for any standard normal vector X, FBX is a (real-valued) standard normal vector.

A drawback of this method is that the FFT algorithm uses complex multiplication, which uses 4 real multiplications. However many fast orthogonal transforms that use only real multiplications have been developed, mainly–as is to be expected–by researchers in the area of signal processing.

3.2. Hartley transform and Hilbert transform

The Hartley transform on [0,2π] is a variant of the Fourier transform where the orthonormal basis is given by the functions x12π(cos(kx)+sin(kx)), kZ. See [5,6].

It is easy to see that the Hartley transform on [0,2π] is given by

H(f)F(f)F(f), (3)

where F denotes the Fourier transform on [0,2π],

F(f)(k)=12π02πf(x)e2πikxdx.

In analogy to the Fourier transform there is a discrete version of the Hartley transform together with a fast algorithm, see [27, Section 3.2] (or one might just use the FFT and Eq. (3)): for a vector xRn define

(Hx)j=1nk=1nxk(cos((j1)(k1)2πn)+sin((j1)(k1)2πn))=(Fx)(j)(Fx)(j),j=1,,n.

We identify the linear map H with the corresponding matrix.

Theorem 3.1

The matrix H has the following properties:

  • 1.

    H is orthogonal;

  • 2.

    H is self-inverse, H1=H ;

  • 3.

    for any real vector xthe product Hx can be computed in O(nlog(n)) steps.

A proof can be found in [6, Chapter 12].

Another important property of the Fast Discrete Hartley transform is that it can be computed using only real multiplications and additions. Consult Bracewell [6] for more details on the Hartley transform and its discrete version.

Another example of an orthogonal transform is the so-called Hilbert transform. We will not go into the details of the Hilbert transform. The definition and basic properties can be found in [6]. There, a result from Pei and Jaw [21] is also stated which says that the discrete Hilbert transform is of the form

HπH,

where H is the discrete Hartley transform and π is the permutation

π(j)={0forj=1n+1jforj1.

The discrete Hilbert transform is therefore an orthogonal matrix admitting fast multiplication.

3.3. Sine and cosine transforms

Two of the most important orthogonal transforms that map real input to real output are the sine and cosine transforms. There are four widely used variants of the sine and cosine transform and there is also the so-called W-transform which is similarly defined.

For the convenience of the reader we will recall the definitions of the discrete sine and cosine transforms. Wang [26] or Wickerhauser [27, Section 3.3] provide details on fast implementations.

The definitions are not entirely uniform throughout the literature. We have chosen definitions which are in a form that already describes an orthogonal transform. Usually, as for example in [26], the indices range from 0 to n1, but for consistence with the rest of our paper we will let them range from 1 to n.

Define

κA(j){1ifjA1/2ifjA.

All matrices below are in Mn,n(R) for some n2, so the indices j,k range from 1 to n.

(MDCT-I)j,k2n1κ{1,n}(j)κ{1,n}(k)cos(πn1(j1)(k1))
(MDCT-II)j,k2nκ{1}(j)cos(πn(j1)(k12))
(MDCT-III)j,k2nκ{1}(k)cos(πn(j12)(k1))
(MDCT-IV)j,k2ncos(πn(j12)(k12))
(MDST-I)j,k2n+1sin(πn+1jk)
(MDST-II)j,k2nκ{n}(j)sin(πnj(k12))
(MDST-III)j,k2nκ{n}(k)sin(πn(j12)k)
(MDST-IV)j,k2nsin(πn(j12)(k12)).

Wang introduced another set of orthogonal transforms which was called discrete W transform, or DWT. The abbreviation “DWT” is nowadays more frequently used for discrete wavelet transform.

(MW-I)j,k2nsin(π4+2πn(j1)(k1))
(MW-II)j,k2nκ{n}(j)sin(π4+2πn(j1)(k12))
(MW-III)j,k2nκ{n}(k)sin(π4+2πn(j12)(k1))
(MW-IV)j,k2nsin(π4+2πn(j12)(k12)).

One aspect of the cosine transform is especially worth noting: its corresponding Brownian paths agree to a large extent with those of the principal component analysis1.

Let CMDCT-IV, that is

Cjk=2ncos(πn(k12)(j12)).

We want to compute SC, where S is the scaled summation

S=1n(100110111).
(SC)lk=2nj=1lcos(πn(k12)(j12))=2nj=1lcos(πn(k12)(j12))=()1n(2n)(sin(2k12nπ2))1sin(2k12nlπ),

where for () one writes cos(x)=eix+eix2 and computes the resulting geometric sums.

Recall the PCA construction

λk=(4nsin2(2k12n+1π2))1

and

Vl,k=22n+1sin(2k12n+1lπ),l=1,,n,
(VD)lk=λk1/2Vk,l=1n(2n+1)(sin(2k12n+1π2))1sin(2k12n+1lπ).

We see that for fixed l,k we have limn((SC)lk(VD)lk)=0. On its own that does not say a lot about the proximity of paths generated with the two different methods, but Figs. 1 and 2 illustrate that those paths are rather close indeed, so we want to investigate that topic further.

Fig. 1.

Fig. 1

Two Brownian paths with n=26, one generated via PCA and one via DCT-IV.

Fig. 2.

Fig. 2

Two Brownian paths with n=28, one generated via PCA and one via DCT-IV.

Consider the expected squared Euclidean norm of the difference of two paths generated by two n×n-matrices P,Q from the same set of independent standard normals (X1,,Xn):

E(PXQX2)=E(l=1n((PX)l(QX)l)2)=E(l=1n(k=1n(PQ)lkXk)2)=l=1nk=1n(PQ)lk2dn(P,Q)2.

The last expression is the square of the Euclidean norm of PQ in Rn2 which is known as the Hilbert–Schmidt norm of PQ.

It turns out that SC is close to VD in the Hilbert–Schmidt norm: for small n the value of dn(SC,VD) can be computed numerically. Fig. 3 shows dn(SC,VD)2 for n ranging from 0 to 50. The graph suggests that dn(SC,VD)2 converges for n and that the limit is close to 13.

Fig. 3.

Fig. 3

The squared distance dn(SC,VD)2 between PCA and DCT-method for n=1,,50.

In fact we have dn(SC,VD)<1 for all nN and

lim supndn(SC,VD)22(48π2)(π224)2=0.381.

This will be proved below. As a corollary we note that the average of the variances (E((SCXVDX)k2))k=1n tends to 0 as n tends to infinity.

Define

δ(n,k)l=1n(SCVD)lk2

and

u(n,x)1nx2(9(1n+1)(12n+1)2(6(12n+1)2x2)2+9(6x2)2n4n+24n+1). (4)

Proposition 3.2

u is increasing in the second variable on [0,π2].

Proof

Compute the partial derivative of u w.r.t. x as

ku(n,k)=1nx3(9(1n+1)(2n+1)2x2(12n+1)2n2(6(12n+1)2x2)3+62x2(6x2)329(6x2)229(1n+1)(12n+1)2(6(12n+1)2x2)2+2n4n+24n+1).

We need to show that ku(n,x)>0, which is equivalent to

uˆ(n,x)nx3ku(n,x)>0.

(Note that x>0). This in turn is shown by proving that uˆ(n,0)>0 and kuˆ(n,0)>0. We leave those last calculations to the reader. □

Lemma 3.3

For all n and all 1kn we have

δ(n,k)<u(n,2k12n+1π2).

Proof

The sum δ(n,k)l=1n(SCVD)lk2 can be computed by writing sin(x)=12i(eixeix) for x{2k12nlπ,2k12n+1lπ} so that the sum becomes a sum of 4 geometric sums. The result can be simplified to

δ(n,k)=csc2(π(2k1)4n)8n2+csc2(π(2k1)4n)4n+csc2(π(2k1)2(2n+1))4n(2n+1)+2csc2(π(2k1)2(2n+1))4(2n+1)2csc(π(2k1)2(2n+1))csc(π(2k1)4n(2n+1))4nn(2n+1)sin(π(2k1)(2n+1)2n)csc(π(2k1)2n)csc2(π(2k1)4n)8n2sin(π(2k1))csc2(π(2k1)2(2n+1))csc(π(2k1)2n+1)4n(2n+1)+2sin(π(2k1)(4n+1)4n)csc(π(2k1)2(2n+1))csc(π(2k1)(4n+1)4n(2n+1))csc(π(2k1)4n)4nn(2n+1).

We make use of the facts that sin(π(2k1))=0, sin(π(2k1)(2n+1)2n)=sin(π(2k1)2n) and sin(π(2k1)(4n+1)4n)=sin(π(2k1)4n) for integers k,n, such that

δ(n,k)=csc2(π(2k1)4n)8n2+csc2(π(2k1)4n)4n+csc2(π(2k1)2(2n+1))4n(2n+1)+2csc2(π(2k1)2(2n+1))4(2n+1)2csc(π(2k1)2(2n+1))csc(π(2k1)4n(2n+1))4nn(2n+1)+csc2(π(2k1)4n)8n22csc(π(2k1)2(2n+1))csc(π(2k1)(4n+1)4n(2n+1))4nn(2n+1),

that is,

δ(n,k)=14n(1n+1)csc2(π(2k1)4n)+14ncsc2(π(2k1)2(2n+1))2csc(π(2k1)2(2n+1))4nn(2n+1)(csc(π(2k1)4n(2n+1))+csc(π(2k1)(4n+1)4n(2n+1))).

Next we use that for x(0,π2) one has xx36<sin(x)<x and therefore

1xx36>csc(x)>1x,

such that, after some simplifications we get the estimate

δ(n,k)<1n(π(2k1)2(2n+1))2(9(1n+1)(12n+1)2(6(12n+1)2(π(2k1)2(2n+1))2)2+9(6(π(2k1)2(2n+1))2)2n4n+24n+1).

Therefore

δ(n,k)<u(n,2k12n+1π2),

 □

Theorem 3.4

The sequence dn(SC,VD)2 is bounded by 2(48π2)(π224)2.

Proof

We know from Proposition 3.2 that u is increasing in x and from Lemma 3.3 that δ(n,k)<u(n,2k12n+1π2) for all k{1,,n}, so we conclude that δ(n,k)<u(n,π2) and therefore

dn(SC,VD)2=l=1nk=1n(SCVD)lk2=k=1nδ(n,k)<nu(n,π2). (5)

It is readily checked that

limnnu(n,π2)=2(48π2)(π224)2=0.381

so that dn(SC,VD) is indeed bounded. □

Some extra work is needed to find a uniform bound on dn(SC,VD):

Theorem 3.5

dn(SC,VD)<1.

Proof

Observe that 4n+2n4n+112164n2, so that from (4) to (5)

dn(SC,VD)2<nu(n,π2)4π2((1n+1)(12n+1)2(2(12n+1)2π212)2+1(2π212)2(12164n2))4π2(2(12n+1)2(2(12n+1)2π212)2(12164n2)).

Now use the estimates 4π2<41100 and π212<83100 to verify that nu(n,π2)<1 for all n3.

For n=1,2 direct computation shows that dn(SC,VD)<1. □

3.4. Intermezzo: simulation of Lévy processes

A Lévy process L is a stochastic process with the following properties:

  • 1.

    L0=0 a.s.;

  • 2.

    for fixed t>0 the random variables Ls+tLs have the same distribution for all s0;

  • 3.

    for 0t1t2tn the random variables Lt1,Lt2Lt1,,LtnLtn1 are independent.

  • 4.

    L is continuous in probability.

This is a generalization of Brownian motion, which is obtained if Lt has normal distribution with mean 0 and variance t.

The distribution of Lt for arbitrary t is already determined by the distribution of L1: if ψ is the generating function of L1, then by definition of a Lévy process and elementary properties of characteristic functions, Lm/n has characteristic function ψm/n for any rational number m/n>0 and by continuity, Lt has characteristic function ψt for any real number t>0. See for example [22].

If we want to know the values of a sample path for t=1n,2n,,1 we can use a direct generalization of the forward method, provided that we know the inverse of the cumulative probability distribution function (CDF) of L1/n: let F be the CDF of L1/n and F1 its inverse. Given independent (0,1)-uniform random variables U1,,Un define

L1/nF1(U1)
L2/nF1(U1)+F1(U2)
L1F1(U1)+F1(U2)++F1(Un).

In contrast, the general construction underlying all the generation methods mentioned so far in this paper do not generalize to Lévy processes since those constructions depend heavily on the normality of the generated vector.2

It has first been observed in [16] that constructions of Brownian paths like BB and PCA can be generalized to constructions of paths of Lévy processes in the way described below.

Let Φ denote the standard normal distribution function, i.e.

Φ(x)x12πexp(y22)dy.

Given any Brownian path (B0,B1/n,,B1) we have that the random variables UˆkΦ(n1/2(Bk/nB(k1)/n)), k{1,,n} are independent and uniformly distributed on (0,1). These transformed uniform variables Uˆ1,,Uˆn can now be used in the forward construction of a Lévy path.

Thus every orthogonal transform T can be used for a construction of Lévy paths using the following algorithm:

  • 1.

    Generate independent, standard normal random variables X1,,Xn;

  • 2.

    Compute Y=TX;

  • 3.

    Compute independent, uniformly distributed random variables Uˆ1,,Uˆn via Uˆk=Φ(Yk), k=1,,n;

  • 4.

    Compute a discrete path of L via the forward construction, i.e. L1/n=F1(Uˆ1),L2/n=F1(Uˆ1)+F1(Uˆ2),,L1=F1(Uˆ1)++F1(Uˆn).

If the T in that algorithm corresponds to Brownian path generation using PCA, then the above method can be viewed as a kind of PCA for the Lévy process. In that case B=VDX and Uˆk=Φ(Yk), where Y=S1VDX.

If, on the other hand, we use for T the cosine transform of Section 3.3, this will give a result that is close to the one obtained from PCA while using less than half the number of flops, since PCA involves the sine transform on R2n.

This method is actually entirely general: every simulation algorithm can use standard normals instead of uniform random variables, and it is always possible to apply an orthogonal transform to those standard normals. From the probabilistic point of view the resulting integration problem will be equivalent to the original one, but it may still hold that convergence when using QMC or stratification becomes faster.

3.5. Walsh–Hadamard transform

Walsh functions and the corresponding transform were first introduced by Walsh in [25]. Subsequently, Fine [8] augmented the theory and made the connection to classical Fourier theory by observing that the Walsh functions are just the characters of the group ([0,1),), where is digit-wise addition modulo 2. Like the Fourier transform, the Walsh–Hadamard transform has a discrete version which will be outlined below.

Consider the group structure on (0,,2n1) that is induced by bit-wise operations in base 2. For example 33=(1,1)2+Z2n(1,1)2=(0)2=0, 74=(1,1,1)2+Z2n(1,0,0)2=(1,1)2=3.

Then the characters of the group are of the form

χk(j)=(1)kj,

where denotes bit-wise inner product, i.e. kj=k0j0++kmjm for k=k0+k12++km2m and j=j0+j12++jm2m. The χk are also called (discrete) Walsh functions. See [7] for details.

From the character property it follows immediately that (1nχ0,,1nχn1) form an orthonormal basis of Rn and therefore the coordinate transformation from the canonical basis to Walsh functions is orthogonal. Let W denote the corresponding matrix. Multiplication of a vector with W is called the discrete Hadamard–Walsh transform.

Theorem 3.6

The matrix W has the following properties:

  • 1.

    W is orthogonal;

  • 2.

    W is self-inverse, W1=W ;

  • 3.

    the entries of W are all in {1,1} ;

  • 4.

    for any real vector xthe product Wx can be computed using O(nlog(n)) flops.

We omit the easy proof as it is mostly a special case of the Kronecker product of orthogonal matrices which is treated in Section 4.3. A detailed description of the fast algorithm can be found in [9].

There is a nice one-line Mathematica implementation of the fast Walsh transform, taken from [28, Notes for Chapter 10], which we would like to share with the reader:

graphic file with name fx1.jpg

A disadvantage of the method is that it relies on n being a power of 2. A big advantage is that most of the occurring floating point multiplications are by 1 or 1, with only n multiplications by (n)1.

4. Further approaches

4.1. Wavelet analysis

Another interesting orthogonal transform is the Haar transform as introduced in [11]. We repeat the basic definitions, loosely following [13]. For a vector x0(x10,,xn0) of length n=2L define

xk112(x2k10+x2k0)
dk112(x2k10x2k0).

It is not hard to convince oneself that the mapping x0(x1,d1) constitutes an orthogonal transform.

Moreover, the construction can be repeated on x1 and in general we define

xkj12(x2k1j1+x2kj1)
dkj12(x2k1j1x2kj1)

for k=1,,2Lj, j=1,,L and it is again easy to see that the mapping

x0(xL,dL,dL1,dL2,,d1)

is an orthogonal transform. The inverse can be computed similarly:

x2k1j112(xkj+dkj)
x2kj112(xkjdkj)

for k=1,,2Lj, j=L,,1.

Let H denote the Haar transform on 1,,n where n is a power of 2. It is well known (and easy to check) that SH1, where S is again the normalized summation matrix given in Eq. (1), is exactly the classical Brownian bridge construction. General wavelet analysis may therefore be viewed as a generalization of the Brownian bridge construction.

While the inverse Haar transform does not provide us with a new fast construction method for discrete Brownian paths, the Haar transform H does.

The Haar transform as well as its inverse can be computed using O(nlog(n)) flops. See [13] for a proof. If some care is taken the transforms can be done using O(nlog(n)) additions/subtractions and n multiplications with powers of 12.

4.2. Block-diagonal orthogonal matrices

The following method can be viewed as a generalization of the m-step forward method of Section 2.4: Consider a block-diagonal matrix

C=(C1C2Ck),

where C1,,Ck are orthogonal matrices and Cj has dimension nj×nj, such that C has dimension n×n with n=n1++nk.

We have that C admits fast matrix-vector multiplication if every Cj, j=1,,k, does, or if max1jknjKlog(n) for some constant K.

4.3. Kronecker product of orthogonal matrices

Recall the Kronecker product3AB of two matrices A and B:

(A11A1mAm1Amm)(B11B1kBk1Bkk)(A11BA1mBAm1BAmmB).

Note that

(A1A2)(B1B2)=A1B1A2B2

and

(A1A2)=A1A2

and that the Kronecker product of two identity matrices is an identity matrix. From this it follows that the Kronecker product of orthogonal matrices is an orthogonal matrix.

The significance of the Kronecker product for our considerations is that matrix-vector multiplication with the mk×mk-matrix AB can be done using less than (mk)2 operations. To that end we use the following algorithm:

  • 1.

    partition the mk-dimensional vector x into k vectors xˆ1,,xˆk of dimension m, xˆjix(i1)k+j;

  • 2.

    compute yjBxj for j=1,,k;

  • 3.

    concatenate the yj’s to an mk-dimensional vector y;

  • 4.

    partition y into m vectors yˆ1,,yˆm of dimension k, yˆjiy(j1)m+i;

  • 5.

    compute zjAyˆj for j=1,,m;

  • 6.

    concatenate the zj’s to an mk-dimensional vector z.

Then it is easy to check that z=(AB)x. The algorithm needs O(km2+mk2)=O(mk(m+k)) flops, compared to O((mk)2) flops for classical multiplication of AB with x. If multiplication with A and B is fast, then the complexity further reduces to O(km(log(m)+log(k))).

Suppose n=2k and that

C=A1A2Ak

for k2×2-matrices A1,,Ak. Then it follows from induction that the multiplication Cx, where xRn, can be done in O(2kk)=O(nlog(n)) operations. An example is the aforementioned Walsh–Hadamard transform which may be written as W2W2 (k times), where

W2=12(1111).

This is also an easy proof by induction.

5. Numerical examples

We consider some numerical examples that illustrate the methods described in the paper.

We consider a European-style option, i.e. one that can be exercised only at the expiry date T. We assume that the price process is of the form

St=S0exp(σBt+(rσ22)t),t[0,T], (6)

where B is a standard Brownian motion, that is, we describe the price process of the share in a Black–Scholes market with interest rate r under the risk-neutral measure.

The arbitrage free price of a derivative X depending only on the path of S up to time T is then given by

p=erTE(X), (7)

provided the expectation is finite. See for example [4] for the general theory of derivative pricing in the Black–Scholes setting.

We limit ourselves to the case where T=1 and where X may only depend on S1/n,S2/n,,S1 or, equivalently, on B1/n,B2/n,,B1.

In that case Eq. (7) takes on the form

p=E(f(B1/n,,B1)),

or, in shortened notation, p=E(f(B)), for some function f.

5.1. Asian option

A classical example is an average value option, also called Asian option, where

X=max(1nk=1nSknTK,0)=max(1nk=1nS0exp(σTBkn+(rσ22)knT)K,0).

In Fig. 4, for example, an Asian option is considered with n=64, r=0.045, σ=0.3, S0=K=100, T=1. The option price was evaluated using a quasi-Monte Carlo rule based on a randomly shifted Sobol sequence and the standard normal variates were generated by inversion of the cumulative probability distribution function. Each line shows the log2 of the standard deviation divided by the mean over 64 runs of the rule using a different generation method. Along the x-axis we plot the log2 of the number of points used by the QMC-rule.

Fig. 4.

Fig. 4

Asian option.

We see that PCA outperforms the forward construction and DST-III. The inverse Haar transform, which is equivalent to the Brownian bridge, can be seen to be quite close to PCA.

This behavior is rather typical for simple options, e.g. for European style options that depend on the price process of a single share only and in an economically meaningful way, PCA seems to be (almost) a panacea. A remarkable exception is the ratchet option considered by Papageorgiou [20], for which the forward method performs much better.

5.2. Double average option

We give an example of an exotic derivative for which one of the methods proposed in this paper gives a slightly better convergence compared to the standard methods.

A double average option is an option for which the payoff is a function of AA1, where A and A1 are arithmetic averages of the price process over different intervals. See [29, Section 3.3] for details on this kind of Asian option. An example payoff of a double average put is the following:

X=max(2nk=1n/2SknT2nk=n/2+1nSknT,0).

Fig. 5 shows a comparison between several generation methods, the three classical methods as well as the one corresponding to the DST-III transform. We see that DST-III consistently outperforms the classical methods, though not by a large margin. But it is worth noting that DST-III is significantly better than the methods using O(n) flops, Brownian bridge and forward construction.

Fig. 5.

Fig. 5

Double average put option.

5.3. Weighted Asian option

It is not hard to find theoretical examples that strongly prefer some non-classical generation method, like it is done by Sloan and Wang [24]. We sketch their idea briefly: suppose the payoff of the option, expressed as a function of the Brownian path, is of the form f(B)=g(wB). Suppose further that w is of the special form

w=(1,0,,0)T1S1,

where T is a fixed orthogonal transform and S is scaled summation.

If the Brownian motion is generated via the same orthogonal transform T, then B=STZ, where Z is a vector of independent standard normals, and so

w(STZ)=wSTZ=(1,0,,0)T1S1STZ=(1,0,,0)Z=Z1,

such that f(B)=g(Z1), and the integration problem becomes one-dimensional.

Therefore one may expect a much faster convergence of the QMC rule than for the n-dimensional original problem that is obtained for most other generation methods of the Brownian path.

But the same effect may be observed in the (practically more interesting) case that the payoff is only approximately of the form f(B)=g(wB).

Consider a weighted version of the Asian option, that is

X=max(k=1nwkSknTK,0)=max(k=1nwkS0exp(σTBkn+(rσ22)knT)K,0),

where w=(1,0,,0)TOTP1S1, and where TOTP is an orthogonal Kronecker product as described in Section 4.3, T=AA (6 times) with

A=(cos(ϕ)sin(ϕ)sin(ϕ)cos(ϕ))

and ϕ=2π/3.4Fig. 6 shows the corresponding graphs. We observe that now OTP is the best method by a large margin, while PCA and BB perform roughly as well as the forward method.

Fig. 6.

Fig. 6

Weighted Asian option.

Fig. 7 shows the weight w that is used in the payoff function of the weighted Asian option in this particular example. It shows that the option corresponding to this weight is rather exotic indeed.

Fig. 7.

Fig. 7

Weight of the Asian option.

Remark 5.1

As can already be seen from the construction of w, there will in general be many orthogonal transforms that make the integration problem (roughly) one-dimensional.

5.4. Weighted Asian option in the NIG Lévy model

We conclude our study of Asian options with considering the same example of a (weighted) Asian option in an NIG Lévy setup. Here the log-increments of the price process have NIG distribution instead of normal distribution, i.e. model (6) is replaced by

St=S0exp(Lt+(rξ)t), (8)

where L is an NIG Lévy process, that is, Lt+ΔtLt has NIG density

fNIG(x;α,β,δ,μ)=απexp(δα2β2+β(xμ))δK1(αδ2+(xμ)2)δ2+(xμ)2,

where K1(x) is the modified Bessel function of the second kind with index 1, that is

K1(x)=120exp(12x(z+z1))dz

and α,β,δ,μ are the parameters of the distribution. The parameters α and β need to satisfy 0|β|α and δ>0. ξ is chosen so that erTE(ST)=S0.

The parameters in our numerical example are α=18.3, β=1.06, δ=0.0184 and μ=0.000434. Those have been found from the stock price process of General Electrics using maximum likelihood estimation of the data from January 2000 to September 2010. The popularity of Lévy processes derives from the empirical fact that they give a much better fit to market data than the Gaussian Black–Scholes model. See Fig. 8 for a comparison of the respective maximum likelihood estimated densities with observed market frequencies.

Fig. 8.

Fig. 8

Fit of NIG and Gaussian distribution to market log-returns.

Fig. 9 shows the result for the same weighted Asian option as before, but now the NIG model has been used to generate the price process. We see that the behavior is similar to the Black–Scholes case, but it is much less expressed.

Fig. 9.

Fig. 9

Weighted Asian option in the NIG Lévy model.

6. Conclusions and open questions

We have given a number of constructions of discrete Brownian paths that provide alternatives to the classical constructions, that is, forward, Brownian bridge and PCA construction. All the constructions presented have the desirable property that they have computational complexity O(nlog(n)) or O(n).

We have used the orthogonal representation of path construction to derive a new method for efficient computation of the PCA construction and an even faster method for approximate computation of the PCA construction.

We provided numerical examples illustrating two main points: (1) there are cases where alternative constructions are more efficient then the classical ones, (2) however for most practical cases PCA is best with the computationally less complex Brownian bridge being close.

We need to stress that the examples presented all depended on only one Brownian path. Imai and Tan [12] provide examples where a generation method other than PCA is far more effective, however their method uses full matrix multiplication. It would be useful to try and find a fast version of their method or, more generally, find a generic algorithm which combines the orthogonal transforms presented here in an optimal (or near optimal) way for a given integration problem.

Acknowledgments

The author would like to thank Gerhard Larcher, Fritz Pillichshammer and the anonymous referees for valuable comments.

The author is partially supported by the Austrian Science Foundation (FWF), Project P21196.

Footnotes

1

This is not a complete surprise, since the scaled summation S serves as a kind of integral and the indeterminate integral of the cosine is the sine. Nevertheless the above assertion is not trivial to prove, and it does not hold for DCT-I and DCT-III.

2

Nevertheless there are Bridge constructions for Lévy processes for which the conditional distribution of Lt/2 given Lt can be obtained explicitly, like for the variance-gamma process, cf. [3].

3

We confine ourselves to quadratic matrices.

4

This kind of transform has been dubbed “CRAFOT”–constant rotation angle fast orthogonal transform–by Misans and Terauds [17].

References

  • 1.F. Åkesson, J.P. Lehoczky, Discrete eigenfunction expansion of the multi-dimensional Brownian motion and the Ornstein–Uhlenbeck process, Technical report, Carnegie-Mellon University, 1998.
  • 2.Acworth P., Broadie M., Glasserman P. A comparison of some Monte Carlo and quasi-Monte Carlo techniques for option pricing. In: Niederreiter H., Hellekalek P., Larcher G., Zinterhof P., editors. Monte Carlo and Quasi-Monte Carlo Methods 1996, Proceedings of a Conference at the University of Salzburg, Austria, July 912, 1996. Springer; New York: 1998. pp. 1–18. [Google Scholar]
  • 3.Avramidis A.N., L’Ecuyer P. Efficient Monte Carlo and quasi-Monte Carlo option pricing under the variance gamma model. Manag. Sci. 2006;52:1930–1944. [Google Scholar]
  • 4.Bjørk T. Oxford University Press; 2004. Arbitrage Theory in Continuous Time. [Google Scholar]
  • 5.Bracewell R.N. Aspects of the Hartley transform. Proc. IEEE. 1994;82(3) [Google Scholar]
  • 6.Bracewell R.N. third ed. McGraw-Hill; 2000. The Fourier Transform and its Applications. [Google Scholar]
  • 7.Dick J., Pillichshammer F. Discrepancy Theory and Quasi-Monte Carlo Integration. Cambridge University Press; Cambridge: 2010. Digital nets and sequences. [Google Scholar]
  • 8.Fine N.J. On the Walsh functions. Trans. Amer. Math. Soc. 1949;65:372–414. [Google Scholar]
  • 9.Fino B.J., Algazi V.R. Unified matrix treatment of the fast Walsh–Hadamard transform. IEEE Trans. Comput. 1976;C-25(11):1142–1146. [Google Scholar]
  • 10.Glasserman P. Springer; 2004. Monte Carlo Methods in Financial Engineering. [Google Scholar]
  • 11.Haar A. Zur theorie der orthogonalen funktionensysteme. Math. Ann. 1910;69:331–371. [Google Scholar]
  • 12.Imai J., Tan K.S. A general dimension reduction technique for derivative pricing. J. Comput. Finance. 2007;10:129–155. [Google Scholar]
  • 13.Kaiser G. The fast Haar transform. IEEE Potentials. 1998;17(2):34–37. [Google Scholar]
  • 14.Keiner J., Waterhouse B.J. Fast principal components analysis method for finance problems with unequal time steps. In: L’ Ecuyer P., Owen A.B., editors. Monte Carlo and Quasi-Monte Carlo Methods 2008. Proceedings of the 8th International Conference Monte Carlo and Quasi-Monte Carlo Methods in Scientific Computing, Montréal, Canada, July 6–11, 2008. Springer; Berlin: 2009. pp. 455–465. [Google Scholar]
  • 15.Larcher G., Leobacher G., Scheicher K. On the tractability of the Brownian bridge algorithm. J. Complexity. 2003;19:511–528. [Google Scholar]
  • 16.Leobacher G. Stratified sampling and quasi-Monte Carlo simulation of Lévy processes. Monte-Carlo Methods Appl. 2006;12(3–4):231–238. [Google Scholar]
  • 17.Misans P., Terauds M. Errors of constant rotation angle fast orthogonal transforms used for fixed-point arithmetic dsp applications: Preliminary results. Elektron. Elektrotech. 2005;60(4) [Google Scholar]
  • 18.Moskowitz B., Caflisch R.E. Smoothness and dimension reduction in quasi-Monte Carlo methods. Math. Comput. Model. 1996;23(8–9):37–54. [Google Scholar]
  • 19.Niederreiter H. Low-discrepancy simulation. In: Duan J., Härdle W., Gentle J.E., editors. Handbook of Computational Finance, Springer Handbooks of Computational Statistics. Springer; Berlin: 2012. pp. 703–730. [Google Scholar]
  • 20.Papageorgiou A. The Brownian bridge does not offer a consistent advantage in quasi-Monte Carlo integration. J. Complexity. 2002;18(1):171–186. [Google Scholar]
  • 21.Pei S.C., Jaw S.B. Discrete Hilbert transform by FHT. IEEE T. Circuits Syst. 1989;36:1251–1252. [Google Scholar]
  • 22.Protter P.E. Stochastic Integration and Differential Equations. second ed. vol. 21. Springer-Verlag; Berlin: 2004. (Applications of Mathematics (New York)). Stochastic Modelling and Applied Probability. [Google Scholar]
  • 23.Scheicher K. Complexity and effective dimension of discrete Lévy areas. J. Complexity. 2007;23(2):152–168. [Google Scholar]
  • 24.Sloan I.H., Wang X. Quasi-Monte Carlo methods in financial engineering: An equivalence principle and dimension reduction. Oper. Res. 2011;59(1):80–95. [Google Scholar]
  • 25.Walsh J.L. A closed set of normal orthogonal functions. Amer. J. Math. 1923;45:5–24. [Google Scholar]
  • 26.Wang Z. Fast algorithms for the discrete W transform and for the discrete Fourier transform. IEEE Trans. Acoust. Speech Signal Process. 1984;32(4) [Google Scholar]
  • 27.Wickerhauser M.V. A. K. Peters, Ltd.; Wellesley, MA: 1994. Adapted Wavelet Analysis from Theory to Software. [Google Scholar]
  • 28.Wolfram S. Wolfram Media; 2002. A New Kind of Science. [Google Scholar]
  • 29.Zhu Y., Wu X., Chern I. Springer Finance; New York: 2004. Derivative Securities and Difference Methods. [Google Scholar]

RESOURCES