Taiwan Piotroski F — a screen, never a verdict

“Nine out of nine means a good stock” is the standard misreading. Piotroski's original paper did something narrower: inside an already-screened pool of high book-to-market (cheap) stocks, it used nine accounting signals to discard the weaker names. The F score was never a tool for finding good companies — it was a way to avoid the worst of the cheap ones. Taking a high score as a conclusion outside that setup turns a screening step into an investment judgement. This page opens up all nine signals instead of handing over a single 0-to-9.

taiwan piotroski f scorenine binary accounting signalsf score components taiwan
▸ Try it free Plans & pricing

Nine signals in three groups

Profitability (positive ROA, positive operating cash flow, rising ROA, accruals quality), leverage and liquidity (falling long-term debt ratio, rising current ratio, no new share issuance) and efficiency (rising gross margin, rising asset turnover). Each is binary, and we return the verdict, both periods' raw inputs and the comparison threshold — binarisation itself loses information, so the raw values matter more than the total.

Equal weighting is the original definition, not our view

Adding the nine with equal weight is Piotroski's 2000 definition and we copy it verbatim. That is not a claim that the nine matter equally; it is a refusal to quietly redefine a published model. Reweighting it would make the number incomparable with the literature and impossible for a reader to reproduce. This module introduces no formula, weight or threshold of its own.

A missing signal is excluded, never scored zero

If the inputs for a signal are unavailable, the signal is dropped and the denominator shrinks from nine, with the missing items and the reason listed alongside the count actually scored. Failing and unknown are different facts; scoring a gap as zero would make an unpublished filing look like the weakest balance sheet on screen. Because the denominator moves, 7/8 and 7/9 are not comparable — we give you both numbers rather than reducing them for you.

A high score means neither cheap nor rising

The F score never looks at price: none of the nine signals involves a share price or a valuation multiple. A high score therefore does not mean cheap and does not mean the price will rise. We provide no ranking, no stock list, no target price, no trading signal and no letter grade. The score belongs in one cell of a screen, not at the end of an argument.

Call the API directly (demo key demo-quant):

curl "https://8888fortune.com/v1/indicator/piotroski/2330?stock_id=2330" -H "x-api-key: demo-quant"