平衡豬再平衡計算規則:為什麼會建議這個買賣股數?(附兩組完整算例)
平衡豬不判斷哪一檔會上漲,也不推薦你的股債比例。計算器做的事情只有一件:依你輸入的標的、目標比例、持有股數、市價、這次要投入(或提領)的金額與交易成本設定,把「調回目標比例」換算成可以直接下單的整數股數。
這一頁把計算器的每一個判斷寫清楚,你可以拿自己的數字逐步驗算。股債平衡計算器、完整版計算器與 Premium 的每月提醒信,用的都是同一套規則。
先說結論
- 偏離在容忍度以內:不賣出任何持股,只把這次的新資金補給比例落後的標的(智慧存股)。
- 任一標的偏離超過容忍度:把每一檔拉回目標市值,超配的賣出、不足的買進(強制修正)。新資金夠多時,也可能只有買單。
- 每一筆買單都先預留手續費,賣單另外預留證交稅;股數一律無條件捨去到整數。
- 不會超出可用資金:只買不賣時只用這次的投入;同時買賣時,可用資金是「這次投入+閒置資金+賣出淨額」,超出就一股一股少買。
- 委託清單先賣後買,1,000 股以上換算成張,不足 1,000 股的零股另外列。
偏離怎麼算:看每一檔,單位是「百分點」
- 每一檔的市值 = 市價 × 持有股數,全部加起來是目前的總市值。
- 每一檔的目前佔比 = 市值 ÷ 總市值。
- 每一檔的偏離 = 目前佔比 − 目標佔比,單位是百分點。
- 取所有標的中偏離(絕對值)最大的那一檔,和你設定的容忍度比較。超過才進入強制修正,剛好等於不算超過。
幾個容易誤會的地方:
- 百分點不是百分比。目標 60% 的股票 ETF 漲到 63%,是偏離 +3 個百分點,不是「多了 5%」。預設容忍度 5,指的是 ±5 個百分點,也就是 55%~65% 之間都算在容忍度內。
- 看的是每一檔,不是股票、債券的合計。如果股票分成兩檔 ETF,任何一檔自己偏離超過容忍度,就會觸發強制修正。
- 用的是這次投入之前的持股。偏離判斷不包含這次要投入的錢。
- 還沒有任何持股時不算偏離。第一次投入一律走只買不賣,依目標比例分配。
- 每一檔都要有市價,市價是 0 時算不出佔比,計算器會請你先填入市價。
容忍度要設多少,見〈偏差容忍度怎麼設〉。
模式一:偏離在容忍度以內,只用新資金補
- 投入後的總市值 = 目前總市值 + 這次投入。
- 每一檔的目標市值 = 投入後的總市值 × 目標比例。
- 每一檔的缺口 = 目標市值 − 目前市值,只看大於 0 的。
- 這次的投入依各檔缺口的比例分配:缺口越大,分到越多;已經超過目標的那一檔分不到錢。
- 每一檔都沒有缺口時(剛好都在目標上),就照目標比例分配。
這個模式只用這次的投入,不動用閒置資金,也不賣任何持股,所以不會產生證交稅。買完剩下的零錢(不夠買 1 股的部分)留在帳戶裡,不會算進閒置資金。
模式二:偏離超過容忍度,同時買賣拉回目標
- 每一檔的目標市值同樣是「投入後的總市值 × 目標比例」。
- 目標市值減目前市值:大於 0 的買進,小於 0 的賣出。
- 可用資金 = 這次投入 + 閒置資金 + 賣出淨額(賣出成交金額扣掉手續費與證交稅)。
新資金夠大時,所有標的的目標市值都可能高於目前市值,這時強制修正也只有買單,不用賣。〈實戰:006208+00679B 股債 60/40〉的情況二就是這種例子。
股數怎麼取整
買進:分到的金額要同時付成交金額與手續費,所以股數取下面兩個數字中較小的那一個,再無條件捨去到整數:
- 分到的金額 ÷(市價 ×(1 + 0.1425% × 券商折扣))
- (分到的金額 − 單筆最低手續費)÷ 市價
賣出:差額 ÷ 市價,無條件捨去到整數,而且不會超過你的持股。
手續費與證交稅:
- 手續費 = 成交金額 × 0.1425% × 券商折扣,元以下捨去;低於單筆最低手續費時,以最低手續費計。買進、賣出都收。
- 證交稅 = 賣出成交金額 × 這一檔的證交稅率,元以下捨去。只有賣出才收,股票 0.3%、股票型 ETF 0.1%,債券 ETF 目前停徵(填 0)。
分到的金額扣掉手續費後買不到 1 股時,這一檔本次不下單,結果會寫明原因。
張與零股:1,000 股是一張。結果會把 1,000 股以上的部分換算成張,不足 1,000 股的零股另外列出,因為台股的整股和零股要分開下單。零股的交易時間與規則見〈零股怎麼買〉。
資金不夠時:一股一股少買
強制修正的股數是照目標市值算的。買單已經預留了手續費,但賣出的錢還要扣手續費與證交稅、賣出股數也是捨去到整數,加起來可能讓買單總額比可用資金多一點。
這時計算器會一次少買 1 股:每次挑「執行後最接近、或已經超過目標」的那一檔減少,對比例的影響最小,重複到買進總額(含手續費)不超過可用資金為止。被減少的標的,結果會註明「少買幾股」。
委託順序:先賣後買
只有同時買賣時才會有賣單。賣出的款項可以用來支應買進的交割款,所以委託清單先列賣出、再列買進。建議確認賣單成交後再下買單:如果賣單沒有成交、或成交價比試算低,買進的錢可能不夠。
算例一:偏離 2.9 個百分點,只買債券
以下數字是示意,標的與價格都不是推薦。設定:目標比例股票型 ETF 60%、債券型 ETF 40%;容忍度 5;手續費 6 折、最低 1 元;股票型 ETF 證交稅 0.1%、債券型 ETF 0%;這次投入 30,000 元,沒有閒置資金。
| 標的 | 市價 | 股數 | 市值 | 目前佔比 | 偏離 |
|---|---|---|---|---|---|
| 股票型 ETF | 100.00 | 6,300 | 630,000 | 62.87% | +2.87 |
| 債券型 ETF | 30.00 | 12,400 | 372,000 | 37.13% | −2.87 |
| 合計 | 1,002,000 |
最大偏離 2.87 個百分點,沒有超過 5,走只用新資金補:
- 投入後的總市值 = 1,002,000 + 30,000 = 1,032,000。
- 股票型 ETF 的目標市值 = 1,032,000 × 60% = 619,200,已經有 630,000,沒有缺口。
- 債券型 ETF 的目標市值 = 1,032,000 × 40% = 412,800,缺口 40,800,是唯一有缺口的標的,分到全部的 30,000 元。
- 買進股數:30,000 ÷(30 × 1.000855)= 999.1,捨去後是 999 股;成交金額 29,970 元,手續費 29,970 × 0.0855% = 25.6,捨去後 25 元,合計 29,995 元,沒有超過 30,000 元。
| 標的 | 動作 | 股數 | 成交金額 | 手續費 | 證交稅 |
|---|---|---|---|---|---|
| 股票型 ETF | 不動 | 0 | 0 | 0 | 0 |
| 債券型 ETF | 買進 | 999(零股) | 29,970 | 25 | 0 |
只差 1 股就滿一張,是因為要先預留手續費。執行後股票型 ETF 的佔比從 62.87% 降到 61.05%,沒有賣股,也沒有證交稅;剩下的 5 元零錢留在帳戶裡。
算例二:偏離 8 個百分點,先賣後買
同樣的設定,但股票大漲後持股變成這樣,這次投入 20,000 元:
| 標的 | 市價 | 股數 | 市值 | 目前佔比 | 偏離 |
|---|---|---|---|---|---|
| 股票型 ETF | 100.00 | 7,000 | 700,000 | 67.96% | +7.96 |
| 債券型 ETF | 30.00 | 11,000 | 330,000 | 32.04% | −7.96 |
| 合計 | 1,030,000 |
最大偏離 7.96 個百分點,超過 5,走強制修正:
- 投入後的總市值 = 1,030,000 + 20,000 = 1,050,000。
- 股票型 ETF 的目標市值 630,000,要賣出 70,000 元,也就是 700 股。手續費 70,000 × 0.0855% = 59.85,捨去後 59 元;證交稅 70,000 × 0.1% = 70 元;賣出淨額 69,871 元。
- 債券型 ETF 的目標市值 420,000,要買進 90,000 元。預留手續費後是 2,997 股,成交金額 89,910 元、手續費 76 元。
- 可用資金是這次投入 20,000 元加上賣出淨額 69,871 元,共 89,871 元;買進 2,997 股要 89,986 元,多了 115 元。
- 一股一股少買:少買 4 股後是 2,993 股,成交金額 89,790 元、手續費 76 元,共 89,866 元,不超過 89,871 元。
| 順序 | 標的 | 動作 | 股數 | 成交金額 | 手續費 | 證交稅 |
|---|---|---|---|---|---|---|
| 1 | 股票型 ETF | 賣出 | 700(零股) | 70,000 | 59 | 70 |
| 2 | 債券型 ETF | 買進 | 2,993(2 張+993 股) | 89,790 | 76 | 0 |
債券型 ETF 的 2,993 股要分成整股 2 張與零股 993 股兩筆委託。執行後股票型 ETF 630,000 元、債券型 ETF 419,790 元,股債比 60.01 : 39.99,幾乎回到目標;交易成本合計 205 元。
提領時怎麼算
把單期金額切成「提領」時,來源二選一,不會混用:
- 從閒置資金領:只動用閒置資金,不夠就提示,不會賣任何持股。
- 賣出持股:依「目前佔比 − 目標佔比」由大到小,從最超配的標的開始賣,每一檔賣到淨額(扣手續費與證交稅)足夠為止。股數同樣捨去到整數,所以實際到手可能比預計少一點,結果會寫明差多少。賣股的錢視為已經領出,不會算進閒置資金。
退休提領的策略見〈退休提領期怎麼再平衡〉。
行情資料、更新時間與異常處理
資料來源:註冊帳號的台灣上市櫃股票與 ETF 收盤價,來自臺灣證券交易所(TWSE)與證券櫃檯買賣中心(TPEx)每天公布的收盤資料(政府資料開放授權)。「自動帶入配息」用的是兩個單位公布的除權除息計算結果,入帳月份以除息日的次月估計。
更新時間:週一到週五下午 2 點 5 分起,每 30 分鐘檢查一次,兩個單位公布當天的收盤資料後就更新,最晚檢查到晚上 8 點 35 分。這是收盤價,不是盤中即時行情。遇到休市、資料來源延遲或暫時缺漏時,會沿用最近一次取得的收盤價;超過 5 天沒有新收盤價的代號(例如暫停交易),不會再自動套用舊的價格。
自己輸入市價(例如限價):註冊帳號的市價欄也可以直接改,例如盤中想用打算掛的限價試算。輸入的價格會一直用到下一個收盤價出來(下一個交易日收盤後),那時自動換回收盤價;部位表格會標示「手動」,也可以按「恢復收盤價」立刻換回。
試用模式與工具頁:沒有登入時,市價由你自己填,計算器不會自動更新。
結果為什麼可能和實際成交不同:試算以收盤價或你填的市價計算,沒有包含盤中的價格變動、滑價、委託沒有成交、券商個別的收費規則(例如零股另外的手續費下限),以及之後的制度變更。實際的手續費、證交稅與成交金額,以券商的成交單與主管機關的公告為準。
發現資料不正確時:請到聯絡我們來信,附上股票或 ETF 代號、日期、頁面網址、你看到的數字,以及可以核對的證交所、櫃買中心頁面或截圖。我們會先檢查資料來源、更新排程與顯示的邏輯。
這些規則怎麼確認
計算引擎的每一個規則(偏離判斷、缺口分配、取整、手續費下限、少買到不超出預算、提領的賣出順序)都有對應的自動化測試,用已知答案的數字驗算,程式每次改版都要全部通過才會上線。規則有任何改變時,會更新這一頁與頁首的更新日期。
本頁只說明數學試算的規則,不構成投資、證券交易或稅務建議。