As you all may already know, this is a blog on Python for Finance. I have written so far a series of posts intending to share my knowledge on how to best use Python to analyse company financials, calculate financial ratios, plot different financial metrics, etc. In this post, I would like to give you a short guide on how to make the best out of the content of the blog.
Please note that to follow this blog, you only need basic knowledge of Python. The code presented in my different posts is rather simple. It normally takes financial data from an API (or by scrapping a website such as the SEC). Then, I tend to work with Python dictionaries or Pandas DataFrames to transform and process financial data. Eventually, we may also plot data using well known libraries such as Matplotlib or Plotly.
If you are new to Python, I would advise you to take the free course “Python for Everybody” offered by the University of Michigan in Coursera. This course will teach you Python basics in a very practical way. Once you are done with the course, come back to my blog and you should be well equipped to follow my posts.
Below is a list of the main posts that I recommend you to take a look if you do not know where to start. I have split them into different sections. There is no particular order, so feel free to start with the posts that you find more interesting.
Performing a fundamental analysis with Python
If you would like to perform a company fundamental analysis using Python, I would recommend you to start with below posts:
Financial Analysis of Individual Companies
First of all, I recommend starting the financial analysis by looking into individual companies to get an idea of the company performance and current financial status. For this purpose, financial ratios are quite useful. In the post Retrieve financial ratios with Python you will learn how to retrieve a list of main financial ratios for a given company.
Then, look at the Balance Sheet and Income Statement. A cool way to look at the income statement is to present it as a Waterfall chart as shown in my post income statement analysis. Additionally, have a look at the Balance Sheet to understand the current company’s financial position.
In addition, having a look at return ratios such as return on equity (ROE) – Calculating Return on Equity with Python is also worth doing.
Finally, use some valuation models to estimate the fair value of the company. Although, this models are only an estimate, they may be useful to get an idea whether or not a company is overvalued:
- Valuing a company using the Gordon Growth Model with Python
- Discounted Cash Flow with Python
- Valuing a company using Price To Sales ratio
Financial Analysis of Peer Companies/Industries
Another important aspect of financial analysis is to look at comparable or peer companies. The reason to do this type of comparison is to have a benchmark to rank companies and identify best performers. I have covered this kind of analysis in multiple posts. Below are some of them:
- Analysing profitability margins across peer companies using Python
- Analysing balance sheet ratios across peer companies
- How to retrieve key financial metrics for multiple companies with Python
Pure Fundamental Analysis with Python
In case you are more interested in looking into some particular area of a company, you can have a look at below posts:
- Evaluating Company Liquidity using Python
- Analysing Account Receivables
- Interpreting company earning calls with Python
- Business Risk of a Company
- Looking into Cash Flow Statements
Extracting financial Data with Python
In case you would like to learn how to scrape financial data using Python, I have a couple of posts showing how to get data from the SEC and from Yahoo Finance:
- How to Scrape a Balance Sheet from SEC Edgar with Python
- Scraping Institutional Investor Transactions from SEC
- Parse financial statements from SEC
- How to get a list of S&P500 companies from Wikipedia
- Financial Data from Yahoo Finance
Apart from all above posts, I recommend you to have a look at other posts where I cover many other aspects on how to use Python for Finance from building a stock research terminal to technical analysis and backtesting strategies. Feel free to write me an email if something in this guide is unclear.