Click here to Login

3 Market Indicators based on Fundamental Data

Updated on 2013-02-15

There are tons of market indicators based on prices and technical indicators. We have already created several blog posts about how to create some these market indicators:

4 original breadth indicators you should consider in your market timing strategy
4 Market Composite Indicators Based on Industry Data
How to Select the Best Market_Indicator for your Trading_System

However, no one is based on fundamental data. The idea is to create an indicator that shows the state of the market based on one or several fundamental items or ratios. As an example, we could create a market indicator that displays the number of stocks whose price earnings ratio is above 12. The time series that results could be used as an indicator for your market timing system or it could be used to detect potential market corrections.

Downloading historical fundamental data

Historical fundamental data is required in order to calculate past values of our market indicators. The following downloader (Morningstar Historical Fundamentals) gets yearly data of more than 80 fundamental item/ratio.

Among these ratios, we can cite:
Net Margin %
Quick Ratio
Free Cash Flow/Sales %
Return on Equity %
Payout Ratio %
Gross Margin %

How to download data:
- Select "Download -> Download Manager"
- Select "Morningstar Historical Fundamentals"
- Click on "Open Selected Downloader" then click on "Start Downloading"

How to display the data:
- Select "Data -> Edit Databases"
- Choose "Custom" database then choose "morningstar_fundamentals"
- Select the symbol for which you want to display the data on the right panel

Access fundamental data using QS language

The downloader we have introduced in the previous paragraph gets data for each U.S. symbol and stores this data into a custom database "morningstar_fundamentals".

The QuantShare language has several functions to access custom database data and create time series from this data.
For example, the "GetData" function retrieves historical data of any database field.

a = GetData("morningstar_fundamentals", "return_on_assets_pct_profitability", Last);
plot(a, "Return on Assets");
SetHatchBrush("DiagonalCross", colorRed);

As you can see from this picture, the above formula, when added to a chart, plots the changes of the Return on Assets ratio over several years.

Of course, the "GetData" function can also be used to create trading systems, composites, watchlists, screens, neural network models...

Number of Stocks with Positive Return on Equity

The market indicator we will implement first returns the number of stocks that have a positive return on equity.

Return on equity or ROE is the rate of return on the shareholders' equity. It measures the capacity of a company to use its investment funds to generate earnings growth.
The ROE fundamental ratio is located under the "return_equity_pct_profitability" field of the "morningstar_fundamentals" database.

To get the return on equity, simply type:
a = GetData("morningstar_fundamentals", "return_equity_pct_profitability");

To create this composite:
- Select "Tools -> Composites"
- In the composites form, click on "Add" to create a new composite
- Select the symbols that you want to include in the composite. Either select all symbols or select stocks from a specific market or index (such as S&P 500 stocks)
- Click on "Next" then type the following formula:

a = GetData("morningstar_fundamentals", "return_equity_pct_profitability");
composite = a > 0;

- Select "The sum of the values added to the composite" as calculation method
- Click on "Next" twice, set up a name then click on "Next" to create the composite and start the calculation process.

Number of Stocks with Increasing Free Cash Flow/Sales Ratio

This market indicator returns the number of stocks whose free cash flow to sales ratio increased compared to the previous year.

The free cash flow to sales is a fundamental ratio that shows how well the revenue of a company is transformed into cash. This ratio is stored under the "free_cash_flow_to_sales_pct" field.

Here is the formula that you can use to create this composite:
a = GetData("morningstar_fundamentals", "free_cash_flow_to_sales_pct", Zero);
composite = a > 0;
// Calculation Method: The sum of the values added to the composite

Earnings-per-Share ratio of S&P 500 Stocks

Here, we calculate the number of S&P 500 stocks with positive EPS (Earning per share) and subtract the result by the number of S&P 500 stocks with negative EPS.

The earnings-per-share ratio shows the portion of a company's profit for each outstanding share. This ratio is stored under the "earnings_per_share_usd" field.

The formula is:
a = GetData("morningstar_fundamentals", "earnings_per_share_usd");
pos1 = a > 0;
neg1 = a < 0;
composite = pos1 neg1;
// Calculation Method: The sum of the values added to the composite

As you can see from the three market indicators we created in this article, it is very easy to create fundamental-based composites. You can even create more advanced ones by using several fundamental ratios or combining technical and fundamental indicators.

no comments (Log in)

QuantShare Blog
Search Posts

Recent Posts

Create Graphs using the Grid Tool
Posted 1269 days ago

Profile Graphs
Posted 1374 days ago

Previous Posts

More Posts


Create an account
Affiliate Program
Contact Us
Trading Forum
How-to Lessons
About Us
Terms of Use

Copyright 2024
Social Media
Follow us on Facebook
Twitter Follow us on Twitter
Follow us on Google+
RSS Trading Items

Trading financial instruments, including foreign exchange on margin, carries a high level of risk and is not suitable for all investors. The high degree of leverage can work against you as well as for you. Before deciding to invest in financial instruments or foreign exchange you should carefully consider your investment objectives, level of experience, and risk appetite. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose. You should be aware of all the risks associated with trading and seek advice from an independent financial advisor if you have any doubts.