The price of an option (in finance) is given by the famous Black-Scholes equation. I would like to design a neural network to predict the price of an option. Basically the inputs are the attributes of the option and the output is the price. So we are essentially learning a deterministic non-linear function.

My issue is that the in sample average mean-sqaured-error is not low enough for my purposes. I know that the issue is a bias problem since the in sample error is too high. Moreover, the in sample and out of sample error are very similar.

I've replicated the results in this paper: https://srdas.github.io/Papers/BlackScholesNN.pdf

Now I am trying to optimize the network they present in the paper. They leave network optimization for further work in their paper.

Basically, I don't have any intuition for which network architecture to use. I have tried a few obvious things like increasing the number of layers, number of nodes per layer, different activation functions, but it doesn't seem to help much.

In their paper, they use this architecture:

enter image description here

I've been dabbling with different networks. For example, I tried this: enter image description here

But it doesn't seem to help.

What is the intuition for next steps? Should I play around with my features (i.e. normalization or something else)? How do I optimize the network without just trying random things?

EDIT: Optimize means reduce of out of sample loss.

  • $\begingroup$ You might also be interested in the (growing) literature base that specifically focuses on NNs for differential equations. One example: arxiv.org/pdf/1806.07366.pdf (although this particular paper focuses on ODEs whereas Black-Scholes is a PDE, there is still a literature base dedicated to these topics) $\endgroup$ – Sycorax Dec 20 '18 at 17:38
  • $\begingroup$ It would help if you could clarify what you mean by "Now I am trying to optimize the network they present in the paper. They leave network optimization for further work in their paper." What are you trying to optimize? Are you trying to improve the precision of the network's outputs? Are you trying to make the model train more quickly? Are you trying to reduce the number of parameters required to achieve a certain level of precision? Something else? $\endgroup$ – Sycorax Dec 20 '18 at 21:40
  • $\begingroup$ @Sycorax precision of outputs. Minimize out of sample error. $\endgroup$ – John Doe Dec 20 '18 at 21:49
  • $\begingroup$ Have you reviewed the answers at stats.stackexchange.com/questions/365778/… ? What have you tried? What results did you find when you implemented these recommendations? $\endgroup$ – Sycorax Dec 20 '18 at 22:05
  • $\begingroup$ @Sycorax I tried a few of those things. I seem to have a bias problem, not an over-fitting issue. $\endgroup$ – John Doe Dec 21 '18 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.