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 

Slides:



Advertisements
Similar presentations
List Ranking and Parallel Prefix
Advertisements

List Ranking on GPUs Sathish Vadhiyar. List Ranking on GPUs Linked list prefix computations – computations of prefix sum on the elements contained in.
Introduction to Computer Science 2 Lecture 7: Extended binary trees
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
1 Theory I Algorithm Design and Analysis (2 - Trees: traversal and analysis of standard search trees) Prof. Th. Ottmann.
Binary Trees, Binary Search Trees CMPS 2133 Spring 2008.
1 Pricing Bermudan Option by Binomial Tree Speaker: Xiao Huan Liu Course: L03.
Basic Numerical Procedures Chapter 19 1 資管所 柯婷瑱 2009/07/17.
Natural Language Processing Spring 2007 V. “Juggy” Jagannathan.
Advanced Topics in Algorithms and Data Structures Page 1 Parallel merging through partitioning The partitioning strategy consists of: Breaking up the given.
I/O Efficient Algorithms. Problem Data is often too massive to fit in the internal memory The I/O communication between internal memory (fast) and external.
Chapter 20 Basic Numerical Procedures
Comp 122, Spring 2004 Lower Bounds & Sorting in Linear Time.
Solving Probabilistic Combinatorial Games Ling Zhao & Martin Mueller University of Alberta September 7, 2005 Paper link:
1 Trees. 2 Outline –Tree Structures –Tree Node Level and Path Length –Binary Tree Definition –Binary Tree Nodes –Binary Search Trees.
Cache Placement in Sensor Networks Under Update Cost Constraint Bin Tang, Samir Das and Himanshu Gupta Department of Computer Science Stony Brook University.
1 Lecture 24: Parallel Algorithms I Topics: sort and matrix algorithms.
Parallel System Performance CS 524 – High-Performance Computing.
Static Dictionaries Collection of items. Each item is a pair.  (key, element)  Pairs have different keys. Operations are:  initialize/create  get (search)
Data Structures Using C++ 2E Chapter 9 Searching and Hashing Algorithms.
CSC 2300 Data Structures & Algorithms February 6, 2007 Chapter 4. Trees.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
A Survey of Parallel Tree- based Methods on Option Pricing PRESENTER: LI,XINYING.
Indexing structures for files D ƯƠ NG ANH KHOA-QLU13082.
18.1 Options, Futures, and Other Derivatives, 5th edition © 2002 by John C. Hull Numerical Procedures Chapter 18.
Chapter 13 File Structures. Understand the file access methods. Describe the characteristics of a sequential file. After reading this chapter, the reader.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Binary Trees, Binary Search Trees RIZWAN REHMAN CENTRE FOR COMPUTER STUDIES DIBRUGARH UNIVERSITY.
1 MGT 821/ECON 873 Numerical Procedures. 2 Approaches to Derivatives Valuation How to find the value of an option?  Black-Scholes partial differential.
Basic Numerical Procedures Chapter 19 1 Options, Futures, and Other Derivatives, 7th Edition, Copyright © John C. Hull 2008.
Parallel Mining Frequent Patterns: A Sampling-based Approach Shengnan Cong.
A Study of Balanced Search Trees: Brainstorming a New Balanced Search Tree Anthony Kim, 2005 Computer Systems Research.
Design Issues. How to parallelize  Task decomposition  Data decomposition  Dataflow decomposition Jaruloj Chongstitvatana 2 Parallel Programming: Parallelization.
Initial Population Generation Methods for population generation: Grow Full Ramped Half-and-Half Variety – Genetic Diversity.
Static Dictionaries Collection of items. Each item is a pair.  (key, element)  Pairs have different keys. Operations are:  initialize/create  get (search)
Lecture 3: Uninformed Search
File Structures. 2 Chapter - Objectives Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and.
An Efficient CUDA Implementation of the Tree-Based Barnes Hut n-body Algorithm By Martin Burtscher and Keshav Pingali Jason Wengert.
Scheduling MPI Workflow Applications on Computing Grids Juemin Zhang, Waleed Meleis, and David Kaeli Electrical and Computer Engineering Department, Northeastern.
Parallel Graph Algorithms Sathish Vadhiyar. Graph Traversal  Graph search plays an important role in analyzing large data sets  Relationship between.
1 An Efficient Optimal Leaf Ordering for Hierarchical Clustering in Microarray Gene Expression Data Analysis Jianting Zhang Le Gruenwald School of Computer.
Martin Kruliš by Martin Kruliš (v1.0)1.
Parallel Programming in Chess Simulations Part 2 Tyler Patton.
MA/CSSE 473 Day 30 Optimal BSTs. MA/CSSE 473 Day 30 Student Questions Optimal Linked Lists Expected Lookup time in a Binary Tree Optimal Binary Tree (intro)
Chapter 6 – Trees. Notice that in a tree, there is exactly one path from the root to each node.
Fabianowski · DinglianaInteractive Global Photon Mapping1 / 22 Interactive Global Photon Mapping Bartosz Fabianowski · John Dingliana Trinity College Dublin.
Lower Bounds & Sorting in Linear Time
CSE 214 – Computer Science II Binary Trees
Dynamic Hashing (Chapter 12)
Backtracking And Branch And Bound
Binary Trees, Binary Search Trees
Backtracking And Branch And Bound
COP3530- Data Structures B Trees
CS 179: GPU Programming Lecture 7.
Trees and Binary Trees.
Keys into Buckets: Lower bounds, Linear-time sort, & Hashing
Tree Representation Heap.
Unit 4: Dynamic Programming
Lecture 4 Graph Search.
Lower Bounds & Sorting in Linear Time
Binary Trees, Binary Search Trees
Adaptivity and Dynamic Load Balancing
Compact routing schemes with improved stretch
Backtracking And Branch And Bound
Synchronization These notes introduce:
Binary Trees, Binary Search Trees
Chapter 2 from ``Introduction to Parallel Computing'',
Supervisor: Dr. Ruppa Thulasiram Presenter: Kai Huang
Presentation transcript:

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  An Asian option is an option whose terminal value is based on the average prices of stock at certain points in time.

Pricing Options  Recombinant Binomial Tree  Problem with Asian Options: Non-recombinant (2^N) paths we have to consider

(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

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

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

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

Results