乖離率量的是現在的股價,比它自己的均線高或低幾 %。常聽到的說法是「超過 10% 就算過熱」,可是那句話少了最要緊的一半。我們用七檔台股、2015 年到 2026 年的日收盤價實測:同一個 10% 的門檻,聯發科踩到 289 天,中華電在 2,832 個交易日裡一天都沒有,它最極端的一次也只有 7.0%。過熱線要按各檔自己的紀錄訂。
下面直接回答這幾題
乖離率是什麼,怎麼算
看盤軟體上那條叫 BIAS 的線,中文叫乖離率,它回答的是一個很單純的問題:現在的股價,離它自己最近的平均價有多遠?
算法只有一行:把今天的收盤價減掉 20 日均線,再除以那條均線。假設一檔股票今天收 110 元,最近 20 個交易日的平均收盤價是 100 元,乖離率就是 10%。收 90 元的話就是負 10%。數字為正代表股價跑在均線上面,為負代表跌到均線下面。
會有人看它,是因為它把「漲很多」這種模糊的感覺換成一個可以比較的數字。20 日大約是一個月的交易日,所以 20 日乖離率講的是「這一個月來,股價跟自己的平均價拉開多少」。
問題出在下一步。網路上到處看得到「乖離超過 10% 就是過熱、該減碼」這類說法,聽起來很具體,可是它預設了所有股票的正常波動都差不多。下面用資料看這個預設站不站得住。
BOS 回測:同一個門檻,踩到的天數差多少
我們拿七檔台灣人天天看到的股票,用 2015 年 1 月到 2026 年 9 月的日收盤價,每一檔各算出兩千八百多個交易日的 20 日乖離率,然後問一個問題:如果照著「超過 10% 就是過熱」去看盤,這七檔各會被叫住幾次?
答案的差距大到不像同一件事。聯發科有 289 天踩到這條線,鴻海 134 天,台積電 80 天,元大台灣50 只有 22 天。
中華電是 0 天。不是很少,是在 2,832 個交易日裡完全沒有發生過,因為它最極端的一次也只拉開 7.0%,離 10% 還有一段距離。這代表拿這條線去看中華電的人,看了十一年會一次都沒被提醒過。
同一句話,對一檔股票幾乎天天成立,對另一檔永遠不會發生。這時候要檢討的應該是那條線本身。
BOS 回測:每一檔自己的過熱線
換一個問法會清楚得多:與其問「幾 % 算過熱」,不如問「對這一檔來說,幾 % 已經算它自己的極端狀況」。
做法是把每一檔過去所有交易日的乖離率排出來,取最極端的那 5%,也就是一百天裡最誇張的五天,看那條界線落在哪裡。這樣算出來的數字,才是同一個標準套在不同股票上。
結果從 3.19% 到 12.82%,差了四倍,由高到低分別是聯發科 12.82%、鴻海 9.73%、台積電 8.13%、台塑 8.08%、富邦金 7.85%、元大台灣50 6.25%、中華電 3.19%。
對中華電來說,拉開 3.2% 就已經是它十一年來最少見的那 5% 的日子了。同樣的 3.2% 放在聯發科身上,連它的中位數 3.52% 都不到,也就是有超過一半的日子都比這個更誇張。
會這樣是因為這幾檔股票的性格本來就不同。電信業的營收穩定、股價跟著景氣起伏的幅度小,半導體設計的訂單與展望變動大,股價自然拉得開。這件事跟系統性風險與非系統性風險那篇量的是同一個東西的兩面,波動大小本來就是各檔股票的固有性質。
這條線自己也會移動
這裡有一件對上面的說法不利的事,照寫。
把十一年多對半切、兩半各算一次,七檔的過熱線全部往上跑。聯發科從 11.50% 變成 14.53%,台塑從 5.78% 變成 9.56%,連最安靜的中華電也從 2.96% 變成 3.45%,七檔沒有一檔例外,代表這不是某一兩檔股票自己的狀況。
意思是這條線不只跟你看的是哪一檔有關,也跟你算的是哪一段期間有關。用 2015 到 2020 年算出來的界線,套到 2021 年之後會太緊,一直被誤報。
站得住的是高低順序。不管用整段、前半還是後半算,波動大的那幾檔都排在前面,名次相關是 0.89 與 0.96。所以「哪些股票需要比較寬的界線」這個判斷可以外推,「界線的數值是多少」不行,要定期重算。
怎麼幫手上的股票訂一條線
知道固定門檻沒有用之後,實際上怎麼做?
第一步,用那一檔自己的歷史算。把過去兩三年的收盤價與 20 日均線相減再除以均線,得到一整串乖離率,取絕對值排序之後找出最極端的那 5% 落在哪裡,那個數字就是這一檔的參考線,做法跟我們上面做的完全一樣。
第二步,每年重算一次。上一節的資料顯示這條線會漂,而且是整批一起漂。放著不動的話,市場一變熱,你的警示就會從「偶爾響」變成「天天響」。
第三步,把它當成提醒而不是買賣訊號。乖離拉大只說明股價跟近期平均拉開了,它沒有告訴你接下來會回頭還是繼續走。想知道這一類指標拿來當進出場依據的結果,站上的RSI 指標與布林通道兩篇都做過長期實測,結論相當一致。
這份實測要先講清楚的三件事
第一,這七檔是舉例,不是選股清單。挑的標準是台灣人認得出來、而且波動高低分得開。所以「哪一檔的乖離率比較大」沒有任何好壞的意思,它只是描述這幾家公司的股價性格。
第二,用的是沒有還原配息的收盤價。會這樣選有兩個原因。看盤軟體上顯示的乖離率就是用這種價格算的,你自己按出來才對得上。另外我們實測發現這個資料源的台股配息還原並不可靠,0050 的含息與純價格年化只差 0.05%,而它的配息率大約 3%。為了確認結論沒有被這個選擇左右,我們用含息還原價把七檔的過熱線全部重算一次,最大只差 0.37 個百分點。
第三,20 日只是最常見的設定,不是唯一的。週期拉長,界線就會變寬,因為股價有更多時間跟均線拉開。所以看到別人講乖離率的數字,除了問「哪一檔」,還要問「幾日的」。
常見問題
乖離率怎麼算?
把今天的收盤價減掉 N 日均線再除以那條均線,通常寫成百分比。舉例來說,一檔股票今天收 110 元,而它最近 20 個交易日的平均收盤價是 100 元,那麼它的 20 日乖離率就是 10%。收 90 元的話就是負 10%。數字為正代表股價跑在均線上面,為負代表跌到均線下面。台灣的看盤軟體預設多半是 20 日與 60 日,分別對應月線與季線。
乖離率多少算過熱?
沒有一個所有股票共用的數字。我們用七檔台股、2015 年到 2026 年的日收盤價實測,各自最極端的那 5% 落在 3.19% 到 12.82% 之間,差了四倍。同一個 10% 的門檻,聯發科踩到 289 天,中華電在 2,832 個交易日裡一天都沒有。合理的做法是用那一檔自己的歷史算出它的參考線,而不是套一個網路上看到的固定值。
為什麼中華電的乖離率總是很小?
因為它的股價本來就不太動。電信業的營收與獲利穩定,受景氣影響有限,股價跟著大盤起伏的幅度也小,所以它很少跟自己的均線拉開。我們實測它 20 日乖離率的中位數只有 0.84%,最極端的一次是 7.0%,而聯發科的中位數就有 3.52%。這不代表中華電比較好或比較差,它描述的是這家公司股價的性格。
乖離率可以拿來買賣嗎?
把它當提醒比當訊號合理。乖離拉大只說明股價跟近期平均拉開了,它沒有告訴你接下來會回頭還是繼續走,而且我們實測發現界線本身會隨時間移動,七檔的後半段全部比前半段高。站上的 RSI 指標與布林通道兩篇對這一類超買超賣指標做過長期實測,勝率看起來都很漂亮,長期報酬卻贏不了單純買進持有,可以一起看。
20 日和 60 日的乖離率該看哪一個?
看你關心的是哪一段時間。20 日大約一個月,反應快、數字跳動大。60 日大約一季,比較平滑,界線也會比較寬,因為股價有更多時間跟均線拉開。兩個都不是標準答案,重點是講數字的時候要一起講清楚用的是幾日,不然同一個 8% 可能代表完全不同的狀況。
負乖離很大是不是就是買點?
資料沒有支持這種讀法。負乖離大只代表股價跌到均線下面一段距離,原因可能是市場過度反應,也可能是這家公司真的出了實質的問題,而乖離率本身完全分不出來這兩者,它看到的只有價格。另外要注意界線會漂,市場整體變動大的時期,看起來很誇張的負乖離其實只是那段期間的常態。把它當成「值得去看一下發生什麼事」的提醒,比當成買進理由安全。
這個實測用的是還原權息的價格嗎?
沒有,用的是未還原配息的收盤價。原因有兩個。看盤軟體上顯示的乖離率就是這樣算的,讀者自己按出來才對得上。另外我們實測發現這個資料源的台股配息還原不可靠,0050 的含息倍數與純價格倍數年化只差 0.05%,而它的配息率大約 3%。為了確認結論沒有被這個選擇左右,我們用含息還原價把七檔的過熱線重算一次,最大只差 0.37 個百分點,高低順序完全沒變。分割的部分已經還原過,全序列掃過沒有任何一天出現超過 30% 的跳空。
延伸閱讀

RSI 指標是什麼?
布林通道是什麼?
系統性風險和非系統性風險差在哪?


