1 / 12

Pricing Asian Options with the Binomial Model

Da-Yoon Chung Daniel Lu. Pricing Asian Options with the Binomial Model. Options. An option is a contract that can be bought or sold, its value is a function of the value of the underlying stock

duer
Download Presentation

Pricing Asian Options with the Binomial Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Da-Yoon Chung Daniel Lu Pricing Asian Options with the Binomial Model

  2. 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.

  3. Pricing Options • RecombinantBinomial Tree • Problem with Asian Options: • Non-recombinant (2^N) paths we have to consider

  4. (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

  5. 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

  6. 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 subtreesat 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

  7. Limitations • Size of shared memory • N = 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

  8. Results

  9. Results

  10. Results

More Related