本文提供研究結果,沒有推薦這些買賣規則。想自行重跑,可先 設定 FinLab 環境,再 下載研究程式(.py);其他檔案見 研究下載區。
0050搭配00720B投資等級公司債ETF做股債配置,2018到2026年9組參數全部沒贏0050含息。0050六成、00720B四成、每季調回比例的原設定年化15.12%、日夏普1.07、最大回撤-28.72%;同期0050含息是23.21%、1.11、-33.96%。同樣的六四比例換成美國公債ETF 00679B,日夏普1.09,比公司債版本還好一點。本文以反面教材為主。
公司債的殖利率比公債高,00720B上市以來單獨持有年化2.20%,也高於00679B上市以來的-1.12%。但放進股債配置裡,它的問題在0050大跌那幾週:2018年2月以來0050週報酬最差的23週,00720B平均跌1.82%,只有三成的週上漲;00679B平均只跌0.07%,過半的週上漲。分散股票風險的那一塊,正好是公司債比較弱的地方。
00720B是什麼:長天期投資等級美元公司債
00720B 元大投資級公司債在台灣證交所掛牌、以台幣交易,追蹤彭博美國20年期以上BBB級公司債流動性指數,持有到期20年以上、評等BBB級的投資等級美元公司債,沒有做匯率避險。它的報酬來自三塊:美國長期利率變化帶動的債價、公司債比公債多出來的信用利差,以及美元兌台幣的匯率。前兩塊的方向不一定相同:經濟轉差時,公債殖利率通常下降、價格上漲,但公司的違約風險上升,信用利差擴大,公司債價格可能反而下跌。
| ETF | 報酬 |
起點至2026-11-11年化 |
最大 |
日夏普 | 與0050週報酬 |
|---|---|---|---|---|---|
| 00720B | 2018-02-02 | 2.20% | -28.88% | 0.24 | 0.23 |
| 00679B | 2017-01-18 | -1.12% | -46.21% | -0.02 | -0.04 |
| 0050 | 2007-04-24 | 14.17% | -55.75% | 0.75 | — |
Merton(1974)的模型把公司債看成「無風險債券減去一個公司資產的賣權」:公司價值下跌時,賣權變得值錢,債券價值就跟著掉。這是公司債和股票會一起漲跌的理論來源。Collin-Dufresne、Goldstein與Martin(2001)發現信用利差的變化和股市報酬、市場波動有關,但這些變數只解釋一小部分;剩下的大多是所有公司債一起變動的共同因素,和個別公司的狀況關係不大。上表00720B跟0050的週報酬相關0.23,美國公債是-0.04,方向和這些研究一致。
0050+00720B怎麼測
0050占50%、60%或70%,其餘放00720B;每月、每季或每年最後一個交易日把比重調回目標,共9組。原參數在看結果前定為0050六成、00720B四成、每季調整。期間從00720B可交易的2018-02-01開始,9組同一天建倉,到2026-11-11。
同一段期間,另外把00720B換成美國公債ETF 00679B與00687B,用同樣的六四比例與每季調整並列。這個並列在開跑前就寫好,只用來比較,不計入過關條件。
「贏」的定義是日夏普高於同期0050含息。日夏普是日報酬平均除以標準差再乘√252,不扣無風險利率。三項驗證都要過:鄰近9組至少7組贏、原參數前後半段各自贏、全段用sim()預設成本也贏。
公司債ETF回測結果
手機閱讀表格時,可左右滑動查看全部欄位。
期間2018-02到2026-11,三個六四配置都在每季最後一個交易日調回比例。
| 組合 | 年化報酬 | 日夏普 | 最大 |
年化波動 |
|---|---|---|---|---|
| 0050 |
15.12% | 1.07 | -28.72% | 14.64% |
| 0050 |
14.44% | 1.09 | -29.41% | 13.63% |
| 0050 |
14.48% | 1.10 | -29.29% | 13.61% |
| 0050 |
23.21% | 1.11 | -33.96% | 21.65% |
互動報告是原參數的0050六成、00720B四成,沒有從9組挑最好的一組。報告內建的夏普有自己的無風險利率慣例,本文比較統一用不扣無風險利率的日夏普。
公司債版本的年化比公債版本多0.68個百分點,波動也多了1個百分點,日夏普反而較低。最大回撤三個版本都在-29%左右,比0050淺約5個百分點。如果只看年化報酬,會以為公司債比較好;把波動算進去,三個債券版本都沒有贏0050,公司債排在最後。
9組參數全部落後0050
9組日夏普在1.00到1.10之間,同期0050是1.11,最接近的是0050七成、每季調整的1.099。0050比重越高,日夏普越接近0050,最大回撤也越接近0050:五成的三組回撤約-27.6%,七成約-30.0%。結果是一條很平順的斜線,沒有哪個比例特別突出,也就是說,這段期間加公司債只是把0050和一個低報酬資產混在一起。
再平衡頻率的影響小於0.03的日夏普。每季調整在三種比重下都略好於每月與每年,和同一批00687B、00679B搭0050的結果一樣;差距太小,不足以支持「每季最好」這種一般化的結論。
前後兩段與2020年3月
原參數交易日對半切:前半段(2018-02到2022-06)日夏普0.66,0050是0.73;後半段(2022-06到2026-11)1.408,0050是1.413,差距不到0.01但仍然落後。拿掉六四配置報酬最好的2026年,日夏普0.94,0050是0.98。三項驗證沒有一項通過。
| 年份 | 0050 |
00720B |
00679B |
0050+00720B | 0050+00679B |
|---|---|---|---|---|---|
| 2019 | 33.52% | 26.44% | 13.71% | 31.00% | 25.91% |
| 2020 | 31.14% | 6.34% | 8.11% | 21.61% | 25.77% |
| 2021 | 21.92% | -2.33% | -6.42% | 12.11% | 10.49% |
| 2022 | -21.37% | -15.53% | -22.08% | -18.97% | -21.40% |
| 2023 | 27.52% | 8.62% | 3.09% | 19.74% | 17.32% |
| 2024 | 48.64% | 4.15% | -2.94% | 29.91% | 26.57% |
| 2025 | 36.83% | 0.73% | -0.62% | 22.11% | 21.81% |
2018年00720B從2月起算,2026年到11月11日,表中略去這兩個不完整的年度。2020年疫情崩跌時,0050從1月14日的高點跌到3月19日,跌了28.22%;同一段期間00720B跌20.98%,00679B還上漲6.88%,公司債在信用恐慌中跟著股票一起跌。2022年升息,00720B跌15.53%,比長天期公債的22.08%少;兩者的到期結構、票息與利差變化都不同,本研究沒有拆開各自的貢獻。兩種債券吃虧的時點不同:這段期間公司債在股市崩跌時吃虧,公債在通膨升息時吃虧。
0050大跌那幾週,公司債沒有撐住
這一節只做描述。2018-02-09到2026-11-06共445週,挑出0050週報酬最差的5%(23週),看同一週的債券ETF。
| 指標 | 0050 | 00720B | 00679B | 00687B |
|---|---|---|---|---|
| 最差23週平均週報酬 | -5.90% | -1.82% | -0.07% | -0.04% |
| 最差23 |
— | 30% | 57% | 57% |
| 445週與0050 |
— | 0.23 | -0.04 | -0.04 |
股債配置的目的之一,是讓債券在股票大跌時少跌或上漲。這段期間美國公債ETF大致做到持平,00720B平均仍跌了將近兩個百分點。公司債的報酬裡藏著一部分股票風險,殖利率較高是承擔這個風險的補償,和用債券分散股票風險的目標互相衝突。
回撤圖上,兩種六四配置的走勢接近,最深的回撤都出現在2022年。公司債版本在2020年3月跌得比較深,美債版本在2022年跌得比較深。兩者都比0050的-33.96%淺,這是股票只占六成的直接結果。
回測方法與限制
資料截至2026-11-11,實跑日2026-11-12,FinLab 2.3.8,價格來源etl:adj_close還原收盤價。參數格、起始日、勝出條件與並列比較都在看任何績效以前寫定,之後沒有更改。
- 交易成本:
sim()預設手續費買賣各0.1425%、賣出證交稅0.3%,沒有打折。實際上台灣股票型ETF證交稅是0.1%,債券ETF目前停徵,這裡的成本偏保守。不計成本時原參數日夏普1.076,稅改0.1%是1.072,都沒有贏0050。 - 滑價與容量: 未另設滑價,未估容量。00720B的成交量比0050小,大額委託可能受買賣價差與折溢價影響,回測無法反映。
- 周轉率: 每年單邊約調整9.0%的資產,全期72筆交易。
- 權重: 永遠滿倉,沒有現金、沒有借款;0050與00720B以外沒有其他持有。
- 前視與股票池: 只用兩檔ETF,不涉及選股與下市;調整比例只用當天收盤已知的價格,隔日收盤成交。
- 樣本內外: 全段樣本內。00720B上市不到九年,只經歷一次大型信用事件(2020年3月),前後半段的比較只是穩定度檢查,不能當成樣本外證據。
用AI重跑公司債配置
透過上方的FinLab設定入口,讓Claude Code、Codex或Gemini CLI載入FinLab skill,把下載的研究程式交給它:「用這份research.py重跑0050搭00720B的9組參數與同期美債並列,保留2026-11-11截止日與預設成本。」下面是原參數的核心寫法。
顯示程式碼
import pandas as pd
from finlab import data
from finlab.backtest import sim
prices = data.get("etl:adj_close")[["0050", "00720B"]].ffill()
days = prices.loc["2018-02-01":"2026-11-11"].index
# 0050 六成、00720B 四成
position = pd.DataFrame({"0050": 0.6, "00720B": 0.4}, index=days)
# 第一天建倉,之後每季最後一個交易日調回比例
quarter_ends = days.to_series().groupby(days.to_period("Q")).last()
rebalance = pd.DatetimeIndex(sorted({days[0], *quarter_ends}))
report = sim(position, resample=rebalance, upload=False)想把00720B換成00679B比較,只要改prices與position兩行的代號。日夏普的計算方式見夏普比率,最大回撤的定義見量化詞彙表,回測流程與偏差可看回測方法。
公司債ETF常見問題
00720B和美債ETF哪個適合搭0050? 在2018到2026年這段期間,同樣六四比例下,公債版本日夏普1.09到1.10,公司債版本1.07。公司債年化多0.68個百分點,但波動也較大,0050大跌時分散效果較差。
公司債ETF為什麼會跟股票一起跌? 公司債的價格包含信用利差。市場恐慌時投資人擔心違約,利差擴大,債價下跌,這和股票下跌的原因相同。2020年1月14日到3月19日0050跌28.22%,00720B也跌了20.98%。
投資等級公司債不是很安全嗎? 投資等級代表違約機率相對低,價格仍會隨利率與利差波動。00720B這段期間最大回撤-28.88%,持有長天期債券的利率風險也很大。
0050要配多少公司債? 本研究9組都沒有贏0050,比例越高,日夏普離0050越遠。本文不提供配置建議;比例應該依自己能承受的回撤決定,並了解公司債在股市崩跌時的表現。
再平衡頻率重要嗎? 每季調整略好於每月與每年,差距不到0.03的日夏普,比股票比重的影響小很多。
這個結果和美國的股債配置研究一樣嗎? 不一樣。本研究用台幣計價,報酬包含美元兌台幣匯率。美元計價、對照QQQ的版本可看資產配置回測。
同一批研究還有黃金ETF 00635U搭0050與00632R反1避險。用台股ETF做權重最佳化的研究見投資組合最佳化,用美股ETF分配風險的版本見風險平價組合。量化研究的整體方法可從量化交易指南開始,AI代理使用說明介紹如何讓AI重跑研究。
研究下載
| 檔案 | 內容 |
|---|---|
| 下載 |
同批四篇共用,設定FinLab後交給AI代理重跑 |
| 下載 |
公司債與美債六四配置、00720B、00679B與0050含息每日淨值 |
| 下載 |
9組參數、分段、成本、美債並列與週報酬比較 |
| 開啟 |
瀏覽器 |
投資有風險,過去績效不代表未來表現。本內容僅供教學與研究,不構成投資建議,請依個人風險承受度審慎評估。本文沒有推薦買賣特定ETF,也不保證歷史上的股債關係會延續。
最後更新:2026-11|回測區間:2018-02-01至2026-11-11|作者:FinLab量化研究團隊(經量化研究員審閱)。團隊以FinLab資料維護台股、美股的可重跑研究。
FinLab AI
想建立自己的策略?
用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案
免費開始







