Investment banking
Started on Jan. 1, 2019
Among capital markets' activity spectrum, the Equity Derivatives department creates investment, hedging and multipurpose solutions for professional clients. These solutions use exotic options based on one or more baskets of underlyings among which stocks, indices and other risky vehicles. Those exotic options need complex numerical algorithms to be priced, using Monte-Carlo methods in a non-trivial way due to the path-dependent nature of the pay-off and the callability of the instrument. The typical time of a single pricing can go between a few seconds and a few minutes on a farm of servers.
The purpose of the challenge is to use a training set of 1 million prices to learn how to price a specific type of instruments described by 23 parameters by nonlinear interpolation on these prices. The benefit would be to singularly accelerate computation time while retaining good pricing precision. The exotic option to price is one contained in a callable debt instrument whose final redemption amount, coupon payments and callability are conditional on the performance of a basket of three stocks or equity indices relatively to certain barriers. All parameters have been normalized to be between 0 and 1. The given price has also been normalized between 0 and 1. Because the 0 price is in the center of the set of pricings, most of the prices are around 0.5.
3 datasets are provided as csv files, split between training inputs and outputs, and test inputs. Input files consist of 24 columns separated by commas representing the different variables, denominated as follows in the first line (header): ID: unique sample identifier S1: Underlying 1 S2: Underlying 2 S3: Underlying 3 mu1: Average drift of the underlying 1 mu2: Average drift of the underlying 2 mu3: Average drift of the underlying 3 sigma1: Volatility of the underlying 1 sigma2: Volatility of the underlying 2 sigma3: Volatility of the underlying 3 rho12: Correlation underlying 1 - underlying 2 rho13: Correlation underlying 1 - underlying 3 rho23: Correlation underlying 2 - underlying 3 Bonus: Coupon paid at the end of every period until the deal is either terminated or recalled YetiBarrier: Barrier on the worst of the three underlyings above which we Yeti coupon is paid YetiCoupon: Yeti coupon PhoenixBarrier: Barrier on the worst of the three underlyings which triggers the recall of the deal PhoenixCoupon: Coupon paid when the recall happens to compensate for the lost Yeti and Bonus coupons PDIBarrier: Barrier of put down and in (PDI) options at maturity if no recall has happened PDIGearing: Number of PDI options for 1 unit of notional of the deal PDIStrike: Strike of PDI PDIType: Coefficient inside the option pay-off , -1 for a put and +1 for a call Maturity: Maturity of the deal NbDates: Number of reset dates of the autocall The training input file consists of 1 million examples while the test input file comprises 400 000 samples. Output files contain the option prices. They simply consist of two columns denominated ID and Target in the first line (header), where ID refers to the unique identifier of the input sample and Target the option price. Solutions file on test input data submitted by participants shall follow the same format as the training output file but with an ID column containing the test samples IDs. The metric used to compute scores is the Squared Error.
We use a neural network made of eleven layers. The layers have a decreasing number of neurons starting from the input parameters to the output. All parameters and the output prices are normalized between 0 and 1. The main problem is that even with one of the best optimization algorithm (Adam), the learning is stuck in local minima which prevents it from reaching high accuracy, the accuracy being equal to 1 minus the average relative pricing error of the neural network. The stratagem which has been put at work to overcome this problem is close to a genetic development of the network. The idea is that when you are stuck at a local minimum, you add a small bubble of additional neurons to the network, keeping the benefit of the calibration and relaunching the optimization, hoping that the additional freedom brought by the bubble will change the gradient structure enough. The structure of the bubble can be analyzed in term of a resolution spectrum. It is therefore a good idea take profit of the past results of the bubble additions to orient the bubble generation. It is also a good idea to start with a small initial network to profit of the bubble mechanism.
Files are accessible when logged in and registered to the challenge