philipschw / mlpSolver

Full-history Recursive Multilevel Picard Approximation Solver for High-Dimensional Semilinear Parabolic PDEs.
MIT License
2 stars 0 forks source link

MLP Solver for High-Dimensional Parabolic Semilinear PDEs & BSDEs

Full-history Recursive Multilevel Picard Approximation Solver for High-Dimensional Semilinear Parabolic PDEs.

Overview

This repository contains the code for simulations concerning the Multilevel Picard approximation algorithm in my master's thesis "Stochastic Approximation Approaches for High-Dimensional Semilinear Parabolic PDE and BSDE". We implemented a gradient-independent as well as a gradient-dependent MLP version each with the possibility to approximate the associated "state" SDE of the PDE under consideration either by an explicit SDE solution or by an SDE approximation scheme. For this purpose, we extended the popular sdeint package for integrating SODEs by the package sdeint2 with additional schemes (e.g. further weak approximation schemes). We recommend you to install both packages (sdeint and sdeint2) directly from their respective repositories.

The derivation of the MLP algortihm can be found in [4]. The implementation of the gradient-independent case is based on [5] and the implementation of the gradient-dependent case on [6]. The implementation for the MLP versions with SDE approximation schemes are inspired by [7].

Training

python main.py --config_path=configs/semilinear_blackscholes.json --exp_name=SemilinearBlackscholes

Command-line flags:

Explanation of .py modules:

Explanation of the config files:

The config part is splitted into the eqn_config and the eval_config. All parameters concerning the equation are placed in eqn_config and all parameters concerning the evaluation of the realizations are placed in eval_config.

Problems

equation.py and configs now support the following problems:

Four examples with gradient-independent nonlinearity in ref [1]:

Two examples with gradient-independent nonlinearity in ref [2]:

Two examples with gradient-dependent nonlinearity in ref [2]:

One example with gradient-independent nonlinearity in ref [3]:

New problems can be added very easily. Inherit the class equation in equation.py and define the new problem. A proper config is needed as well.

Note: The arrangement of the code (i.e. implementation via a main.py, solver.py, equation.py, and configs) is inspired by the repository of the deep-learning solver for semilinear parabolic partial differential equations Deep BSDE Solver.

Dependencies

Reference

[1] Becker, S., Braunwarth, R., Hutzentahler, M., Jentzen, A., and von Wurstemberger, P. Numerical Simulations for Full History Recursive Multilevel Picard Approximations for Systems of High-Dimensional Partial Differential Equations, Communications in Computational Physics, 28(5), 2109-2138 (2020). [journal] [arXiv]
[2] E, W., Hutzenthaler, M., Jentzen, A., Kruse, T. On Multilevel Picard Numerical Approximations for High-Dimensional Nonlinear Parabolic Partial Differential Equations and High-Dimensional Nonlinear Backward Stochastic Differential Equations, Journal of Scientific Computing, 79(3), 1534-1571 (2019). [journal] [arXiv]
[3] Benth, F., Karlsen, K., Reikvam, K. A Semilinear Black and Scholes Partial Differential Equation for Valuing American Options, Finance and Stochastics, 7(3), 277-298 (2003). [journal]
[4] E, W., Hutzenthaler, M., Jentzen, A., Kruse, T. Multilevel Picard iterations for solving smooth semilinear parabolic heat equations, 1-19 (2019). [arXiv]
[5] Hutzenthaler, M., Jentzen, A., von Wurstemberger, P. Overcoming the curse of dimensionality in the approximative pricing of financial derivatives with default risks, Electronic Journal of Probability, 25, 1-73 (2020). [journal] [arXiv]
[6] Hutzenthaler, M., Jentzen, A., Kruse, T. Overcoming the curse of dimensionality in the numerical approximation of parabolic partial differential equations with gradient-dependent nonlinearities, 1-33 (2019). [arXiv]
[7] E, W., Hutzenthaler, M., Jentzen, A., Kruse, T. Multilevel Picard approximations for high-dimensional semilinear second-order PDEs with Lipschitz nonlinearities, 1-37 (2020). [arXiv]