FMP
Sep 11, 2023 5:46 PM - Rajnish Katharotiya
Image credit: Austin Distel
One of the key aspects to do well in the stock market is to know what is business risk.
It is important to understand what type of business risks a company may have.
Photo by Pixabay on Pexels
Investopedia provides a very simple definition of business risk. Business risk represents external and internal factors that may lead a company to a reduction of profits or even bankruptcy.
Below are some of the types of business risk that exist in almost all companies:
Economic Risk: Economy is constantly changing and facing different trends. A company may suffer a hit on sales if the current status of the economy is recessionary.
Financial Risk: It is the risk associated with company customers not being able to repay its debts. Company own debt can be included in this category.
Legal Risk: A firm may face large penalties if it is not compliance with all regulations in countries where it operates.
Operational Risk: Companies can face disruptions in their day to day operations that may affect their bottom lines.
Companies should have a risk management plan in order to minimise and mitigate risk. This is part of the business risk management process. Within the risk management plan, businesses foresee potential risks and put processes in place to mitigate these risks.
During the business risk management process, it is important for companies to analyse and distinguish between high impact and low impact events. Then assess the likelihood of such incidents to happen.
A business risk management plan should be continuously reviewed and adapted to evolving changes in the company environment.
As analysts, we could directly measure business risk by using standard deviation on recent company financials. For instance, we could take company's financial indicators, such as operating income. Then, we could calculate the standard deviation of these metrics to analyse the variation in recent years.
The lower the standard deviation, the lower the variation. A lower variation means that a business have less uncertainty about future firm performance.
Although using standard deviation would be the easiest option, it would not offer the best comparison across companies of different sizes. For example, a growing company will have a much larger yearly sales variation in comparison to most mature firm.
We will adjust for the size of the company to get rid of this comparability issue. This way we can represent the standard deviation of key metrics in a format enabling comparison across firms.
To standardise above mentioned business risk metrics and enable comparison across firms of different sizes, we can use the coefficient of variation. The coefficient of variation is computed by dividing standard deviationmean.
Below is an example on how can we calculate the coefficient of variationsales:
Revenues Coefficient of Variation = Standard Deviation Revenues / Revenues Mean
By using the coefficient of variation instead of the standard deviation, we can compare business risk across firms of different sizes.
To keep things simple, we will only calculate business risk based on sales, operating income and net income. And we will use the coefficient of variation for that purpose.
We will start with a list of 3 stocks. Then we will compare business risk across them. Feel free to add more companies to the analysis.
To extract each company metrics, we simply pass the company ticker to the as per below. Then, we append the extracted values into a list. Each of the list will contain the latest 5 year company operating.
import requests
demo = 'enter your api key'
stocks = ['AAPL','MSFT','GOOG']
for stock in stocks:
income_statement = requests.get(f'https://financialmodelingprep.com/api/v3/income-statement/{stock}?apikey={demo}').json()
number_of_years = 0
revenues = []
operating_income = []
net_income = []
for item in income_statement:
if number_of_years < 5:
revenues.append(income_statement[number_of_years]['revenue'])
operating_income.append(income_statement[number_of_years]['operatingIncome'])
net_income.append(income_statement[number_of_years]['netIncome'])
number_of_years += 1
print(revenues)
Now we have operating income and from the last 5 years. All included in Python lists.
Next, we need to convert them into arrays. We do this since with Numpy is super easy to calculate the mean and standard deviation:
#import numpy to conver list to array:
import numpy
revenues_array = numpy.array(revenues)
operating_income_array = numpy.array(operating_income)
net_income_array = numpy.array(net_income)
Finally, we can simply apply our coefficient of variation formula to each of the metrics:
CV_Sales = revenues_array.std() / revenues_array.mean()
print('Revenue Coefficient of Variation for '+ stock + ' is ' + str(round(CV_Sales,2)))
CV_OI = operating_income_array.std() / operating_income_array.mean()
print('Operating Income Coefficient of Variation for '+ stock + ' is ' + str(round(CV_OI,2)))
CV_Net_Income = net_income_array.std() / net_income_array.mean()
print('Net Income Coefficient of Variation for '+ stock + ' is ' + str(round(CV_Net_Income,2)) +'\n')
#Example Outcome
Revenue Coefficient of Variation for AAPL is 0.08
Operating Income Coefficient of Variation for AAPL is 0.07
Net Income Coefficient of Variation for AAPL is 0.09
Revenue Coefficient of Variation for MSFT is 0.15
Operating Income Coefficient of Variation for MSFT is 0.35
Net Income Coefficient of Variation for MSFT is 0.45
Revenue Coefficient of Variation for GOOG is 0.27
Operating Income Coefficient of Variation for GOOG is 0.19
Net Income Coefficient of Variation for GOOG is 0.37
By taking operating and as proxy to measure business risk, and based on the last 5 years data, we can see that Apple is by far the company with the lower business risk. It has a variation of around 0.08.
On the other side, has a much higher business risk with a sales variation coefficient of 0.27. The other two metrics, operating and net , seems to support this finding as well.
To complement the analysis, we could calculate the variation for some other financials. For instance, account receivables or company .
As an important note, keep in mind that past variation may not always be a good indication for future variation. There may be significant and unexpected events happening in the future which may impact company financials.
Thanks for reading this post on what is business risk and how to measure it with Python.
May 14, 2024 11:41 AM - Sanzhi Kobzhan
A stock's target price, also known as its fair value, is an indication of what a share can cost based on the company’s forecasted financial statements. It is important to know a stock's fair value to find undervalued stocks with great growth potential. Let's consider how investment analysts calculat...
May 16, 2024 8:06 PM - Gordon Thompson
On Thursday, May 16, 2024, Deutsche Bank upgraded its rating on NASDAQ:ASTS to Buy, maintaining a hold position. At the time of the announcement, ASTS was trading at $4.03. This decision was accompanied by an increase in the price target for AST SpaceMobile, raised to $22 from $19, as detailed in a ...
May 24, 2024 9:30 AM - Rajnish Katharotiya
Earnings call transcripts are invaluable resources for investors, analysts, and financial enthusiasts. They provide insights into a company's performance, strategy, and future outlook, making them essential for making informed investment decisions. With Financial Modeling Prep, Earnings Call Transcr...