da-yoon chung daniel lu. options an option is a contract that can be bought or sold, its value is a...

12
PRICING ASIAN OPTIONS WITH THE BINOMIAL MODEL Da-Yoon Chung Daniel Lu

Upload: gervais-chandler

Post on 27-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

PRICING ASIAN OPTIONS WITH THE

BINOMIAL MODEL

Da-Yoon Chung

Daniel Lu

Page 2: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

Options

An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

An Asian option is an option whose terminal value is based on the average prices of stock at certain points in time.

Page 3: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

Pricing Options

RecombinantBinomial Tree

Problem with Asian Options:Non-recombinant (2^N) paths we have to

consider

Page 4: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock
Page 5: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

(Serial) Algorithm

Step 1: generate the average price tree for each (i,j), store 2*N out of iCj possible values of the

running average up to that point Requires 2*N random paths of length O(N) consisting of

up or down for each (i,j) (O(N^3) storage overhead)

Step 2: generate the option prices tree Each level of the tree depends only on the next use backwards inductive approach starting at the leaves

of the tree use linear interpolation to find an estimate of the option

price at each node

Page 6: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

CUDA Algorithm (global memory)

Step 1: generate the average price tree Compute all random paths required using Thrust For each (i,j), the 2*N average values are computed in

parallel (one thread per node) Write all updates immediately to the global tree

Step 2: generate the option price tree Compute each level of the tree in parallel Write all updates immediately to the global tree

Page 7: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

CUDA Algorithm (shared memory)

Step 1: generate the average price tree Again, for each (i,j), the 2*N average values are computed

in parallel (one thread per node) Store all intermediate values in shared memory to

minimize global memory accesses Use a hash function to generate the random path within

the kernel (reduce memory overhead)

Step 2: generate the option price tree Divide the tree into subtrees at the same depth in the

original tree which can be computed independently Compute one level of subtrees per kernel call Store all computations for subtrees in shared memory

Page 8: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock
Page 9: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

Limitations

Size of shared memoryN = 64, Tree occupies N * N * (2 * N) *

sizeof(float) = 2^6 * 2^6 * (2 * 2^6) * 4 = 2^21 = 2m (48k shared memory)○ Increasingly sequential as N increases

Nature of the algorithm Step 2 of the algorithm is inherently

sequential

Page 10: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

Results

0 50 100 150 200 2500

2

4

6

8

10

12

14

16

18

20

performance of Step 1

Speedup (Shared to serial)

Speedup(Global to Serial)

Depth of Tree (N)

Sp

eed

up

Page 11: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

Results

10 20 30 40 50 60 70 80 90 100 1100

0.05

0.1

0.15

0.2

0.25

0.3

0.35

performance of Step 2

Speedup (Global to Serial)

Speedup (Shared to Serial)

Depth of Tree (N)

Sp

eed

up

Page 12: Da-Yoon Chung Daniel Lu. Options  An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

Results

0 50 100 150 200 2500

0.5

1

1.5

2

2.5

3

3.5

4

4.5

performance of hybrid (CUDA shared step 1 + serial step 2)

Depth of Tree (N)

Sp

eed

up