We consider a machine learning approach to the problem of portfolio optimisation, where the allocation map is learned at every timestep by a set of neural networks. The implementation relies on tensorflow keras in Tensorflow version 2.x. It is not guaranteed to run without issues in Tensorflow 1.
The main code can be found in portfolio_main.ipynb. For the Vasicek model implementation please use portfolio_vasicek.ipynb.
Link to project proposal: https://www.overleaf.com/9854394956sdddmrxbbgpg
Please find related work by Prof. Josef Teichmann at https://people.math.ethz.ch/~jteichma/index.php?content=teach_mlf2019
All work is a result of a group effort of Nicholas Delmotte, Steven Battilana and myself, Daniel Montagna. Special thanks to Wahid Khosrawi for the supervision and insights.