台股 Piotroski F 九項訊號 — 分數是篩子,不是判決
「9 分=好股票」是這個分數最普遍的誤讀。Piotroski 原始論文做的事很具體:在已經篩出來的高淨值市價比(便宜)股票池裡,用九個會計訊號把體質較差的剔掉。也就是說,F 分數本來就不是用來找好公司的,它是用來在便宜股裡避雷的。脫離那個前提直接拿高分當結論,等於把一個篩選步驟誤讀成一個投資判斷。本頁逐項攤開九個訊號,讓你看到分數是怎麼來的,而不是只給你一個 0 到 9。
九個訊號分成三組
獲利能力四項:資產報酬率為正、營運現金流為正、資產報酬率較去年上升、營運現金流大於稅後淨利(應計品質)。槓桿與流動性三項:長期負債比下降、流動比率上升、當期未增發普通股。營運效率兩項:毛利率上升、資產週轉率上升。
每一項都是二元的:通過記 1,未通過記 0。回應逐項回傳判定結果、兩期的原始輸入值與比較門檻,不是只給總分。二元化本身就是資訊的損失——「毛利率上升 0.1 個百分點」和「上升 8 個百分點」都只記 1 分,所以看原始值比看分數重要。
等權相加是原作的定義,不是我們的判斷
九項等權相加是 Piotroski 2000 年論文的原始定義,我們照抄。這句話必須寫清楚:這不代表我們認為這九件事一樣重要,只代表我們沒有權力偷偷改掉一個公開模型的定義。若我們自行加權,得到的分數將無法與任何文獻或其他實作對照,也無法被讀者重算驗證。
本模組沒有自創公式、沒有新的權重常數、沒有額外閾值。所有門檻都是原作的門檻,所有輸入都取自官方公告財報,同一組輸入永遠得到同一個分數(deterministic,無隨機、不讀取當下時間)。
缺一項不記 0,而是不計並縮小分母
某一項所需的兩期輸入取不到時,該項不計入,分母同步從 9 縮小,並在回應中明白列出缺了哪幾項、為什麼缺,同時回傳已計項數。
為什麼不記 0?因為「沒通過」和「不知道」是兩件完全不同的事。把缺料記成 0,會讓一家財報尚未公告的公司看起來像體質最差的公司。也因為分母會變,7/8 與 7/9 不能直接相比,回應把兩個數字都給你,而不是替你化簡成一個。
高分不等於便宜,也不等於會漲
F 分數完全不看價格——九項訊號裡沒有任何一項涉及股價或估值倍數。所以高分不代表便宜,也不代表股價會漲;它只說「這家公司的財報在這九個面向上,今年比去年好或維持正值」。
本頁不提供排名、不提供選股名單、不給目標價、不給買賣訊號,也不把分數轉換成等第或星等。分數的正確用法是當篩子的其中一格,而不是當結論。