I have decided to start this pet project to improve my python coding skills and learn portfolio optimization models. Each portfolio model will have its own blog post on Medium, which forces me to research and work carefully — so I embarrass myself as little as possible.
I am currently studying quantitative economics, so finance is not my primary field, but it is becoming a growing passion. I plan to explore portfolio models in chronological order, following the way they were developed. I will first learn them theoretically with pen and paper. After that, I will write a blog post and provide a python implementation to demonstrate the concepts in practice. Once I have covered the main types of portfolio models, I plan to experiment with custom models or possibly turn this project into a Python library for portfolio optimization. Another motivation behind this project is that I don’t want to hold only index funds (no fun!), but at the same time, I don’t want to pick stocks based purely on gut feeling.
A significant part of this project is the API included in the utilities. It is built using the sec-edgar-api package, though the calling function is highly customized. However, the API is still a work in progress, with many features to add and flaws to fix. The most important aspect is that it provides an unlimited source of free fundamental data for analysis.
If you notice any significant errors in my understanding of portfolio models or my code, please feel free to contact me.