可轉換公司債
已通過驗證2009 年底起台股可轉債逐日面板:轉換價格、賣回權、強制贖回、發行餘額與票面利率,可轉債研究與套利的基礎資料。
資料快照截至 2026-08-24
可轉換公司債(CB)是公司發行的債券,持有人可以在約定期間內用轉換價格把債券換成股票:股價漲過轉換價,它跟著股票走;股價跌,它還有債券的面額與賣回權撐底。這份資料把 2009 年底以來全市場每一檔可轉債的條款與狀態整理成逐日面板:轉換價格、賣回權、強制贖回、發行餘額、票面利率與轉債參考價,搭配另一份成交行情資料,每個交易日更新。
這份資料裡有什麼
可轉債發行資訊(cb_published_info)每列是「一檔 CB × 一天」的狀態快照,累計超過 110 萬列,欄位包含轉換價格與生效日、最近賣回權起迄與價格、強制贖回條款、原始發行總額與上月底發行餘額、轉債參考價格與轉換標的股票價格。成交面另有可轉債成交資訊(cb_price),涵蓋 2007 年以來的每日行情。一行取出,完成安裝設定後登入即可:
顯示程式碼
finlab.login()
df = data.get("cb_published_info")因為是逐日面板,任何一天的「當時轉換價格」都查得到,做歷史研究不會被後來的條款調整污染。
怎麼判讀這份資料

上圖是全市場可轉債流通發行餘額:2019 年年均約 1,260 億元是近年低點,之後一路擴張,2026 年最新約 3,138 億元、流通中 383 檔,都是這條序列的高點。可轉債市場的冷熱跟股市多頭高度相關:股市好,公司愛發(等於用溢價賣未來的股票)、投資人愛買(下有保底上有轉換權)。
再記兩個台股 CB 的結構性事實。第一,目前流通的 383 檔可轉債,票面利率全部是零:買 CB 領不到利息,你買的實質上是「債券保底 + 一個股票選擇權」,評價的核心永遠是轉換權的價值。第二,目前約 32% 的 CB 處於價內(標的股價高於轉換價)、76% 的轉債參考價在面額 100 元之上,這兩個比例可以當成 CB 市場的溫度計,多頭越熱佔比越高。
用這份資料最容易踩的兩個陷阱
第一個陷阱:用現在的轉換價格看歷史。轉換價格不是固定的,除權息會重設、特定條件下公司還會下修;回測任何轉換價值策略,必須用「當天的轉換價格」對齊,這正是逐日面板存在的理由,拿最新條款套整段歷史會做出不存在的套利機會。
第二個陷阱:忽略流動性。可轉債多數時間成交清淡,掛單價差大,cb_price 的行情矩陣是稀疏的;回測若假設任何一天都能按收盤價進出,績效會過度樂觀,同樣的課在鉅額交易與回測方法的什麼是回測都有展開。
怎麼接上選股策略
可轉債資料常見的兩個研究方向:一是 CB 本身的評價與套利(價內外、轉換溢價率、賣回收益率的橫斷面比較);二是把「公司有流通中的 CB」當成個股的事件與籌碼背景,例如轉換價下修、強制贖回觸發前後的股價行為,搭配重訊公告可以還原事件時間軸。想把想法接成可回測的流程,可從台股選股完整指南入手。
怎麼自己取得這份資料
把市場規模與價內比例整理出來,只要幾行:
顯示程式碼
from finlab import data
import pandas as pd
df = data.get("cb_published_info")
d = pd.to_datetime(df["date"], errors="coerce")
bal = pd.to_numeric(df["上月底發行餘額"], errors="coerce")
total = bal.groupby(d).sum() / 1e8 # 全市場 CB 發行餘額(億元)要看單一 CB 的條款歷史,用 df[df["symbol"] == "<債券代號>"] 過濾。這份資料的涵蓋年限、筆數與更新狀態,本頁下方有即時健檢可以查;不想寫程式的話,頁面下方可以把取資料、算轉換溢價率與畫圖直接交給 AI 完成。
可轉換公司債包含的資料欄位
這個分類是一張完整的資料表,取出整張表後再挑欄位使用。完整涵蓋範圍與更新狀態如下:
- 欄位數
- 26 欄
- 時間範圍
- 2007-01-02 ~ 2026-08-24
- 更新頻率
- 每日更新
- 更新頻率
- 每日更新
- 狀態
- 已通過驗證
data.get("cb_published_info")真實數字與取得程式碼
上面的圖與下面的數字都是用 finlab 一行程式直接跑出來的真實資料(截至 2026-08-24),不是示意圖。你也可以自己跑一次。
| 日期 | CB 發行餘額合計(億元) |
|---|---|
| 2026-08-17 | 3,109 |
| 2026-08-18 | 3,148 |
| 2026-08-19 | 3,148 |
| 2026-08-20 | 3,148 |
| 2026-08-21 | 3,138 |
| 2026-08-24 | 3,138 |
from finlab import data
import pandas as pd
df = data.get("cb_published_info")
d = pd.to_datetime(df["date"], errors="coerce")
bal = pd.to_numeric(df["上月底發行餘額"], errors="coerce")
total = bal.groupby(d).sum() / 1e8 # 全市場 CB 發行餘額(億元)
total.plot()如何取得可轉換公司債
不會寫程式也沒關係,把下面這句話交給你的 AI,它會帶你完成設定並做出第一個策略。
30 秒,用 AI 跑出你的第一個台股回測
把這句話貼給你的 AI,它會裝好 FinLab、抓台股資料,跑出一份你能下載的回測。
告訴你的AI:
幫我設定 FinLab,取得「可轉換公司債」資料,挑一個欄位畫出走勢圖,並示範一個用它選股的回測,請讀:https://finlab.finance/setup?relatedUrl=/data/convertible-bonds
想自己寫程式?看取得資料的程式碼
finlab Python 套件用一行 data.get() 就能取得這些資料;第一次使用時 finlab.login() 會自動引導登入,不需要手動處理 token。
from finlab import data
df = data.get("cb_published_info:")
df.tail()用可轉換公司債跑出的研究
手把手教學如何把 FinLab 寫好的選股策略部署到 Google Cloud Platform,串接永豐證券 API 完成全自動下單。本篇上集帶你開戶、簽 API 同意書、申辦交易憑證、打包策略函式,並規劃 Cloud Function 與 Cloud Scheduler 的排程藍圖。
櫃買中心爬蟲教學:用 Python 抓取上櫃(OTC)股票收盤價櫃買中心(TPEX,OTC 上櫃市場)股價爬蟲教學:用 Python 的 requests 抓取上櫃公司每日收盤價 CSV、pandas StringIO 讀檔、整理 index 與 columns、處理雙引號雜訊,新手也能輕鬆建立自己的上櫃股價資料表並存檔讀檔,是 Python 量化選股流程中爬蟲的入門第一步。
回測是什麼?量化投資回測入門:怎麼做、要看哪些數字、有哪些陷阱回測是用歷史資料模擬一套交易策略過去的表現,在投入真錢前先評估報酬與風險。本文用台股實例講回測怎麼做、要看哪些數字(CAGR、最大回撤、夏普值)、為什麼會失真(過度擬合、生存者偏差、前視偏誤),以及一個被回測照出年化僅 8.8%、遠輸大盤的平庸策略對照。
超簡單安裝 Python 教學:用 Anaconda 開始 Python 投資分析從零開始的 Python 投資分析教學:用 Anaconda 一次裝齊 Python 與 Jupyter Notebook,理解 conda 與 pip 安裝套件流程,並寫下第一行 hello world,為後續台股每日爬蟲、選股與回測打底,新手不必再怕黑色終端機與指令繁瑣。
用 Python 投資加密貨幣:台幣入金加密貨幣完整教學 (Part 9)用 Python 投資加密貨幣系列第 9 篇實戰台幣入金:比較 Maicoin、BitoEx、MAX、BitoPro 四大平台的買賣方式與手續費差異,再示範 Binance P2P 與買入 USDT 轉入 Binance 的完整流程,幫助新手避開最貴的入金管道。
量化分析是什麼?和質化分析差在哪?方法、台股實例與三個盲點量化分析是什麼?量化分析(quantitative analysis)用數據與統計檢驗投資想法,質化分析(qualitative analysis)靠對公司與產業的理解下判斷。本文用對照表拆解兩者差異與常見方法,並以真實台股回測示範:「低本益比等於買便宜」拿去選股,夏普比率只有 0.05。
更多相關研究(8 篇)
相關資料分類
本頁資料涵蓋範圍與更新時間以實際資料為準,僅供研究與教學參考,不構成任何投資建議。
回資料庫總覽