Probabilistic Portfolio Modeling in Python
MetadataShow full item record
- Master's theses (TN-IEP) 
The portfolio selection problem has been known for centuries. However, Markowitz (1952) was the first to introduce a robust framework for optimized portfolios on financial markets. Later this approach was applied in the petroleum industry to increase the corporate performance of oil and gas companies and to manage associated risks (Hightower et al. (1991)). Nevertheless, despite the lack of uncertainty optimization, simple portfolio selection techniques such as the Rank and Cut method remains popular in the industry (Wood (2016)). In this thesis, the advantages and disadvantages of this approach were briefly mentioned. Besides Markowitz Portfolio Theory and the Rank and Cut Method, a number of new portfolio selection methods were developed that not only improve the performance and minimize the risks but also can be used as processes and tools to deliver shareholder value or to achieve strategic corporate goals. One such approach is the use of multi-objective time series portfolio optimization, where the corporate goals are defined as constraints, the level of constraint accomplishment is quantified in terms of probability of exceeding the constraint and net present value is set as the main objective. This method was used to select an optimal portfolio from the pool of petroleum projects. One of the main contributions of this work is to provide a tool and process that can be used by management teams to evaluate different portfolios quickly using multiple time-dependent corporate constraints. The tool can be used to evaluate the impact on the portfolio of changing constraints or weighting the constraints differently. The ability to do this interactively is essential as it allows the management team to evaluate and address the key elements of their portfolio decision problem. A crucial part of the portfolio optimization problem is the choice of optimization algorithms. Several algorithms that facilitate the petroleum industry’s needs of portfolio optimization were studied, and a brief overview of them was presented. We also included a discussion of the choice of programming language for portfolio models. Although we built the project model in R, we ended up using Python as it provided significant computational speed improvements over R. We also argued why Excel, although very popular, is far from an optimal tool for portfolio modeling.
Master's thesis in Petroleum engineering