Not what you were looking for? Try Google Search:

Balance Sheet Analysis: A Better Approach to Investing

In my previous post I talk about all the things that are wrong with using Technical Analysis for making investments. In this post I will talk about what I strongly feel is a better approach to investing - investing based on Balance Sheet analysis.

A key difference between Technical Analysis and Balance Sheet analysis is that the former uses the past performance of the share price to determine whether a company will make a good investment and the latter uses the past performance of the company itself.

Personally, I believe Balance Sheet analysis is better since it allows us to base our decisions on facts about the company. The past performance of a company’s shares does not necessarily reflect the true value of the company. It is obvious that a company's true "worth" does not change as frequently or dramatically as its share price. Therefore, it is important to get a rough estimate of a company's worth so that you can invest in it when its share price is attractive. This way you will not be buying simply because the shares are rising as is the case with using Technical Analysis.

Even though most people realize the importance of researching a company before making an investment, they either find it too time consuming or simply do not want to be bothered to look at a company's financial statements. They, therefore, depend on friends and family for investment advice. The advice usually amounts to "tips" on what is currently "hot" and a "must-buy" and as a bonus, the so-called "advisor" usually throws in a short-term prophecy on the stock market! All of these are recipe for an investment-related disaster.

The biggest problem people have is figuring out what companies to invest their hard-earned money in. Even with the Internet making available all information about a company right at your finger tips, it is still very time consuming to gather information on all companies and then investing in the most promising and "undervalued" ones. With thousands of companies listed on stock exchanges, it is no wonder that this is true.

After trying my luck with short-term trading, Technical Analysis and taking "tips" from others, I have realized that none of these things work over the long-term. Over the years, I have found that it is best to invest in companies that have the most "healthy" balance sheets - i.e. low debt and a high Net Tangible Asset value. But, another challenge is to find companies with the healthiest balance sheets amongst thousands of listed companies.

To make it easier for me to invest, I have setup Excel spreadsheets that contain all securities listed on the Toronto Stock Exchange, New York Stock Exchange, NASDAQ and American Stock Exchange - "Stock Guides".

Screen shot of Stock Guide

Using JAVA programs that I wrote, I was able to extract the latest share prices, EPS and dividend information, balance sheet data (current assets, intangible assets, debt and more), from various web sites. These programs can be run as frequently as desired.

The JAVA programs are fed an input file containing "symbols" of all the listed companies or even a custom made list. The program feeds each symbol to a predefined web site (e.g. that contains the necessary information and extracts the required data by analyzing the html file. The output of the programs is stored in text files. The data in the text files can then simply be copied onto the "stock guide" - i.e. Excel spreadsheet.

Screen shot of output (text) file containing price, EPS, dividend and other data

Screen shot of output (text) file containing Balance Sheet data

The Intelligent InvestorSecurity AnalysisThe idea is to use various filters in the spreadsheet that will narrow down the list of potential investments based on balance sheet data. For example, you may want to eliminate all companies that are carrying a debt that is larger than their Net Tangible Assets. The filters are based on two of Benjamin Graham's books, The Intelligent Investor and Security Analysis. This way I can make decisions based on facts and figures rather than simply relying on tips and advice ... or worse - Technical Analysis!

I use the Stock Guides to narrow down the list of possible investments in a logical manner. Once a list of potential investments is generated, it is still necessary to double-check the data on the spreadsheet and to look at the original financial statements from at least the previous five years.

Below are all the fields in the Stock Guide sorted according to the category under which they belong:

Stock Market Data

Symbol: Stock Exchange symbol.Price: Last business day's closing price.
EPS: Rolling twelve-months earnings per diluted common share.
Dividend: Dividend per common share.
Shares Outstanding: Outstanding common shares.
Market Value: Price × Shares Outstanding.

Balance Sheet Data

Date As Of: Balance sheet data as at this date.
Cash & Equiv: Cash assets on balance sheet.
Inventories: Inventories on balance sheet.
Current Assets: Total current assets (i.e. cash, receivables, inventories etc).
Intangibles: Total Intangible assets (eg. goodwill) on balance sheet.
Total Assets: Total assets on balance sheet.
Current Liab: Total current liabilities on balance sheet.
Total Debt: Short-term debt + long-term debt.
Total Liab: Total liabilities on balance sheet.

Asset Values

Net Cash Assets (NCA): Cash & Equivalent – Total Liabilities.
Net Current Assets (Liquidation Value): Current Assets – Total Liabilities.
Net Tangible Assets (NTA/Book Value): Total Assets – Intangibles – Total Liabilities.

Ratio of Current Price to _ _ _

NCA: Ratio of current price to Net Cash (& Equivalent) Assets.
LQV: Ratio of current price to Net Current Assets (or Liquidation Value).
NTA: Ratio of current price to Net Tangible Assets (NTA/Book Value).

Value Ratios

P/E: Price ÷ Earnings Per Share.
E/P Yield: "Earning power on price", Earnings ÷ Price × 100.
Div. Yield: Dividend per share ÷ Price × 100.Erngs/NTA: Earnings ÷ Net Tangible Assets × 100.
CA/CL: Current Assets ÷ Current Liabilities.
NCA/Debt: Net Current Assets ÷ Total Debt.
Note: Net Current Assets = Current Assets – Current Liabilities.

Price Filters

P ≥ x: Yes if price is greater than or equal to x. Otherwise No.
P ≤ x: Yes if price is less than or equal to x. Otherwise No.
P ≤ x% of LQV: Yes if price is less than or equal to x% of the Liquidation Value. Otherwise No.
P ≤ x% of NTA: Yes if price is less than or equal to x% of Net Tangible Assets. Otherwise No.

Value Filters

P/E ≤ x: Yes if the price to earnings ratio is less than or equal to x. Otherwise No.
CA ≥ x × CL: Yes if Current Assets are greater than or equal to x times Current Liabilities. Otherwise No.
Debt < x% of NCA: Yes if Total Debt is less than x% of Net Current Assets (NCA). Otherwise No.
Note: Net Current Assets = Current Assets – Current Liabilities. This filter should only be used for Industrial companies.
Debt < NTA: Yes if Total Debt is less than Net Tangible Assets (NTA). Otherwise No.
Some Current Dividend: Yes if Dividend is greater than zero. Otherwise No.
P:NTA × P/E ≤ x: Yes if the ratio of current price to Net Tangible Assets (NTA) multiplied by the price to earnings ratio is less than or equal to x. Otherwise No.
Note: x = 22½ accepts a company trading at 1½ times book value and a P/E of 15.

Other Filters

Mkt Cap ≥ x: Yes if market capitalization is greater than or equal to x. Otherwise No.
Mkt Cap ≤ x: Yes if market capitalization is less than or equal to x. Otherwise No.
Trust or Fund: Yes if company is a Income or Business or any other trust or fund. Otherwise No.



Hemant Sreeraman said...


I went through the blog & had a question.

Are the screens you setup for the US market or the Indian market?

Nicely done. Hope to stay in touch.



Can't C Me said...

Hello Hemant,

Thanks! The screens are setup for the US and Canadian markets. I hope to have them setup for the Indian market too... one day!

Nikunj said...


Good work. I was also thinking to write a similar software which will prompt me the moment my watch list stocks go above or below a particular range.

But I am not sure the software does any "balance sheet analysis" as such. It just pulls numbers from websites into a worksheet where you can use filters and etc to pick your stocks.

Or am I missing something?

Next, I am not sure balance sheet analysis is any more accurate than the prevelant tech and fundamental analysis. Can you give me some live examples, any stocks analysis you can present?

Thanks and keep up the good work!

Can't C Me said...


You're right. The software does not do the analysis for you. But all the figures that one might require are in the worksheet and all one needs to do is use the filters to eliminate all companies in "poor health".

For example, Liquidation World, a company listed on the Toronto Stock Exchange was trading at $3.00 a few months ago. At $3.00 it was trading for less than two-thirds of its "liquidation value" (i.e. Current Assets - Total Liabilities). Liquidation value was $5.00. All of this was clear from the worksheet.

Any company that is trading at such discount is usually a screaming "Buy". Compared to its Tangible Assets and Current Assets, it's debt was negligible - so the company was not under threat of bankruptcy. Again, this was clear from the worksheet.

It is currently trading at $5.39, which is over its liquidation value of $5.00. That is a gain of 80% from the $3.00 level.

Isha Wadhwa said...


I checked out ur Blog.
Pretty Interesting n must say that a lot of effort has been put in.

Well have a query...
As u mentioned that u put in these filters in the excel spreadsheets, dont u face any trouble on account of the bulky size of the workbook?

Even i worked in the similar fashion for one of the projects. But, later failed to synchronize all the screens in one workbook as the size of the file exceeded 300 MBs.

Can u please throw some light as to how one can overcome this hurdle?

Can't C Me said...


Thanks! About the size of the workbook... since they only contain text (i.e. no images etc), the size is relatively small.

For example, the workbook for Toronto Stock Exchange is 4.5 MB, which contains data in 55 columns for 1500 companies.

The largest is the NASDAQ workbook - 14 MB with over 3300 companies.

Anonymous said...

Hello there,

I am a friend of Saira's and like yourself, I am on her blog roll. I think what you got here is pretty cool. Benjamin Graham's Intelligent Investor is definitely on my reading list. Right now, I am admist of finishing "A Random Walk down wall street" which is an attack on T.A.

I think the fact that you are able to have this amount of information available to you at your finger tips is pretty cool. I thought of doing something similar that would have concentrated on the compositions of iUnit ETF's but parsing their weight off their website is a pain.

Once again, pretty cool stuff you got there and best of luck to ya.


harish said...

hello there!
its nice to read all the useful stuff u hv put here .it was really very interesting to read.But i hv some work and i would greatly appreciate your help in this regard.
i am working as a java developer and working on a stock market application development for a brokering company in NewJersey state.

my task is :
i have to make the application get live prices from stock market for various stocks.

i have come to know that u have done something similar to my task at hand.

can u please help me out by mailing me the java source code samples which you have developed to achieve the same.

i can go through them and can develop my software faster.
take care n nice work...
my email id is

thanks in advance...

Callum said...

Hi CantSeeMe

Interesting post. I am taking a similar tack but am light years behind you. I am builidng an application similar to your that will help me to identify prospects based on Technical, Financial and other indicators. I have started with balance sheet analysis as a basis and as I move forward will add in other indicators. In terms of applications, excel is great for slice and dice but Id like to automate as much as possible. I am toying with using an existing application platform but will start with an excel mock up. I am glad to see that some good can come of a whole market analysis as that was a daunting prospect. Please tell me a little bit about your data sources? Are they all based on HTML string formatting or do you use any raw data sources? How about web services from sites like Google finance?


Can't C Me said...

Callum, the best data sources are sites that are HTML based (, That way you can simply "extract" the data. Some simple programming can help you do that. I don't use any raw data sources.

Add to Technorati Favorites