160 likes | 397 Views
A Neural Network Approach For Options Pricing. By: Jing Wang Course: CS757 Computational Finance Instructor: Dr. Ruppa Thulasiram Project #: CFWin03-35 Email: jingwang@cs.umanitoba.ca Date: May 26, 2003. Overview. Background & Motivation Problem Statement Solution Strategy
E N D
A Neural Network Approach For Options Pricing By: Jing Wang Course: CS757 Computational Finance Instructor: Dr. Ruppa Thulasiram Project #: CFWin03-35 Email: jingwang@cs.umanitoba.ca Date: May 26, 2003
Overview • Background & Motivation • Problem Statement • Solution Strategy • Results and Comparison • Conclusion • Future work • Reference
Background & Motivation • Option Pricing • Determine a risk-free price for options • Approaches • Lattice Models • Black-Sholes Model • Monte Carlo Simulation • Artificial Neural Network (ANN) • Non-parametric, non-linear • Data driven • Capture the dynamics
Problem Statement • Type of options • European call / put • American call / put • Objective: • Train the ANN with a set of option pricing data with certain inputs (current stock price, strike price, maturity time, option type, risk-free rate), then use the neural network calculate risk-free option prices • Assume option price upper bound: $50
Solution Strategy • Supervised ANN • Multi-Layer Perceptron (MLP) • Training method: Back-Propagation • One ANN for a specific type of options • Benchmark: Binomial tree • Provides data to train the ANN • Implementation • Sequential implementation using C • Parallel implementation using MPI
ANN Structure • One Input Layer • 5 Inputs: current underlying asset price, strike price, maturity date, risk-free interest and sigma • Hidden Layers • No threshold, but an active function • Different number of hidden layers and nodes on hidden layers are compared while implementation • Output Layer • Use the above active function • Three different strategies
Solution 1: One node Output value = output_node_value * 50 Sigmoid function produces a value [0,1] Above function produced a value [0,50] i.e. Output node gets value 0.249 to produce option price $12.45 Solution 2: Fifty nodes Only node K has a value Output Value = (K-1) + value_of_node_K i.e. For option price $12.45, only node 13 has a value of 0.45, all others produce 0 Output Layer Structure
Output Layer Structure (cont.) • Solution 3: Fifty nodes • First K nodes produce values • First K-1 nodes produce 1 • Node K produce the value which is option_price – (K-1) • Output Value = • i.e. For option price $12.45, node 13 has a value of 0.45, node 1 to node 12 produce 1, and the rests produce 0
Parallel Design • Use the best structure of the three strategies • One processor has a portion of the ANN • all input nodes, all hidden layers, n1/p hidden nodes, and n2/p output nodes • n1: # of hidden nodes on a full ANN • n2: # of output nodes on a full ANN • p: # of working processors.
Result & Comparison • Learning accuracy compared between the three strategies • # of data used: • European Call: Train 336, Test 2892 • American Put: Train 319, Test 2600
Conclusion • Artificial Neural Network is able to pricing options • An ANN produce a better result when the output value rely on more output nodes than only one • An ANN with more less hidden layer and more hidden layer nodes learns quicker
Future Work • Real data to Train and Test ANN • Train ANN for different options • More time to finish parallel implementation
Reference • [1] Rashedur M. Rahman, Ruppa K. Thulasiram, and Parimala Thulasiraman. Forecasting Stock Prices using Neural Networks on a Beowulf Cluster. 2003. • [2] Christian Schittenkopf. A neural network-based approach to extracting risk-neural density and to derivative pricing. • [3] Rudy De Winne, Alain Francois-Heude, and Benoît Meurisse. Market Microstructure and Option Pricing: A Neural Network Approach. Book of Research, Catholic University of Leuwen. August 2001