A Python implementation of Modern Portfolio Theory, with applications to philanthropy
Switch branches/tags
Nothing to show
Clone or download
Latest commit 67adb33 Apr 10, 2017
Permalink
Failed to load latest commit information.
.gitignore Update units, interactive plot Apr 9, 2017
README.md Add reference Jan 2, 2016
efficient_frontier.ipynb Fix wording Apr 10, 2017
efficient_frontier_final.py Initial Commit Dec 30, 2015

README.md

The Efficient Frontier of Philanthropy

The concept of an efficient frontier for investment portfolios originated with Harry Markowitz's Modern Portfolio Theory. Markowitz's main insight was that you can minimize the risk you take for any level of return by diversifying a portfolio. The end result is a hyperbola, often called the Markowitz Bullet, that demonstrates that greater returns are associated with higher risk. Although this approach to porfolio optimization has theoretical challenges and is less popular today, modified versions of MPT still underly many robo-advisors currently on the market (Wealthfront, WiseBanyan, Betterment).

frontier image

The following code implements this concept in Python, and is based on a blog post from Quantopian. Their original code returns an optimal portfolio for any given level of risk when given a list of historic returns for a group of assets. I then extend the concept of an efficient frontier to the area charitable giving, and refactor the code to take a list of charitable returns (in DALYs) and a covariance matrix as an input. The final output is a philanthropic efficient frontier.

See the jupyter notebook for further explanation, and visit this project on the Jupyter nbviewer to see the interactive plots. This code is a rough sketch of my concept, feel free to critique and contribute!