Piotroski Score Backtest Part 2

I received some feedback on my last post regarding the Piotroski F-Score backtest. The comment suggested that I run the backtest for each of the ten discrete Piotroski Scores. I have been using quintiles for my fundamental backtests, but I did agree that in the case of the Piotroski Score it might make more sense to see the returns for each discrete score. The results are in the table below. Click on the table to get a more zoomed in view.

Backtest Results for Each Piotroski F-Score (2000 - 2014)
15-year Backtest Results for Each Piotroski Score (2000-2014)

As you can see in the table above, F-Score 0 had a negative total return from January 2, 2000 to December 31, 2014. It is pretty rare to find a fundamental backtest that actually results in a negative overall return over 15-year.  On the opposite end of the F-Score spectrum, F-Score 9 achieved annualized returns more than double the S&P 500 Equal Weight Index. The returns for the Piotroski F-Score display a very linear trend from zero through 9.

Chart of Average Excess Returns for Each F-Score (2000 - 2014)
Average annual excess returns from 2000 to 2015 for Each Piotroski F-Score

As you can see in the bar chart above, average excess returns are negative for F-Scores below 3.  The average excess returns then climb up from just over zero for F-Score 3 and then climb steadily to about 5% for F-Score 8. Then the average excess returns jump to 9% for F-Score 9. There appears to be something a bit special for getting a perfect score. However, we have to be careful not to draw too many conclusions about F-Score 9, since the average portfolio size for Piotroski Score 9 is only 34 positions.

Did you see anything substantially different in this detailed backtest than you did in the original Piotroski F-Score Backtest that used quintiles? Please share your thoughts in the comments section below.

8 thoughts on “Piotroski Score Backtest Part 2

  • February 9, 2015 at 1:27 pm

    Thanks for the follow-up.

    In addition to the increase in return at EACH level, I note that the 4/5/6 ratings are very similar to each other and represent 53% of the average stocks involved. Very much showing the attributes of a normal distribution curve.

    When I looked at the picks of the Piotroski screen on AAII, I found one reason the 9-rated stock group performed so well is that it had a few lightly traded stocks. In some cases, they had days of zero volume within the past month. Hard to use those to invest a chunk of money. Especially when a backtest process like P123 compounds results of each period. So, later periods of a successful screen would require larger and larger amounts to invest to keep up with the large size of the portfolio (and sometimes over fewer choices).

    In one case, the volume picked up at month end, presumably AAII Stock Investor Pro subscribers that owned the screening software. Each weekend picked up a bit more in volume and price, until AAII published the results of the screen on their website mid-month. Almost a self-fulfilling prophecy for the screen to perform well. :)

    Here is the item I posted on that pick over on The Motley Fool, which was the only pick in that given month:


    The zero volume trading days issue is one reason I no longer use AVERAGE daily trading value as my liquidity test on P123. Instead, I use a MINIMUM daily trading value. However, it does increase the processing time on a backtest quite a bit because it is looping data at each date. My rule looks something like:

    LoopSum(“Vol(CTR) * Close(CTR) > 1000000”, 50) = 50 // Liquidity check

    By the way, the AAII pick mentioned above? It would have failed your liquidity check at the beginning of the month it showed up on AAII’s list, but it would have passed your liquidity check AFTER the increase in volume when AAII published the pick mid-month. The 60-day average trading volume went from $50K at the start of the month to $102K by the 19th. And higher from there. This was a stock that had a zero trading volume day two weeks before it became a Piotroski 9. And several other days in that same month where it had less than $10K in trading activity. After 11 years of successful compounding, you would probably need to invest a lot in that stock. Hardly a good backtesting pick. I tried to look at the history of the stock on P123, but it was delisted last year after it was acquired by another company.

    One other issue. I noticed you are doing a rebalance annually. Since the Piotroski factors are based on financial statements, it would seem a shorter time frame would be desirable. Unfortunately, not all of them change at the same time each quarter. When I tried a similar backtest on the 9-rated stocks, I am seeing a 90% turnover on an annual rebalance, 67% turnover on a quarterly rebalance, 24% on a monthly rebalance, and 7% on a weekly rebalance. Each with a corresponding increase in returns (up to about 21% CAGR on the weekly).

  • February 9, 2015 at 11:33 pm

    I prefer to break down and backtest how each of the nine rules affect performance. Some of the nine attributes actually hurt performance when screened for by themselves. Higher ROA year over year actually seems to lead to lower alpha in my back tests (maybe inviting more competition?). However looking for stocks that are reducing share count is helpful at both increasing returns and reducing maximum draw downs. I prefer to use the most effective portions of the rules only when looking for investments. Screening for low price to book and high Piot scores leads to some nasty down swings.

  • February 19, 2015 at 11:21 am

    Good comments Randy and Shawn

    Good idea with the minimum volume calculation although low liquidity (if its not too low) is one of the few advantages we as individual investors still have.

    In this article
    we tested low traded value compared to profits ratio with remarkable results.

    Even though PB along with the Piotroski F-Score was one of the most successful strategies in Europe we have tested PB has long periods of under performance as James O’Shaughnessy wrote about recently.

    Here is the article: http://jimoshaughnessy.tumblr.com/post/103140701394/price-to-book-value-ratios-a-long-term-winner

    We have not tested it yet but my feeling is that PB works well after a severe market correction but not very well apart from that.

  • February 20, 2015 at 8:52 pm

    I’m not sure I would trust a backtest of low liquidity stocks, unless all trading was based on bid and ask prices and sizes. It requires special information that few backtesters have.

    It wasn’t all that long ago that a 20% change in price on a low liquidity stock could be a result of the execution of an ask price on one day and a bid price on the next day (or vice versa). But you’d have no idea that was the case if all you had to deal with was the last traded price. A stale enough last traded price can actually be outside the current bid-ask range.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.